// Scan Code Expected unshifted char 0x00 0x00 // 0x00 0x00 0x00 // 0x01 0x00 0x00 // 0x02 0x00 0x00 // 0x03 0x00 0x00 // 0x04 0x00 0x00 // 0x05 0x00 0x00 // 0x06 0x00 0x00 // 0x07 0x0e 0x00 // 0x08 - VK_BACK 0x0f 0x09 // 0x09 - VK_TAB 0x00 0x00 // 0x0a 0x00 0x00 // 0x0b 0x53 0x00 // 0x0c - VK_CLEAR (DELETE) 0x1c 0x0D // 0x0d - VK_RETURN 0x00 0x00 // 0x0e 0x00 0x00 // 0x0f 0x2a 0x00 // 0x10 - VK_SHIFT (LEFT SHIFT) 0x1d 0x00 // 0x11 - VK_CONTROL 0x38 0x00 // 0x12 - VK_MENU 0x45 0x00 // 0x13 - VK_PAUSE 0x3a 0x00 // 0x14 - VK_CAPITAL 0x00 0x00 // 0x15 0x00 0x00 // 0x16 0x00 0x00 // 0x17 0x00 0x00 // 0x18 0x29 0x00 // 0x19 - VK_KANJI (漢字) 0x00 0x00 // 0x1a 0x01 0x1B // 0x1b - VK_ESCAPE 0x79 0x00 // 0x1c - VK_CONVERT (変換) 0x7B 0x00 // 0x1d - VK_NONCONVERT (無変換) 0x00 0x00 // 0x1e 0x00 0x00 // 0x1f 0x39 0x20 // 0x20 - VK_SPACE 0x49 0x00 // 0x21 - VK_PRIOR (PAGE UP) 0x51 0x00 // 0x22 - VK_NEXT (PAGE DOWN) 0x4f 0x00 // 0x23 - VK_END 0x47 0x00 // 0x24 - VK_HOME 0x4b 0x00 // 0x25 - VK_LEFT 0x48 0x00 // 0x26 - VK_UP 0x4d 0x00 // 0x27 - VK_RIGHT 0x50 0x00 // 0x28 - VK_DOWN 0x4C 0x00 // 0x29 - VK_SELECT 0x00 0x00 // 0x2a - VK_PRINT 0x00 0x00 // 0x2b - VK_EXECUTE 0x54 0x00 // 0x2c - VK_SNAPSHOT (PRINT SCREEN) 0x52 0x00 // 0x2d - VK_INSERT 0x53 0x00 // 0x2e - VK_DELETE 0x35 0x2F // 0x2f - VK_HELP 0x0b 0x30 // 0x30 - VK_0 0x02 0x31 // 0x31 - VK_1 0x03 0x32 // 0x32 - VK_2 0x04 0x33 // 0x33 - VK_3 0x05 0x34 // 0x34 - VK_4 0x06 0x35 // 0x35 - VK_5 0x07 0x36 // 0x36 - VK_6 0x08 0x37 // 0x37 - VK_7 0x09 0x38 // 0x38 - VK_8 0x0a 0x39 // 0x39 - VK_9 0x00 0x00 // 0x3a 0x00 0x00 // 0x3b 0x00 0x00 // 0x3c 0x00 0x00 // 0x3d 0x00 0x00 // 0x3e 0x00 0x00 // 0x3f 0x00 0x00 // 0x40 0x1e 0x61 // 0x41 - VK_A 0x30 0x62 // 0x42 - VK_B 0x2e 0x63 // 0x43 - VK_C 0x20 0x64 // 0x44 - VK_D 0x12 0x65 // 0x45 - VK_E 0x21 0x66 // 0x46 - VK_F 0x22 0x67 // 0x47 - VK_G 0x23 0x68 // 0x48 - VK_H 0x17 0x69 // 0x49 - VK_I 0x24 0x6A // 0x4a - VK_J 0x25 0x6B // 0x4b - VK_K 0x26 0x6C // 0x4c - VK_L 0x32 0x6D // 0x4d - VK_M 0x31 0x6E // 0x4e - VK_N 0x18 0x6F // 0x4f - VK_O 0x19 0x70 // 0x50 - VK_P 0x10 0x71 // 0x51 - VK_Q 0x13 0x72 // 0x52 - VK_R 0x1f 0x73 // 0x53 - VK_S 0x14 0x74 // 0x54 - VK_T 0x16 0x75 // 0x55 - VK_U 0x2f 0x76 // 0x56 - VK_V 0x11 0x77 // 0x57 - VK_W 0x2d 0x78 // 0x58 - VK_X 0x15 0x79 // 0x59 - VK_Y 0x2c 0x7A // 0x5a - VK_Z 0xe05b 0x00 // 0x5b - VK_LWIN 0xe05c 0x00 // 0x5c - VK_RWIN 0xe05d 0x00 // 0x5d - VK_APPS 0x00 0x00 // 0x5e 0x00 0x00 // 0x5f 0x00 0x00 // 0x60 - VK_NUMPAD0 0x00 0x00 // 0x61 0x00 0x00 // 0x62 0x00 0x00 // 0x63 0x00 0x00 // 0x64 0x00 0x00 // 0x65 0x00 0x00 // 0x66 0x00 0x00 // 0x67 0x00 0x00 // 0x68 0x00 0x00 // 0x69 - VK_NUMPAD9 0x00 0x00 // 0x6a - VK_MULTIPLY 0x00 0x00 // 0x6b - VK_ADD 0x00 0x00 // 0x6c - VK_SEPARATOR 0x00 0x00 // 0x6d - VK_SUBTRACT 0x00 0x00 // 0x6e - VK_DECIMAL 0x00 0x00 // 0x6f - VK_DIVIDE 0x3B 0x00 // 0x70 - VK_F1 0x3C 0x00 // 0x71 - VK_F2 0x3D 0x00 // 0x72 - VK_F3 0x3E 0x00 // 0x73 - VK_F4 0x3F 0x00 // 0x74 - VK_F5 0x40 0x00 // 0x75 - VK_F6 0x41 0x00 // 0x76 - VK_F7 0x42 0x00 // 0x77 - VK_F8 0x43 0x00 // 0x78 - VK_F9 0x44 0x00 // 0x79 - VK_F10 0x57 0x00 // 0x7a - VK_F11 0x58 0x00 // 0x7b - VK_F12 0x00 0x00 // 0x7c - VK_F13 0x00 0x00 // 0x7d - VK_F14 0x00 0x00 // 0x7e - VK_F15 0x00 0x00 // 0x7f - VK_F16 0x00 0x00 // 0x80 - VK_F17 0x00 0x00 // 0x81 - VK_F18 0x00 0x00 // 0x82 - VK_F19 0x00 0x00 // 0x83 - VK_F20 0x00 0x00 // 0x84 - VK_F21 0x00 0x00 // 0x85 - VK_F22 0x00 0x00 // 0x86 - VK_F23 0x00 0x00 // 0x87 - VK_F24 0x00 0x00 // 0x88 0x00 0x00 // 0x89 0x00 0x00 // 0x8a 0x00 0x00 // 0x8b 0x00 0x00 // 0x8c 0x00 0x00 // 0x8d 0x00 0x00 // 0x8e 0x00 0x00 // 0x8f 0x45 0x00 // 0x90 - VK_NUMLOCK 0x46 0x00 // 0x91 - VK_SCROLL 0x00 0x00 // 0x92 0x00 0x00 // 0x93 0x00 0x00 // 0x94 0x00 0x00 // 0x95 0x00 0x00 // 0x96 0x00 0x00 // 0x97 0x00 0x00 // 0x98 0x00 0x00 // 0x99 0x00 0x00 // 0x9a 0x00 0x00 // 0x9b 0x00 0x00 // 0x9c 0x00 0x00 // 0x9d 0x00 0x00 // 0x9e 0x00 0x00 // 0x9f 0x2a 0x00 // 0xa0 - VK_LSHIFT 0x36 0x00 // 0xa1 - VK_RSHIFT 0x1d 0x00 // 0xa2 - VK_LCONTROL 0xE01d 0x00 // 0xa3 - VK_RCONTROL 0x38 0x00 // 0xa4 - VK_LMENU 0xE038 0x00 // 0xa5 - VK_RMENU 0x00 0x00 // 0xa6 0x00 0x00 // 0xa7 0x00 0x00 // 0xa8 0x00 0x00 // 0xa9 0x00 0x00 // 0xaa 0x00 0x00 // 0xab 0x00 0x00 // 0xac 0x00 0x00 // 0xad 0x00 0x00 // 0xae 0x00 0x00 // 0xaf 0x00 0x00 // 0xb0 0x00 0x00 // 0xb1 0x00 0x00 // 0xb2 0x00 0x00 // 0xb3 0x00 0x00 // 0xb4 0x00 0x00 // 0xb5 0x00 0x00 // 0xb6 0x00 0x00 // 0xb7 0x00 0x00 // 0xb8 0x00 0x00 // 0xb9 0x28 0x3A // 0xba - VK_COLON 0x27 0x3B // 0xbb - VK_SEMICOLON 0x33 0x2C // 0xbc - VK_COMMA 0x0c 0x2D // 0xbd - VK_HYPHEN 0x34 0x2E // 0xbe - VK_PERIOD 0x35 0x2F // 0xbf - VK_SLASH 0x1A 0x40 // 0xc0 - VK_BACKQUOTE 0x00 0x00 // 0xc1 0x00 0x00 // 0xc2 0x00 0x00 // 0xc3 0x00 0x00 // 0xc4 0x00 0x00 // 0xc5 0x00 0x00 // 0xc6 0x00 0x00 // 0xc7 0x00 0x00 // 0xc8 0x00 0x00 // 0xc9 0x00 0x00 // 0xca 0x00 0x00 // 0xcb 0x00 0x00 // 0xcc 0x00 0x00 // 0xcd 0x00 0x00 // 0xce 0x00 0x00 // 0xcf 0x00 0x00 // 0xd0 0x00 0x00 // 0xd1 0x00 0x00 // 0xd2 0x00 0x00 // 0xd3 0x00 0x00 // 0xd4 0x00 0x00 // 0xd5 0x00 0x00 // 0xd6 0x00 0x00 // 0xd7 0x00 0x00 // 0xd8 0x00 0x00 // 0xd9 0x00 0x00 // 0xda 0x1b 0x5B // 0xdb - VK_LBRACKET 0x7d 0x5C // 0xdc - VK_BACKSLASH 0x2b 0x5D // 0xdd - VK_RBRACKET 0x0d 0x5E // 0xde - VK_APOSHTROPHE 0x00 0x00 // 0xdf 0x00 0x00 // 0xe0 0x00 0x00 // 0xe1 0x73 0x00 // 0xe2 - _ 0x00 0x00 // 0xe3 0x00 0x00 // 0xe4 0x00 0x00 // 0xe5 0x00 0x00 // 0xe6 0x00 0x00 // 0xe7 0x00 0x00 // 0xe8 0x00 0x00 // 0xe9 0x00 0x00 // 0xea 0x00 0x00 // 0xeb 0x00 0x00 // 0xec 0x00 0x00 // 0xed 0x00 0x00 // 0xee 0x00 0x00 // 0xef 0x00 0x00 // 0xf0 0x00 0x00 // 0xf1 0x00 0x00 // 0xf2 0x29 0x00 // 0xf3 - 全角 0x29 0x00 // 0xf4 - 半角 0x00 0x00 // 0xf5 0x00 0x00 // 0xf6 0x00 0x00 // 0xf7 0x00 0x00 // 0xf8 0x00 0x00 // 0xf9 0x00 0x00 // 0xfa 0x00 0x00 // 0xfb 0x00 0x00 // 0xfc 0x00 0x00 // 0xfd 0x00 0x00 // 0xfe 0x00 0x00 // 0xff