#ifndef __SCANCODEDEFINES_H__ #define __SCANCODEDEFINES_H__ // Alphabet #define SCANCODE_A 0x001E #define SCANCODE_B 0x0030 #define SCANCODE_C 0x002E #define SCANCODE_D 0x0020 #define SCANCODE_E 0x0012 #define SCANCODE_F 0x0021 #define SCANCODE_G 0x0022 #define SCANCODE_H 0x0023 #define SCANCODE_I 0x0017 #define SCANCODE_J 0x0024 #define SCANCODE_K 0x0025 #define SCANCODE_L 0x0026 #define SCANCODE_M 0x0032 #define SCANCODE_N 0x0031 #define SCANCODE_O 0x0018 #define SCANCODE_P 0x0019 #define SCANCODE_Q 0x0010 #define SCANCODE_R 0x0013 #define SCANCODE_S 0x001F #define SCANCODE_T 0x0014 #define SCANCODE_U 0x0016 #define SCANCODE_V 0x002F #define SCANCODE_W 0x0011 #define SCANCODE_X 0x002D #define SCANCODE_Y 0x0015 #define SCANCODE_Z 0x002C // Numbers (non numberpad) #define SCANCODE_0 0x000B #define SCANCODE_1 0x0002 #define SCANCODE_2 0x0003 #define SCANCODE_3 0x0004 #define SCANCODE_4 0x0005 #define SCANCODE_5 0x0006 #define SCANCODE_6 0x0007 #define SCANCODE_7 0x0008 #define SCANCODE_8 0x0009 #define SCANCODE_9 0x000A // Numbers (numberpad) #define SCANCODE_NUMPAD_0 0x0052 #define SCANCODE_NUMPAD_1 0x004F #define SCANCODE_NUMPAD_2 0x0050 #define SCANCODE_NUMPAD_3 0x0051 #define SCANCODE_NUMPAD_4 0x004B #define SCANCODE_NUMPAD_5 0x004C #define SCANCODE_NUMPAD_6 0x004D #define SCANCODE_NUMPAD_7 0x0047 #define SCANCODE_NUMPAD_8 0x0048 #define SCANCODE_NUMPAD_9 0x0049 // Numpad non-numbers #define SCANCODE_NUMPAD_NUMLOCK 0xE045 #define SCANCODE_NUMPAD_DIVIDE 0xE035 #define SCANCODE_NUMPAD_MULTIPLY 0x0037 #define SCANCODE_NUMPAD_SUBTRACT 0x004A #define SCANCODE_NUMPAD_ADD 0x004E #define SCANCODE_NUMPAD_ENTER 0xE01C #define SCANCODE_NUMPAD_DELETE 0x0053 // Function keys #define SCANCODE_F1 0x003B #define SCANCODE_F2 0x003C #define SCANCODE_F3 0x003D #define SCANCODE_F4 0x003E #define SCANCODE_F5 0x003F #define SCANCODE_F6 0x0040 #define SCANCODE_F7 0x0041 #define SCANCODE_F8 0x0042 #define SCANCODE_F9 0x0043 #define SCANCODE_F10 0x0044 #define SCANCODE_F11 0x0057 #define SCANCODE_F12 0x0058 // Direction Arrows #define SCANCODE_NORTH 0xE048 #define SCANCODE_EAST 0xE04D #define SCANCODE_SOUTH 0xE050 #define SCANCODE_WEST 0xE04B // Magic 3 #define SCANCODE_PRINT_SCREEN 0xE037 #define SCANCODE_SCROLL_LOCK 0x0046 #define SCANCODE_PAUSE_BREAK 0x0045 //What should this be? // Magic 6 #define SCANCODE_INSERT 0xE052 #define SCANCODE_HOME 0xE047 #define SCANCODE_PAGE_UP 0xE049 #define SCANCODE_DELETE 0xE053 #define SCANCODE_END 0xE04F #define SCANCODE_PAGEDOWN 0xE051 // Modifiers #define SCANCODE_CTRL_LEFT 0x001D #define SCANCODE_CTRL_RIGHT 0xE01D #define SCANCODE_SHIFT_LEFT 0x002A #define SCANCODE_SHIFT_RIGHT 0x0036 #define SCANCODE_ALT_LEFT 0x0038 #define SCANCODE_ALT_RIGHT 0xE038 // Symbols #define SCANCODE_PERIOD 0x0034 #define SCANCODE_COMMA 0x0033 #define SCANCODE_LEFT_BRACKET 0x001A #define SCANCODE_RIGHT_BRACKET 0x001B #define SCANCODE_EQUALS 0x000D #define SCANCODE_MINUS 0x000C #define SCANCODE_SEMICOLON 0x0027 #define SCANCODE_APOSTROPHE 0x0028 #define SCANCODE_TILDE 0x0029 #define SCANCODE_BACKSLASH 0x002B #define SCANCODE_QUESTIONMARK 0x0035 // Miscellania #define SCANCODE_SPACE 0x0039 #define SCANCODE_RETURN 0x001C #define SCANCODE_TAB 0x000F #define SCANCODE_BACKSPACE 0x000E #define SCANCODE_CAPSLOCK 0x003A #define SCANCODE_ESCAPE 0x0001 #define SCANCODE_APPLICATION 0xE05D #define SCANCODE_LEFT_WIN 0xE05B #define SCANCODE_RIGHT_WIN 0xE05C #define SCANCODE_NON_US_BACKSLASH 0x0056 // None english #define SCANCODE_INTERNATIONAL1 0x0073 //Brazilian forward slash, and Japanese backslash #define SCANCODE_INTERNATIONAL3 0x007D //Japanese Yen #define SCANCODE_INTERNATIONAL4 0x0079 //Japanese Henkan #define SCANCODE_INTERNATIONAL5 0x007B //Japanese Mu-Henkan #define SCANCODE_BRAZILIAN_PERIOD 0x007E //Brazilian Numpad Period #define SCANCODE_UNUSED 0x00FF //Unused key #endif __SCANCODEDEFINES_H__