]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Add PC scancodes to input event list
authorToni Wilen <twilen@winuae.net>
Thu, 4 Jan 2024 19:13:15 +0000 (21:13 +0200)
committerToni Wilen <twilen@winuae.net>
Thu, 4 Jan 2024 19:13:15 +0000 (21:13 +0200)
include/inputdevice.h
inputdevice.cpp
inputevents.def

index 072ad8fecd91449c1f1e51e67a4da257100ab334..cba4ff568edeff7fbad7fd7b2d4ac0fe42c44840 100644 (file)
@@ -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 */
index 0012dfe11620a30074f912eedfc8a3f9eaf06278..2a0430cbfafd9dcca4dbaf09c959a359720fa7a0 100644 (file)
@@ -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);
+                       }
+               }
+       }
+}
index d9629b2bdc0d4ece8c4bf33862e30e13372cc4aa..49cc257ef84853d784b6d73a6001be822eba18a1 100644 (file)
@@ -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)