Appendix 1 - virtual key codes

Appendix 1 - virtual key codes

DEC HEX VK Comment (from MSDN)
0 00 n/a -
1 01 VK_LBUTTON Left mouse button
2 02 VK_RBUTTON Right mouse button
3 03 VK_CANCEL Control-break processing
4 04 VK_MBUTTON Middle mouse button (three-button mouse)
5 05 VK_XBUTTON1 X1 mouse button
6 06 VK_XBUTTON2 X2 mouse button
7 07 n/a -
8 08 VK_BACK BACKSPACE key
9 09 VK_TAB TAB key
10 0A n/a R
11 0B n/a R
12 0C VK_CLEAR CLEAR key
13 0D VK_RETURN ENTER key
14 0E n/a -
15 0F n/a -
16 10 VK_SHIFT SHIFT key
17 11 VK_CONTROL CTRL key
18 12 VK_MENU ALT key
19 13 VK_PAUSE PAUSE key
20 14 VK_CAPITAL CAPS LOCK key
21 15 VK_KANA IME Kana mode; IME Hanguel mode; IME Hangul mode
22 16 n/a -
23 17 VK_JUNJA IME Junja mode
24 18 VK_FINAL IME final mode
25 19 VK_HANJA IME Hanja mode; IME Kanji mode
26 1A n/a -
27 1B VK_ESCAPE ESC key
28 1C VK_CONVERT IME convert
29 1D VK_NONCONVERT IME nonconvert
30 1E VK_ACCEPT IME accept
31 1F VK_MODECHANGE IME mode change request
32 20 VK_SPACE SPACEBAR
33 21 VK_PRIOR PAGE UP key
34 22 VK_NEXT PAGE DOWN key
35 23 VK_END END key
36 24 VK_HOME HOME key
37 25 VK_LEFT LEFT ARROW key
38 26 VK_UP UP ARROW key
39 27 VK_RIGHT RIGHT ARROW key
40 28 VK_DOWN DOWN ARROW key
41 29 VK_SELECT SELECT key
42 2A VK_PRINT PRINT key
43 2B VK_EXECUTE EXECUTE key
44 2C VK_SNAPSHOT PRINT SCREEN key
45 2D VK_INSERT INS key
46 2E VK_DELETE DEL key
47 2F VK_HELP HELP key
48 30 VK_0 0 key
49 31 VK_1 1 key
50 32 VK_2 2 key
51 33 VK_3 3 key
52 34 VK_4 4 key
53 35 VK_5 5 key
54 36 VK_6 6 key
55 37 VK_7 7 key
56 38 VK_8 8 key
57 39 VK_9 9 key
58 3A n/a -
59 3B n/a -
60 3C n/a -
61 3D n/a -
62 3E n/a -
63 3F n/a -
64 40 n/a -
65 41 VK_A A key
66 42 VK_B B key
67 43 VK_C C key
68 44 VK_D D key
69 45 VK_E E key
70 46 VK_F F key
71 47 VK_G G key
72 48 VK_H H key
73 49 VK_I I key
74 4A VK_J J key
75 4B VK_K K key
76 4C VK_L L key
77 4D VK_M M key
78 4E VK_N N key
79 4F VK_O O key
80 50 VK_P P key
81 51 VK_Q Q key
82 52 VK_R R key
83 53 VK_S S key
84 54 VK_T T key
85 55 VK_U U key
86 56 VK_V V key
87 57 VK_W W key
88 58 VK_X X key
89 59 VK_Y Y key
90 5A VK_Z Z key
91 5B VK_LWIN Left Windows key (Natural keyboard)
92 5C VK_RWIN Right Windows key (Natural keyboard)
93 5D VK_APPS Applications key (Natural keyboard)
94 5E n/a R
95 5F VK_SLEEP Computer Sleep key
96 60 VK_NUMPAD0 Numeric keypad 0 key
97 61 VK_NUMPAD1 Numeric keypad 1 key
98 62 VK_NUMPAD2 Numeric keypad 2 key
99 63 VK_NUMPAD3 Numeric keypad 3 key
100 64 VK_NUMPAD4 Numeric keypad 4 key
101 65 VK_NUMPAD5 Numeric keypad 5 key
102 66 VK_NUMPAD6 Numeric keypad 6 key
103 67 VK_NUMPAD7 Numeric keypad 7 key
104 68 VK_NUMPAD8 Numeric keypad 8 key
105 69 VK_NUMPAD9 Numeric keypad 9 key
106 6A VK_MULTIPLY Multiply key
107 6B VK_ADD Add key
108 6C VK_SEPARATOR Separator key
109 6D VK_SUBTRACT Subtract key
110 6E VK_DECIMAL Decimal key
111 6F VK_DIVIDE Divide key
112 70 VK_F1 F1 key
113 71 VK_F2 F2 key
114 72 VK_F3 F3 key
115 73 VK_F4 F4 key
116 74 VK_F5 F5 key
117 75 VK_F6 F6 key
118 76 VK_F7 F7 key
119 77 VK_F8 F8 key
120 78 VK_F9 F9 key
121 79 VK_F10 F10 key
122 7A VK_F11 F11 key
123 7B VK_F12 F12 key
124 7C VK_F13 F13 key
125 7D VK_F14 F14 key
126 7E VK_F15 F15 key
127 7F VK_F16 F16 key
128 80 VK_F17 F17 key
129 81 VK_F18 F18 key
130 82 VK_F19 F19 key
131 83 VK_F20 F20 key
132 84 VK_F21 F21 key
133 85 VK_F22 F22 key
134 86 VK_F23 F23 key
135 87 VK_F24 F24 key
136 88 n/a -
137 89 n/a -
138 8A n/a -
139 8B n/a -
140 8C n/a -
141 8D n/a -
142 8E n/a -
143 8F n/a -
144 90 VK_NUMLOCK NUM LOCK key
145 91 VK_SCROLL SCROLL LOCK key
146 92 VK_OEM_NEC_EQUAL OEM specific
147 93 VK_OEM_FJ_MASSHOU OEM specific
148 94 VK_OEM_FJ_TOUROKU OEM specific
149 95 VK_OEM_FJ_LOYA OEM specific
150 96 VK_OEM_FJ_ROYA OEM specific
151 97 n/a -
152 98 n/a -
153 99 n/a -
154 9A n/a -
155 9B n/a -
156 9C n/a -
157 9D n/a -
158 9E n/a -
159 9F n/a -
160 A0 VK_LSHIFT Left SHIFT key
161 A1 VK_RSHIFT Right SHIFT key
162 A2 VK_LCONTROL Left CONTROL key
163 A3 VK_RCONTROL Right CONTROL key
164 A4 VK_LMENU Left MENU key
165 A5 VK_RMENU Right MENU key
166 A6 VK_BROWSER_BACK Browser Back key
167 A7 VK_BROWSER_FORWARD Browser Forward key
168 A8 VK_BROWSER_REFRESH Browser Refresh key
169 A9 VK_BROWSER_STOP Browser Stop key
170 AA VK_BROWSER_SEARCH Browser Search key
171 AB VK_BROWSER_FAVORITES Browser Favorites key
172 AC VK_BROWSER_HOME Browser Start and Home key
173 AD VK_VOLUME_MUTE Volume Mute key
174 AE VK_VOLUME_DOWN Volume Down key
175 AF VK_VOLUME_UP Volume Up key
176 B0 VK_MEDIA_NEXT_TRACK Next Track key
177 B1 VK_MEDIA_PREV_TRACK Previous Track key
178 B2 VK_MEDIA_STOP Stop Media key
179 B3 VK_MEDIA_PLAY_PAUSE Play/Pause Media key
180 B4 VK_LAUNCH_MAIL Start Mail key
181 B5 VK_LAUNCH_MEDIA_SELECT Select Media key
182 B6 VK_LAUNCH_APP1 Start Application 1 key
183 B7 VK_LAUNCH_APP2 Start Application 2 key
184 B8 n/a R
185 B9 n/a R
186 BA VK_OEM_1 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key
187 BB VK_OEM_PLUS For any country/region, the '+' key
188 BC VK_OEM_COMMA For any country/region, the ',' key
189 BD VK_OEM_MINUS For any country/region, the '-' key
190 BE VK_OEM_PERIOD For any country/region, the '.' key
191 BF VK_OEM_2 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key
192 C0 VK_OEM_3 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '`~' key
193 C1 n/a R
194 C2 n/a R
195 C3 n/a R
196 C4 n/a R
197 C5 n/a R
198 C6 n/a R
199 C7 n/a R
200 C8 n/a R
201 C9 n/a R
202 CA n/a R
203 CB n/a R
204 CC n/a R
205 CD n/a R
206 CE n/a R
207 CF n/a R
208 D0 n/a R
209 D1 n/a R
210 D2 n/a R
211 D3 n/a R
212 D4 n/a R
213 D5 n/a R
214 D6 n/a R
215 D7 n/a R
216 D8 n/a -
217 D9 n/a -
218 DA n/a -
219 DB VK_OEM_4 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key
220 DC VK_OEM_5 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\|' key
221 DD VK_OEM_6 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key
222 DE VK_OEM_7 Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the 'single-quote/double-quote' key
223 DF VK_OEM_8 Used for miscellaneous characters; it can vary by keyboard.
224 E0 n/a R
225 E1 VK_OEM_AX OEM specific
226 E2 VK_OEM_102 Either the angle bracket key or the backslash key on the RT 102-key keyboard
227 E3 VK_ICO_HELP OEM specific
228 E4 VK_ICO_00 OEM specific
229 E5 VK_PROCESSKEY IME PROCESS key
230 E6 VK_ICO_CLEAR OEM specific
231 E7 VK_PACKET Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods.
232 E8 n/a -
233 E9 VK_OEM_RESET OEM specific
234 EA VK_OEM_JUMP OEM specific
235 EB VK_OEM_PA1 OEM specific
236 EC VK_OEM_PA2 OEM specific
237 ED VK_OEM_PA3 OEM specific
238 EE VK_OEM_WSCTRL OEM specific
239 EF VK_OEM_CUSEL OEM specific
240 F0 VK_OEM_ATTN OEM specific
241 F1 VK_OEM_FINISH OEM specific
242 F2 VK_OEM_COPY OEM specific
243 F3 VK_OEM_AUTO OEM specific
244 F4 VK_OEM_ENLW OEM specific
245 F5 VK_OEM_BACKTAB OEM specific
246 F6 VK_ATTN Attn key
247 F7 VK_CRSEL CrSel key
248 F8 VK_EXSEL ExSel key
249 F9 VK_EREOF Erase EOF key
250 FA VK_PLAY Play key
251 FB VK_ZOOM Zoom key
252 FC VK_NONAME R
253 FD VK_PA1 PA1 key
254 FE VK_OEM_CLEAR Clear key
255 FF n/a -
  • - undefined
  • - R reserved
  • - platform specific