PART 6 Appendixes
Appendix A Virtual-Key Codes
The following table shows the symbolic constant names, hexadecimal values, and keyboard equivalents for the virtual-key codes used by the Microsoft Windows operating system. The codes are listed in numeric order.
Symbolic constant name |
Value\&(hexadecimal) |
Mouse or keyboard equivalent |
VK_LBUTTON |
01 |
Left mouse button |
VK_RBUTTON |
02 |
Right mouse button |
VK_CANCEL |
03 |
Used for control-break processing |
VK_MBUTTON |
04 |
Middle mouse button (three-button mouse) |
— |
05–07 |
Undefined |
VK_BACK |
08 |
BACKSPACE key |
VK_TAB |
09 |
TAB key |
— |
0A–0B |
Undefined |
VK_CLEAR |
0C |
CLEAR key |
VK_RETURN |
0D |
ENTER key |
— |
0E–0F |
Undefined |
VK_SHIFT |
10 |
SHIFT key |
VK_CONTROL |
11 |
CTRL key |
VK_MENU |
12 |
ALT key |
VK_PAUSE |
13 |
PAUSE key |
VK_CAPITAL |
14 |
CAPS LOCK key |
— |
15–19 |
Reserved for Kanji systems |
— |
1A |
Undefined |
VK_ESCAPE |
1B |
ESC key |
— |
1C–1F |
Reserved for Kanji systems |
VK_SPACE |
20 |
SPACEBAR |
VK_PRIOR |
21 |
PAGE UP key |
VK_NEXT |
22 |
PAGE DOWN key |
VK_END |
23 |
END key |
VK_HOME |
24 |
HOME key |
VK_LEFT |
25 |
LEFT ARROW key |
VK_UP |
26 |
UP ARROW key |
VK_RIGHT |
27 |
RIGHT ARROW key |
VK_DOWN |
28 |
DOWN ARROW key |
VK_SELECT |
29 |
SELECT key |
— |
2A |
OEM specific |
VK_EXECUTE |
2B |
EXECUTE key |
VK_SNAPSHOT |
2C |
PRINT SCREEN key for Windows 3.0 and later |
VK_INSERT |
2D |
INS key |
VK_DELETE |
2E |
DEL key |
VK_HELP |
2F |
HELP key |
VK_0 |
30 |
0 key |
VK_1 |
31 |
1 key |
VK_2 |
32 |
2 key |
VK_3 |
33 |
3 key |
VK_4 |
34 |
4 key |
VK_5 |
35 |
5 key |
VK_6 |
36 |
6 key |
VK_7 |
37 |
7 key |
VK_8 |
38 |
8 key |
VK_9 |
39 |
9 key |
— |
3A–40 |
Undefined |
VK_A |
41 |
A key |
VK_B |
42 |
B key |
VK_C |
43 |
C key |
VK_D |
44 |
D key |
VK_E |
45 |
E key |
VK_F |
46 |
F key |
VK_G |
47 |
G key |
VK_H |
48 |
H key |
VK_I |
49 |
I key |
VK_J |
4A |
J key |
VK_K |
4B |
K key |
VK_L |
4C |
L key |
VK_M |
4D |
M key |
VK_N |
4E |
N key |
VK_O |
4F |
O key |
VK_P |
50 |
P key |
VK_Q |
51 |
Q key |
VK_R |
52 |
R key |
VK_S |
53 |
S key |
VK_T |
54 |
T key |
VK_U |
55 |
U key |
VK_V |
56 |
V key |
VK_W |
57 |
W key |
VK_X |
58 |
X key |
VK_Y |
59 |
Y key |
VK_Z |
5A |
Z key |
— |
5B–5F |
Undefined |
VK_NUMPAD0 |
60 |
Numeric keypad 0 key |
VK_NUMPAD1 |
61 |
Numeric keypad 1 key |
VK_NUMPAD2 |
62 |
Numeric keypad 2 key |
VK_NUMPAD3 |
63 |
Numeric keypad 3 key |
VK_NUMPAD4 |
64 |
Numeric keypad 4 key |
VK_NUMPAD5 |
65 |
Numeric keypad 5 key |
VK_NUMPAD6 |
66 |
Numeric keypad 6 key |
VK_NUMPAD7 |
67 |
Numeric keypad 7 key |
VK_NUMPAD8 |
68 |
Numeric keypad 8 key |
VK_NUMPAD9 |
69 |
Numeric keypad 9 key |
VK_MULTIPLY |
6A |
Multiply key |
VK_ADD |
6B |
Add key |
VK_SEPARATOR |
6C |
Separator key |
VK_SUBTRACT |
6D |
Subtract key |
VK_DECIMAL |
6E |
Decimal key |
VK_DIVIDE |
6F |
Divide key |
VK_F1 |
70 |
F1 key |
VK_F2 |
71 |
F2 key |
VK_F3 |
72 |
F3 key |
VK_F4 |
73 |
F4 key |
VK_F5 |
74 |
F5 key |
VK_F6 |
75 |
F6 key |
VK_F7 |
76 |
F7 key |
VK_F8 |
77 |
F8 key |
VK_F9 |
78 |
F9 key |
VK_F10 |
79 |
F10 key |
VK_F11 |
7A |
F11 key |
VK_F12 |
7B |
F12 key |
VK_F13 |
7C |
F13 key |
VK_F14 |
7D |
F14 key |
VK_F15 |
7E |
F15 key |
VK_F16 |
7F |
F16 key |
VK_F17 |
80H |
F17 key |
VK_F18 |
81H |
F18 key |
VK_F19 |
82H |
F19 key |
VK_F20 |
83H |
F20 key |
VK_F21 |
84H |
F21 key |
VK_F22 |
85H |
F22 key |
VK_F23 |
86H |
F23 key |
VK_F24 |
87H |
F24 key |
— |
88–8F |
Unassigned |
VK_NUMLOCK |
90 |
NUM LOCK key |
VK_SCROLL |
91 |
SCROLL LOCK key |
— |
92–B9 |
Unassigned |
— |
BA–C0 |
OEM specific |
— |
C1–DA |
Unassigned |
— |
DB–E4 |
OEM specific |
— |
E5 |
Unassigned |
— |
E6 |
OEM specific |
— |
E7–E8 |
Unassigned |
— |
E9–F5 |
OEM specific |
— |
F6–FE |
Unassigned |