From d940f49c7d3c1accfb362d9d2bfcfcb4700dbe13 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Thu, 4 Jan 2024 21:13:15 +0200 Subject: [PATCH] Add PC scancodes to input event list --- include/inputdevice.h | 6 ++ inputdevice.cpp | 22 ++++- inputevents.def | 216 +++++++++++++++++++++--------------------- 3 files changed, 134 insertions(+), 110 deletions(-) diff --git a/include/inputdevice.h b/include/inputdevice.h index 072ad8fe..cba4ff56 100644 --- a/include/inputdevice.h +++ b/include/inputdevice.h @@ -79,6 +79,7 @@ struct inputevent { int unit; int data; int portid; + int data2; }; #define MAX_INPUT_QUALIFIERS (8 + 5) @@ -211,6 +212,8 @@ extern int input_get_default_keyboard (int num); #define DEFEVENT(A, B, C, D, E, F) INPUTEVENT_ ## A, #define DEFEVENT2(A, B, B2, C, D, E, F, G) INPUTEVENT_ ## A, +#define DEFEVENTKB(A, B, C, F, PC) INPUTEVENT_ ## A, + enum inputevents { INPUTEVENT_ZERO, #include "../inputevents.def" @@ -218,6 +221,7 @@ INPUTEVENT_END }; #undef DEFEVENT #undef DEFEVENT2 +#undef DEFEVENTKB extern void handle_cd32_joystick_cia (uae_u8, uae_u8); extern uae_u8 handle_parport_joystick (int port, uae_u8 data); @@ -381,6 +385,8 @@ bool key_ctrlpressed(void); void osk_setup(int, int); bool osk_status(void); +void inputdevice_draco_key(int kc); + extern int key_swap_hack, key_swap_hack2; #endif /* UAE_INPUTDEVICE_H */ diff --git a/inputdevice.cpp b/inputdevice.cpp index 0012dfe1..2a0430cb 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -100,10 +100,11 @@ extern int tablet_log; #define DEFEVENT(A, B, C, D, E, F) {_T(#A), B, NULL, C, D, E, F, 0 }, #define DEFEVENT2(A, B, B2, C, D, E, F, G) {_T(#A), B, B2, C, D, E, F, G }, +#define DEFEVENTKB(A, B, C, F, PC) {_T(#A), B, NULL, C, 0, 0, F, 0, PC }, static const struct inputevent events[] = { - {0, 0, 0, AM_K, 0, 0, 0, 0}, + {0, 0, 0, AM_K, 0, 0, 0, 0, 0}, #include "inputevents.def" - {0, 0, 0, 0, 0, 0, 0, 0} + {0, 0, 0, 0, 0, 0, 0, 0, 0} }; #undef DEFEVENT #undef DEFEVENT2 @@ -3537,6 +3538,7 @@ static void mouseupdate (int pct, bool vsync) } for (int i = 0; i < 2; i++) { + if (lightpen_delta[i][0]) { lightpen_x[i] += lightpen_delta[i][0]; if (!lightpen_deltanoreset[i][0]) @@ -10447,3 +10449,19 @@ void clear_inputstate (void) relativecount[i][0] = relativecount[i][1] = 0; } } + +void inputdevice_draco_key(int kc) +{ + int state = (kc & 1) == 0; + kc >>= 1; + for (int i = 1; events[i].name; i++) { + if (events[i].data == kc && events[i].data2 && events[i].allow_mask == AM_K) { + int code = events[i].data2; + if ((code & 0xff00) == 0xe000) { + draco_keycode((code & 0xff) | 0x100, state); + } else { + draco_keycode(code & 0xff, state); + } + } + } +} diff --git a/inputevents.def b/inputevents.def index d9629b2b..49cc257e 100644 --- a/inputevents.def +++ b/inputevents.def @@ -174,110 +174,110 @@ DEFEVENT(SPC_QUALIFIER_END, _T(""), AM_DUMMY, 0,0,0) DEFEVENT(KEY_START,_T("[Keyboard]"),AM_INFO, 0,0,0) -DEFEVENT(KEY_F1,_T("F1"),AM_K,0,0,AK_F1) -DEFEVENT(KEY_F2,_T("F2"),AM_K,0,0,AK_F2) -DEFEVENT(KEY_F3,_T("F3"),AM_K,0,0,AK_F3) -DEFEVENT(KEY_F4,_T("F4"),AM_K,0,0,AK_F4) -DEFEVENT(KEY_F5,_T("F5"),AM_K,0,0,AK_F5) -DEFEVENT(KEY_F6,_T("F6"),AM_K,0,0,AK_F6) -DEFEVENT(KEY_F7,_T("F7"),AM_K,0,0,AK_F7) -DEFEVENT(KEY_F8,_T("F8"),AM_K,0,0,AK_F8) -DEFEVENT(KEY_F9,_T("F9"),AM_K,0,0,AK_F9) -DEFEVENT(KEY_F10,_T("F10"),AM_K,0,0,AK_F10) +DEFEVENTKB(KEY_F1,_T("F1"),AM_K,AK_F1,0x3b) +DEFEVENTKB(KEY_F2,_T("F2"),AM_K,AK_F2,0x3c) +DEFEVENTKB(KEY_F3,_T("F3"),AM_K,AK_F3,0x3d) +DEFEVENTKB(KEY_F4,_T("F4"),AM_K,AK_F4,0x3e) +DEFEVENTKB(KEY_F5,_T("F5"),AM_K,AK_F5,0x3f) +DEFEVENTKB(KEY_F6,_T("F6"),AM_K,AK_F6,0x40) +DEFEVENTKB(KEY_F7,_T("F7"),AM_K,AK_F7,0x41) +DEFEVENTKB(KEY_F8,_T("F8"),AM_K,AK_F8,0x42) +DEFEVENTKB(KEY_F9,_T("F9"),AM_K,AK_F9,0x43) +DEFEVENTKB(KEY_F10,_T("F10"),AM_K,AK_F10,0x44) /* "special" keys */ -DEFEVENT(KEY_ESC,_T("ESC"),AM_K,0,0,AK_ESC) -DEFEVENT(KEY_TAB,_T("Tab"),AM_K,0,0,AK_TAB) -DEFEVENT(KEY_CTRL,_T("CTRL"),AM_K,0,0,AK_CTRL) -DEFEVENT(KEY_CAPS_LOCK,_T("Caps Lock"),AM_K,0,0,AK_CAPSLOCK) -DEFEVENT(KEY_SHIFT_LEFT,_T("Left Shift"),AM_K,0,0,AK_LSH) -DEFEVENT(KEY_ALT_LEFT,_T("Left Alt"),AM_K,0,0,AK_LALT) -DEFEVENT(KEY_AMIGA_LEFT,_T("Left Amiga"),AM_K,0,0,AK_LAMI) -DEFEVENT(KEY_AMIGA_RIGHT,_T("Right Amiga"),AM_K,0,0,AK_RAMI) -DEFEVENT(KEY_ALT_RIGHT,_T("Right Alt"),AM_K,0,0,AK_RALT) -DEFEVENT(KEY_SHIFT_RIGHT,_T("Right Shift"),AM_K,0,0,AK_RSH) -DEFEVENT(KEY_SPACE,_T("Space"),AM_K,0,0,AK_SPC) -DEFEVENT(KEY_CURSOR_UP,_T("Cursor Up"),AM_K,0,0,AK_UP) -DEFEVENT(KEY_CURSOR_DOWN,_T("Cursor Down"),AM_K,0,0,AK_DN) -DEFEVENT(KEY_CURSOR_LEFT,_T("Cursor Left"),AM_K,0,0,AK_LF) -DEFEVENT(KEY_CURSOR_RIGHT,_T("Cursor Right"),AM_K,0,0,AK_RT) -DEFEVENT(KEY_HELP,_T("Help"),AM_K,0,0,AK_HELP) -DEFEVENT(KEY_DEL,_T("Del"),AM_K,0,0,AK_DEL) -DEFEVENT(KEY_BACKSPACE,_T("Backspace"),AM_K,0,0,AK_BS) -DEFEVENT(KEY_RETURN,_T("Return"),AM_K,0,0,AK_RET) - -DEFEVENT(KEY_A,_T("A"),AM_K,0,0,AK_A) -DEFEVENT(KEY_B,_T("B"),AM_K,0,0,AK_B) -DEFEVENT(KEY_C,_T("C"),AM_K,0,0,AK_C) -DEFEVENT(KEY_D,_T("D"),AM_K,0,0,AK_D) -DEFEVENT(KEY_E,_T("E"),AM_K,0,0,AK_E) -DEFEVENT(KEY_F,_T("F"),AM_K,0,0,AK_F) -DEFEVENT(KEY_G,_T("G"),AM_K,0,0,AK_G) -DEFEVENT(KEY_H,_T("H"),AM_K,0,0,AK_H) -DEFEVENT(KEY_I,_T("I"),AM_K,0,0,AK_I) -DEFEVENT(KEY_J,_T("J"),AM_K,0,0,AK_J) -DEFEVENT(KEY_K,_T("K"),AM_K,0,0,AK_K) -DEFEVENT(KEY_L,_T("L"),AM_K,0,0,AK_L) -DEFEVENT(KEY_M,_T("M"),AM_K,0,0,AK_M) -DEFEVENT(KEY_N,_T("N"),AM_K,0,0,AK_N) -DEFEVENT(KEY_O,_T("O"),AM_K,0,0,AK_O) -DEFEVENT(KEY_P,_T("P"),AM_K,0,0,AK_P) -DEFEVENT(KEY_Q,_T("Q"),AM_K,0,0,AK_Q) -DEFEVENT(KEY_R,_T("R"),AM_K,0,0,AK_R) -DEFEVENT(KEY_S,_T("S"),AM_K,0,0,AK_S) -DEFEVENT(KEY_T,_T("T"),AM_K,0,0,AK_T) -DEFEVENT(KEY_U,_T("U"),AM_K,0,0,AK_U) -DEFEVENT(KEY_V,_T("V"),AM_K,0,0,AK_V) -DEFEVENT(KEY_W,_T("W"),AM_K,0,0,AK_W) -DEFEVENT(KEY_X,_T("X"),AM_K,0,0,AK_X) -DEFEVENT(KEY_Y,_T("Y"),AM_K,0,0,AK_Y) -DEFEVENT(KEY_Z,_T("Z"),AM_K,0,0,AK_Z) +DEFEVENTKB(KEY_ESC,_T("ESC"),AM_K,AK_ESC,0x01) +DEFEVENTKB(KEY_TAB,_T("Tab"),AM_K,AK_TAB,0x0f) +DEFEVENTKB(KEY_CTRL,_T("CTRL"),AM_K,AK_CTRL,0x1d) +DEFEVENTKB(KEY_CAPS_LOCK,_T("Caps Lock"),AM_K,AK_CAPSLOCK,0x3a) +DEFEVENTKB(KEY_SHIFT_LEFT,_T("Left Shift"),AM_K,AK_LSH,0x2a) +DEFEVENTKB(KEY_ALT_LEFT,_T("Left Alt"),AM_K,AK_LALT,0x38) +DEFEVENTKB(KEY_AMIGA_LEFT,_T("Left Amiga"),AM_K,AK_LAMI,0xe05b) +DEFEVENTKB(KEY_AMIGA_RIGHT,_T("Right Amiga"),AM_K,AK_RAMI,0xe05c) +DEFEVENTKB(KEY_ALT_RIGHT,_T("Right Alt"),AM_K,AK_RALT,0xe038) +DEFEVENTKB(KEY_SHIFT_RIGHT,_T("Right Shift"),AM_K,AK_RSH,0x59) +DEFEVENTKB(KEY_SPACE,_T("Space"),AM_K,AK_SPC,0x39) +DEFEVENTKB(KEY_CURSOR_UP,_T("Cursor Up"),AM_K,AK_UP,0xe048) +DEFEVENTKB(KEY_CURSOR_DOWN,_T("Cursor Down"),AM_K,AK_DN,0xe050) +DEFEVENTKB(KEY_CURSOR_LEFT,_T("Cursor Left"),AM_K,AK_LF,0xe04b) +DEFEVENTKB(KEY_CURSOR_RIGHT,_T("Cursor Right"),AM_K,AK_RT,0xe04d) +DEFEVENTKB(KEY_HELP,_T("Help"),AM_K,AK_HELP,0x00) +DEFEVENTKB(KEY_DEL,_T("Del"),AM_K,AK_DEL,0xe053) +DEFEVENTKB(KEY_BACKSPACE,_T("Backspace"),AM_K,AK_BS,0x0e) +DEFEVENTKB(KEY_RETURN,_T("Return"),AM_K,AK_RET,0x1c) + +DEFEVENTKB(KEY_A,_T("A"),AM_K,AK_A,0x1e) +DEFEVENTKB(KEY_B,_T("B"),AM_K,AK_B,0x30) +DEFEVENTKB(KEY_C,_T("C"),AM_K,AK_C,0x2e) +DEFEVENTKB(KEY_D,_T("D"),AM_K,AK_D,0x20) +DEFEVENTKB(KEY_E,_T("E"),AM_K,AK_E,0x12) +DEFEVENTKB(KEY_F,_T("F"),AM_K,AK_F,0x21) +DEFEVENTKB(KEY_G,_T("G"),AM_K,AK_G,0x22) +DEFEVENTKB(KEY_H,_T("H"),AM_K,AK_H,0x23) +DEFEVENTKB(KEY_I,_T("I"),AM_K,AK_I,0x17) +DEFEVENTKB(KEY_J,_T("J"),AM_K,AK_J,0x24) +DEFEVENTKB(KEY_K,_T("K"),AM_K,AK_K,0x25) +DEFEVENTKB(KEY_L,_T("L"),AM_K,AK_L,0x26) +DEFEVENTKB(KEY_M,_T("M"),AM_K,AK_M,0x32) +DEFEVENTKB(KEY_N,_T("N"),AM_K,AK_N,0x31) +DEFEVENTKB(KEY_O,_T("O"),AM_K,AK_O,0x18) +DEFEVENTKB(KEY_P,_T("P"),AM_K,AK_P,0x19) +DEFEVENTKB(KEY_Q,_T("Q"),AM_K,AK_Q,0x10) +DEFEVENTKB(KEY_R,_T("R"),AM_K,AK_R,0x13) +DEFEVENTKB(KEY_S,_T("S"),AM_K,AK_S,0x1f) +DEFEVENTKB(KEY_T,_T("T"),AM_K,AK_T,0x14) +DEFEVENTKB(KEY_U,_T("U"),AM_K,AK_U,0x16) +DEFEVENTKB(KEY_V,_T("V"),AM_K,AK_V,0x2f) +DEFEVENTKB(KEY_W,_T("W"),AM_K,AK_W,0x11) +DEFEVENTKB(KEY_X,_T("X"),AM_K,AK_X,0x2d) +DEFEVENTKB(KEY_Y,_T("Y"),AM_K,AK_Y,0x15) +DEFEVENTKB(KEY_Z,_T("Z"),AM_K,AK_Z,0x2c) /* numpad */ -DEFEVENT(KEY_ENTER,_T("Numpad Enter"),AM_K,0,0,AK_ENT) -DEFEVENT(KEY_NP_0,_T("Numpad 0"),AM_K,0,0,AK_NP0) -DEFEVENT(KEY_NP_1,_T("Numpad 1"),AM_K,0,0,AK_NP1) -DEFEVENT(KEY_NP_2,_T("Numpad 2"),AM_K,0,0,AK_NP2) -DEFEVENT(KEY_NP_3,_T("Numpad 3"),AM_K,0,0,AK_NP3) -DEFEVENT(KEY_NP_4,_T("Numpad 4"),AM_K,0,0,AK_NP4) -DEFEVENT(KEY_NP_5,_T("Numpad 5"),AM_K,0,0,AK_NP5) -DEFEVENT(KEY_NP_6,_T("Numpad 6"),AM_K,0,0,AK_NP6) -DEFEVENT(KEY_NP_7,_T("Numpad 7"),AM_K,0,0,AK_NP7) -DEFEVENT(KEY_NP_8,_T("Numpad 8"),AM_K,0,0,AK_NP8) -DEFEVENT(KEY_NP_9,_T("Numpad 9"),AM_K,0,0,AK_NP9) -DEFEVENT(KEY_NP_PERIOD,_T("Numpad Period"),AM_K,0,0,AK_NPDEL) -DEFEVENT(KEY_NP_ADD,_T("Numpad Plus"),AM_K,0,0,AK_NPADD) -DEFEVENT(KEY_NP_SUB,_T("Numpad Minus"),AM_K,0,0,AK_NPSUB) -DEFEVENT(KEY_NP_MUL,_T("Numpad Multiply"),AM_K,0,0,AK_NPMUL) -DEFEVENT(KEY_NP_DIV,_T("Numpad Divide"),AM_K,0,0,AK_NPDIV) -DEFEVENT(KEY_NP_LPAREN,_T("Numpad Left Parenthesis"),AM_K,0,0,AK_NPLPAREN) -DEFEVENT(KEY_NP_RPAREN,_T("Numpad Right Parenthesis"),AM_K,0,0,AK_NPRPAREN) - -DEFEVENT(KEY_BACKQUOTE,_T("Back Quote"),AM_K,0,0,AK_BACKQUOTE) -DEFEVENT(KEY_1,_T("1"),AM_K,0,0,AK_1) -DEFEVENT(KEY_2,_T("2"),AM_K,0,0,AK_2) -DEFEVENT(KEY_3,_T("3"),AM_K,0,0,AK_3) -DEFEVENT(KEY_4,_T("4"),AM_K,0,0,AK_4) -DEFEVENT(KEY_5,_T("5"),AM_K,0,0,AK_5) -DEFEVENT(KEY_6,_T("6"),AM_K,0,0,AK_6) -DEFEVENT(KEY_7,_T("7"),AM_K,0,0,AK_7) -DEFEVENT(KEY_8,_T("8"),AM_K,0,0,AK_8) -DEFEVENT(KEY_9,_T("9"),AM_K,0,0,AK_9) -DEFEVENT(KEY_0,_T("0"),AM_K,0,0,AK_0) -DEFEVENT(KEY_SUB,_T("Minus"),AM_K,0,0,AK_MINUS) -DEFEVENT(KEY_EQUALS,_T("Equals"),AM_K,0,0,AK_EQUAL) -DEFEVENT(KEY_BACKSLASH,_T("Backslash"),AM_K,0,0,AK_BACKSLASH) -DEFEVENT(KEY_NUMBERSIGN,_T("Numbersign"),AM_K,0,0,AK_NUMBERSIGN) - -DEFEVENT(KEY_LEFTBRACKET,_T("Left Bracket"),AM_K,0,0,AK_LBRACKET) -DEFEVENT(KEY_RIGHTBRACKET,_T("Right Bracket"),AM_K,0,0,AK_RBRACKET) -DEFEVENT(KEY_SEMICOLON,_T("Semicolon"),AM_K,0,0,AK_SEMICOLON) -DEFEVENT(KEY_SINGLEQUOTE,_T("Single Quote"),AM_K,0,0,AK_QUOTE) -DEFEVENT(KEY_COMMA,_T("Comma"),AM_K,0,0,AK_COMMA) -DEFEVENT(KEY_PERIOD,_T("Period"),AM_K,0,0,AK_PERIOD) -DEFEVENT(KEY_DIV,_T("Slash"),AM_K,0,0,AK_SLASH) +DEFEVENTKB(KEY_ENTER,_T("Numpad Enter"),AM_K,AK_ENT,0xe01c) +DEFEVENTKB(KEY_NP_0,_T("Numpad 0"),AM_K,AK_NP0,0x52) +DEFEVENTKB(KEY_NP_1,_T("Numpad 1"),AM_K,AK_NP1,0x4f) +DEFEVENTKB(KEY_NP_2,_T("Numpad 2"),AM_K,AK_NP2,0x50) +DEFEVENTKB(KEY_NP_3,_T("Numpad 3"),AM_K,AK_NP3,0x51) +DEFEVENTKB(KEY_NP_4,_T("Numpad 4"),AM_K,AK_NP4,0x4b) +DEFEVENTKB(KEY_NP_5,_T("Numpad 5"),AM_K,AK_NP5,0x4c) +DEFEVENTKB(KEY_NP_6,_T("Numpad 6"),AM_K,AK_NP6,0x4d) +DEFEVENTKB(KEY_NP_7,_T("Numpad 7"),AM_K,AK_NP7,0x47) +DEFEVENTKB(KEY_NP_8,_T("Numpad 8"),AM_K,AK_NP8,0x48) +DEFEVENTKB(KEY_NP_9,_T("Numpad 9"),AM_K,AK_NP9,0x49) +DEFEVENTKB(KEY_NP_PERIOD,_T("Numpad Period"),AM_K,AK_NPDEL,0x53) +DEFEVENTKB(KEY_NP_ADD,_T("Numpad Plus"),AM_K,AK_NPADD,0x4e) +DEFEVENTKB(KEY_NP_SUB,_T("Numpad Minus"),AM_K,AK_NPSUB,0x4a) +DEFEVENTKB(KEY_NP_MUL,_T("Numpad Multiply"),AM_K,AK_NPMUL,0x37) +DEFEVENTKB(KEY_NP_DIV,_T("Numpad Divide"),AM_K,AK_NPDIV,0x35) +DEFEVENTKB(KEY_NP_LPAREN,_T("Numpad Left Parenthesis"),AM_K,AK_NPLPAREN,0) +DEFEVENTKB(KEY_NP_RPAREN,_T("Numpad Right Parenthesis"),AM_K,AK_NPRPAREN,0) + +DEFEVENTKB(KEY_BACKQUOTE,_T("Back Quote"),AM_K,AK_BACKQUOTE,0x29) +DEFEVENTKB(KEY_1,_T("1"),AM_K,AK_1,0x02) +DEFEVENTKB(KEY_2,_T("2"),AM_K,AK_2,0x03) +DEFEVENTKB(KEY_3,_T("3"),AM_K,AK_3,0x04) +DEFEVENTKB(KEY_4,_T("4"),AM_K,AK_4,0x05) +DEFEVENTKB(KEY_5,_T("5"),AM_K,AK_5,0x06) +DEFEVENTKB(KEY_6,_T("6"),AM_K,AK_6,0x07) +DEFEVENTKB(KEY_7,_T("7"),AM_K,AK_7,0x08) +DEFEVENTKB(KEY_8,_T("8"),AM_K,AK_8,0x09) +DEFEVENTKB(KEY_9,_T("9"),AM_K,AK_9,0x0a) +DEFEVENTKB(KEY_0,_T("0"),AM_K,AK_0,0x0b) +DEFEVENTKB(KEY_SUB,_T("Minus"),AM_K,AK_MINUS,0x0c) +DEFEVENTKB(KEY_EQUALS,_T("Equals"),AM_K,AK_EQUAL,0x0d) +DEFEVENTKB(KEY_BACKSLASH,_T("Backslash"),AM_K,AK_BACKSLASH,0x0e) +DEFEVENTKB(KEY_NUMBERSIGN,_T("Numbersign"),AM_K,AK_NUMBERSIGN,0x00) + +DEFEVENTKB(KEY_LEFTBRACKET,_T("Left Bracket"),AM_K,AK_LBRACKET,0x1a) +DEFEVENTKB(KEY_RIGHTBRACKET,_T("Right Bracket"),AM_K,AK_RBRACKET,0x1b) +DEFEVENTKB(KEY_SEMICOLON,_T("Semicolon"),AM_K,AK_SEMICOLON,0x4c) +DEFEVENTKB(KEY_SINGLEQUOTE,_T("Single Quote"),AM_K,AK_QUOTE,0x0e) +DEFEVENTKB(KEY_COMMA,_T("Comma"),AM_K,AK_COMMA,0x33) +DEFEVENTKB(KEY_PERIOD,_T("Period"),AM_K,AK_PERIOD,0x34) +DEFEVENTKB(KEY_DIV,_T("Slash"),AM_K,AK_SLASH,0x35) // DEFEVENT(KEY_,_T(""),AM_K,0,0,0x) @@ -312,16 +312,16 @@ DEFEVENT(KEY_69,_T("Keycode 0x69"),AM_K,0,0,0x69) DEFEVENT(KEY_6A,_T("Keycode 0x6A"),AM_K,0,0,0x6a) DEFEVENT(KEY_6C,_T("Keycode 0x6C"),AM_K,0,0,0x6c) -DEFEVENT(KEY_INSERT,_T("Insert (PC)"),AM_K,0,0,0x47) -DEFEVENT(KEY_PAGEUP,_T("Page Up (PC)"),AM_K,0,0,0x48) -DEFEVENT(KEY_PAGEDOWN,_T("Page Down (PC)"),AM_K,0,0,0x49) -DEFEVENT(KEY_F11,_T("F11 (PC)"),AM_K,0,0,0x4b) -DEFEVENT(KEY_APPS,_T("Apps (PC)"),AM_K,0,0,0x6b) -DEFEVENT(KEY_SYSRQ,_T("PrtScr/SysRq (PC)"),AM_K,0,0,0x6d) -DEFEVENT(KEY_PAUSE,_T("Pause/Break (PC)"),AM_K,0,0,0x6e) -DEFEVENT(KEY_F12,_T("F12 (PC)"),AM_K,0,0,0x6f) -DEFEVENT(KEY_HOME,_T("Home (PC)"),AM_K,0,0,0x70) -DEFEVENT(KEY_END,_T("End (PC)"),AM_K,0,0,0x71) +DEFEVENTKB(KEY_INSERT,_T("Insert (PC)"),AM_K,0x47,0xe052) +DEFEVENTKB(KEY_PAGEUP,_T("Page Up (PC)"),AM_K,0x48,0xe049) +DEFEVENTKB(KEY_PAGEDOWN,_T("Page Down (PC)"),AM_K,0x49,0xe050) +DEFEVENTKB(KEY_F11,_T("F11 (PC)"),AM_K,0x4b,0x57) +DEFEVENTKB(KEY_APPS,_T("Apps (PC)"),AM_K,0x6b,0xe05d) +DEFEVENTKB(KEY_SYSRQ,_T("PrtScr/SysRq (PC)"),AM_K,0x6d,0x37) +DEFEVENTKB(KEY_PAUSE,_T("Pause/Break (PC)"),AM_K,0x6e,0x45) +DEFEVENTKB(KEY_F12,_T("F12 (PC)"),AM_K,0x6f,0x58) +DEFEVENTKB(KEY_HOME,_T("Home (PC)"),AM_K,0x70,0xe047) +DEFEVENTKB(KEY_END,_T("End (PC)"),AM_K,0x71,0xe04f) DEFEVENT(KEY_78,_T("Keycode 0x78 (Reset Warning)"),AM_K,0,0,0x78) DEFEVENT(KEY_79,_T("Keycode 0x79"),AM_K,0,0,0x79) -- 2.47.3