Implement a very botched input scancode mapping.

This commit is contained in:
2026-02-02 23:16:05 +03:00
parent 027ebe8dbd
commit 3b9fa5c9fb
2 changed files with 59 additions and 1 deletions

View File

@@ -34,7 +34,25 @@ namespace Dashboard.Events
public enum ScanCode public enum ScanCode
{ {
// TODO: // TODO: this array is from ReFuel, see if this makes any sense.
Esc, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
Tilde, _1, _2, _3, _4, _5, _6, _7, _8, _9, _0, Minus, Equals, Backspace,
Tab, Q, W, E, R, T, Y, U, I, O, P, LBracket, RBracket, Backslash,
CapsLock, A, S, D, F, G, H, J, K, L, Semicolon, Quote, Enter,
LShift, Z, X, C, V, B, N, M, Dot, Comma, Slash, RShift,
LCtrl, LWin, LAlt, Space, RAlt, RWin, Menu, RCtrl,
PrtSc, ScrollLock, PauseBreak,
Insert, Delete, Home, End, PgUp, PgDown,
Up, Down, Left, Right,
NumLock, NumDiv, NumMul, NumSub, NumAdd, NumEnter, NumDecimal,
Num0, Num1, Num2, Num3, Num4, Num5, Num6, Num7, Num8, Num9,
IsoB00,
KeysMax,
} }
public class KeyboardButtonEventArgs(KeyCode keyCode, ScanCode scanCode, ModifierKeys modifierKeys, bool up) public class KeyboardButtonEventArgs(KeyCode keyCode, ScanCode scanCode, ModifierKeys modifierKeys, bool up)

View File

@@ -277,6 +277,46 @@ namespace Dashboard.OpenTK.PAL2
private static ScanCode GetScanCode(Scancode scanCode) => scanCode switch private static ScanCode GetScanCode(Scancode scanCode) => scanCode switch
{ {
// TODO: Revise this array.
Scancode.A => ScanCode.A,
Scancode.B => ScanCode.B,
Scancode.C => ScanCode.C,
Scancode.D => ScanCode.D,
Scancode.E => ScanCode.E,
Scancode.F => ScanCode.F,
Scancode.G => ScanCode.G,
Scancode.H => ScanCode.H,
Scancode.J => ScanCode.J,
Scancode.K => ScanCode.K,
Scancode.L => ScanCode.L,
Scancode.M => ScanCode.M,
Scancode.N => ScanCode.N,
Scancode.O => ScanCode.O,
Scancode.P => ScanCode.P,
Scancode.Q => ScanCode.Q,
Scancode.R => ScanCode.R,
Scancode.S => ScanCode.S,
Scancode.T => ScanCode.T,
Scancode.U => ScanCode.U,
Scancode.V => ScanCode.V,
Scancode.W => ScanCode.W,
Scancode.X => ScanCode.X,
Scancode.Y => ScanCode.Y,
Scancode.Z => ScanCode.Z,
Scancode.D0 => ScanCode._0,
Scancode.D1 => ScanCode._1,
Scancode.D2 => ScanCode._2,
Scancode.D3 => ScanCode._3,
Scancode.D4 => ScanCode._4,
Scancode.D5 => ScanCode._5,
Scancode.D6 => ScanCode._6,
Scancode.D7 => ScanCode._7,
Scancode.D8 => ScanCode._8,
Scancode.D9 => ScanCode._9,
Scancode.UpArrow => ScanCode.Up,
Scancode.DownArrow => ScanCode.Down,
Scancode.LeftArrow => ScanCode.Left,
Scancode.RightArrow => ScanCode.Right,
_ => (ScanCode)0, _ => (ScanCode)0,
}; };
} }