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)
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)