今天在做鼠标及键盘的记录与回放时,碰到通过Hook记录下来的键盘的vkCode与KeyEvent中对应的键码部分不相同。
这些不同之处主要体现在符号键(如:“,”“。”等)和控制键(如:“Shift”、“Ctrl”、“Enter”)等上面。
经逐一测试,记录下两者的对应关系(红色为不同,蓝色为相同):
键 | VkCode | KeyEvent事件 | 键码 |
Esc | 27 | VK_ESCAPE | 27 |
F1 | 112 | VK_F1 | 112 |
F2 | 113 | VK_F2 | 113 |
F3 | 114 | VK_F3 | 114 |
F4 | 115 | VK_F4 | 115 |
F5 | 116 | VK_F5 | 116 |
F6 | 117 | VK_F6 | 117 |
F7 | 118 | VK_F7 | 118 |
F8 | 119 | VK_F8 | 119 |
F9 | 120 | VK_F9 | 120 |
F10 | 121 | VK_F10 | 121 |
F11 | 122 | VK_F11 | 122 |
F12 | 123 | VK_F12 | 123 |
0 | 48 | VK_0 | 48 |
1 | 49 | VK_1 | 49 |
2 | 50 | VK_2 | 50 |
3 | 51 | VK_3 | 51 |
4 | 52 | VK_4 | 52 |
5 | 53 | VK_5 | 53 |
6 | 54 | VK_6 | 54 |
7 | 55 | VK_7 | 55 |
8 | 56 | VK_8 | 56 |
9 | 57 | VK_9 | 57 |
A | 65 | VK_A | 65 |
B | 66 | VK_B | 66 |
C | 67 | VK_C | 67 |
D | 68 | VK_D | 68 |
E | 69 | VK_E | 69 |
F | 70 | VK_F | 70 |
G | 71 | VK_G | 71 |
H | 72 | VK_H | 72 |
I | 73 | VK_I | 73 |
J | 74 | VK_J | 74 |
K | 75 | VK_K | 75 |
L | 76 | VK_L | 76 |
M | 77 | VK_M | 77 |
N | 78 | VK_N | 78 |
O | 79 | VK_O | 79 |
P | 80 | VK_P | 80 |
Q | 81 | VK_Q | 81 |
R | 82 | VK_R | 82 |
S | 83 | VK_S | 83 |
T | 84 | VK_T | 84 |
U | 85 | VK_U | 85 |
V | 86 | VK_V | 86 |
W | 87 | VK_W | 87 |
X | 88 | VK_X | 88 |
Y | 89 | VK_Y | 89 |
Z | 90 | VK_Z | 90 |
NumLock | 144 | VK_NUM_LOCK | 144 |
数字小键盘0 | 96 | VK_NUMPAD0 | 96 |
数字小键盘1 | 97 | VK_NUMPAD1 | 97 |
数字小键盘2 | 98 | VK_NUMPAD2 | 98 |
数字小键盘3 | 99 | VK_NUMPAD3 | 99 |
数字小键盘4 | 100 | VK_NUMPAD4 | 100 |
数字小键盘5 | 101 | VK_NUMPAD5 | 101 |
数字小键盘6 | 102 | VK_NUMPAD6 | 102 |
数字小键盘7 | 103 | VK_NUMPAD7 | 103 |
数字小键盘8 | 104 | VK_NUMPAD8 | 104 |
数字小键盘9 | 105 | VK_NUMPAD9 | 105 |
数字小键盘+ | 107 | VK_ADD | 107 |
数字小键盘- | 109 | VK_SUBTRACT | 109 |
数字小键盘* | 106 | VK_MULTIPLY | 106 |
数字小键盘/ | 111 | VK_DIVIDE | 111 |
数字小键盘. | 110 | VK_DECIMAL | 110 |
数字小键盘Enter | 13 | VK_ENTER | 10 |
Insert | 45 | VK_INSERT | 155 |
Delete | 46 | VK_DELETE | 127 |
PageUp | 33 | VK_PAGE_UP | 33 |
PageDown | 34 | VK_PAGE_DOWN | 34 |
End | 35 | VK_END | 35 |
Home | 36 | VK_HOME | 36 |
左边方向键← | 37 | VK_LEFT | 37 |
上方向键↑ | 38 | VK_UP | 38 |
右方向键→ | 39 | VK_RIGHT | 39 |
下方向键↓ | 40 | VK_DOWN | 40 |
Tab | 9 | VK_TAB | 9 |
Caps Lock | 20 | VK_CAPS_LOCK | 20 |
Shift(Left) | 160 | VK_SHIFT | 16 |
Shift(Right) | 161 | VK_SHIFT | 16 |
Ctrl(Left) | 162 | VK_CONTROL | 17 |
Ctrl(Right) | 163 | VK_CONTROL | 17 |
Win(Left) | 91 | VK_WINDOWS | 524 |
Win(Right) | 92 | VK_WINDOWS | 524 |
Alt(Left) | 164 | VK_ALT | 18 |
Alt(Right) | 165 | VK_ALT | 18 |
- | 189 | VK_MINUS | 45 |
= | 187 | VK_EQUALS | 61 |
Backspace | 8 | VK_BACK_SPACE | 8 |
[ | 219 | VK_OPEN_BRACKET | 91 |
] | 221 | VK_CLOSE_BRACKET | 93 |
\ | 220 | VK_BACK_SLASH | 92 |
; | 186 | VK_SEMICOLON | 59 |
‘ | 222 | VK_QUOTE | 222 |
, | 188 | VK_COMMA | 44 |
. | 190 | VK_PERIOD | 46 |
/ | 191 | VK_SLASH | 47 |
Enter | 13 | VK_ENTER | 10 |