ReactOS
0.4.17-dev-444-g71ee754
data.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Tests
3
* LICENSE: LGPL-2.0-or-later (https://spdx.org/licenses/LGPL-2.0-or-later)
4
* PURPOSE: Common data
5
* COPYRIGHT: Copyright 2026 Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
6
*/
7
8
/*
9
* References:
10
* https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
11
* https://bsakatu.net/doc/virtual-key-of-windows/
12
*/
13
static
const
PCSTR
VkNames
[] =
14
{
15
/* 0x00 */
16
"VK_NONE"
,
17
"VK_LBUTTON"
,
18
"VK_RBUTTON"
,
19
"VK_CANCEL"
,
20
"VK_MBUTTON"
,
21
// #if (_WIN32_WINNT >= 0x0500)
22
"VK_XBUTTON1"
,
23
"VK_XBUTTON2"
,
24
// #endif /* _WIN32_WINNT >= 0x0500 */
25
NULL
,
// Reserved
26
"VK_BACK"
,
27
"VK_TAB"
,
28
NULL
,
// Reserved
29
NULL
,
// Reserved
30
"VK_CLEAR"
,
31
"VK_RETURN"
,
32
NULL
,
// Unassigned
33
NULL
,
// Unassigned
34
/* 0x10 */
35
"VK_SHIFT"
,
36
"VK_CONTROL"
,
37
"VK_MENU"
,
38
"VK_PAUSE"
,
39
"VK_CAPITAL"
,
40
"VK_KANA-VK_HANGUL"
,
41
"VK_IME_ON"
,
42
"VK_JUNJA"
,
43
"VK_FINAL"
,
44
"VK_HANJA-VK_KANJI"
,
45
"VK_IME_OFF"
,
46
"VK_ESCAPE"
,
47
"VK_CONVERT"
,
48
"VK_NONCONVERT"
,
49
"VK_ACCEPT"
,
50
"VK_MODECHANGE"
,
51
/* 0x20 */
52
"VK_SPACE"
,
53
"VK_PRIOR"
,
54
"VK_NEXT"
,
55
"VK_END"
,
56
"VK_HOME"
,
57
"VK_LEFT"
,
58
"VK_UP"
,
59
"VK_RIGHT"
,
60
"VK_DOWN"
,
61
"VK_SELECT"
,
62
"VK_PRINT"
,
63
"VK_EXECUTE"
,
64
"VK_SNAPSHOT"
,
65
"VK_INSERT"
,
66
"VK_DELETE"
,
67
"VK_HELP"
,
68
/* 0x30 */
69
/* VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39) */
70
"0"
,
71
"1"
,
72
"2"
,
73
"3"
,
74
"4"
,
75
"5"
,
76
"6"
,
77
"7"
,
78
"8"
,
79
"9"
,
80
NULL
,
// Undefined
81
NULL
,
// Undefined
82
NULL
,
// Undefined
83
NULL
,
// Undefined
84
NULL
,
// Undefined
85
NULL
,
// Undefined
86
/* 0x40 */
87
NULL
,
// Undefined
88
/* VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) */
89
"A"
,
90
"B"
,
91
"C"
,
92
"D"
,
93
"E"
,
94
"F"
,
95
"G"
,
96
"H"
,
97
"I"
,
98
"J"
,
99
"K"
,
100
"L"
,
101
"M"
,
102
"N"
,
103
"O"
,
104
/* 0x50 */
105
"P"
,
106
"Q"
,
107
"R"
,
108
"S"
,
109
"T"
,
110
"U"
,
111
"V"
,
112
"W"
,
113
"X"
,
114
"Y"
,
115
"Z"
,
116
"VK_LWIN"
,
117
"VK_RWIN"
,
118
"VK_APPS"
,
119
NULL
,
// Reserved
120
"VK_SLEEP"
,
121
/* 0x60 */
122
"VK_NUMPAD0"
,
123
"VK_NUMPAD1"
,
124
"VK_NUMPAD2"
,
125
"VK_NUMPAD3"
,
126
"VK_NUMPAD4"
,
127
"VK_NUMPAD5"
,
128
"VK_NUMPAD6"
,
129
"VK_NUMPAD7"
,
130
"VK_NUMPAD8"
,
131
"VK_NUMPAD9"
,
132
"VK_MULTIPLY"
,
133
"VK_ADD"
,
134
"VK_SEPARATOR"
,
135
"VK_SUBTRACT"
,
136
"VK_DECIMAL"
,
137
"VK_DIVIDE"
,
138
/* 0x70 */
139
"VK_F1"
,
140
"VK_F2"
,
141
"VK_F3"
,
142
"VK_F4"
,
143
"VK_F5"
,
144
"VK_F6"
,
145
"VK_F7"
,
146
"VK_F8"
,
147
"VK_F9"
,
148
"VK_F10"
,
149
"VK_F11"
,
150
"VK_F12"
,
151
"VK_F13"
,
152
"VK_F14"
,
153
"VK_F15"
,
154
"VK_F16"
,
155
/* 0x80 */
156
"VK_F17"
,
157
"VK_F18"
,
158
"VK_F19"
,
159
"VK_F20"
,
160
"VK_F21"
,
161
"VK_F22"
,
162
"VK_F23"
,
163
"VK_F24"
,
164
// #if (_WIN32_WINNT >= 0x0604)
165
"VK_NAVIGATION_VIEW"
,
// Reserved
166
"VK_NAVIGATION_MENU"
,
// Reserved
167
"VK_NAVIGATION_UP"
,
// Reserved
168
"VK_NAVIGATION_DOWN"
,
// Reserved
169
"VK_NAVIGATION_LEFT"
,
// Reserved
170
"VK_NAVIGATION_RIGHT"
,
// Reserved
171
"VK_NAVIGATION_ACCEPT"
,
// Reserved
172
"VK_NAVIGATION_CANCEL"
,
// Reserved
173
// #endif /* _WIN32_WINNT >= 0x0604 */
174
/* 0x90 */
175
"VK_NUMLOCK"
,
176
"VK_SCROLL"
,
177
/*
178
* OEM specific
179
*/
180
/* NEC PC-9800 kbd definitions */
181
// "VK_OEM_NEC_EQUAL", // '=' key on numpad // Same value as VK_OEM_FJ_JISHO
182
/*
183
* Fujitsu/OASYS kbd definitions
184
*/
185
"VK_OEM_FJ_JISHO"
,
// 'Dictionary' key
186
"VK_OEM_FJ_MASSHOU"
,
// 'Unregister word' key
187
"VK_OEM_FJ_TOUROKU"
,
// 'Register word' key
188
"VK_OEM_FJ_LOYA"
,
// 'Left OYAYUBI' key
189
"VK_OEM_FJ_ROYA"
,
// 'Right OYAYUBI' key
190
NULL
,
// Unassigned
191
NULL
,
// Unassigned
192
NULL
,
// Unassigned
193
NULL
,
// Unassigned
194
NULL
,
// Unassigned
195
NULL
,
// Unassigned
196
NULL
,
// Unassigned
197
NULL
,
// Unassigned
198
NULL
,
// Unassigned
199
/* 0xA0 */
200
"VK_LSHIFT"
,
201
"VK_RSHIFT"
,
202
"VK_LCONTROL"
,
203
"VK_RCONTROL"
,
204
"VK_LMENU"
,
205
"VK_RMENU"
,
206
// #if (_WIN32_WINNT >= 0x0500)
207
"VK_BROWSER_BACK"
,
208
"VK_BROWSER_FORWARD"
,
209
"VK_BROWSER_REFRESH"
,
210
"VK_BROWSER_STOP"
,
211
"VK_BROWSER_SEARCH"
,
212
"VK_BROWSER_FAVORITES"
,
213
"VK_BROWSER_HOME"
,
214
"VK_VOLUME_MUTE"
,
215
"VK_VOLUME_DOWN"
,
216
"VK_VOLUME_UP"
,
217
/* 0xB0 */
218
"VK_MEDIA_NEXT_TRACK"
,
219
"VK_MEDIA_PREV_TRACK"
,
220
"VK_MEDIA_STOP"
,
221
"VK_MEDIA_PLAY_PAUSE"
,
222
"VK_LAUNCH_MAIL"
,
223
"VK_LAUNCH_MEDIA_SELECT"
,
224
"VK_LAUNCH_APP1"
,
225
"VK_LAUNCH_APP2"
,
226
// #endif /* _WIN32_WINNT >= 0x0500 */
227
NULL
,
// Reserved
228
NULL
,
// Reserved
229
"VK_OEM_1"
,
// ';:' for US
230
"VK_OEM_PLUS"
,
// '+' any country
231
"VK_OEM_COMMA"
,
// ',' any country
232
"VK_OEM_MINUS"
,
// '-' any country
233
"VK_OEM_PERIOD"
,
// '.' any country
234
"VK_OEM_2"
,
// '/?' for US
235
/* 0xC0 */
236
"VK_OEM_3"
,
// '`~' for US
237
NULL
,
// Reserved
238
NULL
,
// Reserved
239
// #if (_WIN32_WINNT >= 0x0604)
240
"VK_GAMEPAD_A"
,
241
"VK_GAMEPAD_B"
,
242
"VK_GAMEPAD_X"
,
243
"VK_GAMEPAD_Y"
,
244
"VK_GAMEPAD_RIGHT_SHOULDER"
,
245
"VK_GAMEPAD_LEFT_SHOULDER"
,
246
"VK_GAMEPAD_LEFT_TRIGGER"
,
247
"VK_GAMEPAD_RIGHT_TRIGGER"
,
248
"VK_GAMEPAD_DPAD_UP"
,
249
"VK_GAMEPAD_DPAD_DOWN"
,
250
"VK_GAMEPAD_DPAD_LEFT"
,
251
"VK_GAMEPAD_DPAD_RIGHT"
,
252
"VK_GAMEPAD_MENU"
,
253
/* 0xD0 */
254
"VK_GAMEPAD_VIEW"
,
255
"VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON"
,
256
"VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON"
,
257
"VK_GAMEPAD_LEFT_THUMBSTICK_UP"
,
258
"VK_GAMEPAD_LEFT_THUMBSTICK_DOWN"
,
259
"VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT"
,
260
"VK_GAMEPAD_LEFT_THUMBSTICK_LEFT"
,
261
"VK_GAMEPAD_RIGHT_THUMBSTICK_UP"
,
262
"VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN"
,
263
"VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT"
,
264
"VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT"
,
265
// #endif /* _WIN32_WINNT >= 0x0604 */
266
"VK_OEM_4"
,
// '[{' for US
267
"VK_OEM_5"
,
// '\|' for US
268
"VK_OEM_6"
,
// ']}' for US
269
"VK_OEM_7"
,
// ''"' for US
270
"VK_OEM_8"
,
271
/* 0xE0 */
272
NULL
,
// Reserved
273
"VK_OEM_AX"
,
// 'AX' key on Japanese AX kbd // OEM specific
274
"VK_OEM_102"
,
// "<>" or "\|" on RT 102-key kbd // OEM specific
275
"VK_ICO_HELP"
,
// Help key on ICO // OEM specific
276
"VK_ICO_00"
,
// 00 key on ICO // OEM specific
277
// #if (WINVER >= 0x0400)
278
"VK_PROCESSKEY"
,
279
// #endif /* WINVER >= 0x0400 */
280
"VK_ICO_CLEAR"
,
// OEM specific
281
// #if (_WIN32_WINNT >= 0x0500)
282
"VK_PACKET"
,
283
// #endif /* _WIN32_WINNT >= 0x0500 */
284
NULL
,
// Unassigned
285
/*
286
* OEM specific
287
* Nokia/Ericsson definitions
288
*/
289
"VK_OEM_RESET"
,
290
"VK_OEM_JUMP"
,
291
"VK_OEM_PA1"
,
292
"VK_OEM_PA2"
,
293
"VK_OEM_PA3"
,
294
"VK_OEM_WSCTRL"
,
295
"VK_OEM_CUSEL"
,
296
/* 0xF0 */
297
"VK_OEM_ATTN"
,
298
"VK_OEM_FINISH"
,
299
"VK_OEM_COPY"
,
300
"VK_OEM_AUTO"
,
301
"VK_OEM_ENLW"
,
302
"VK_OEM_BACKTAB"
,
303
/* END of OEM definitions */
304
"VK_ATTN"
,
305
"VK_CRSEL"
,
306
"VK_EXSEL"
,
307
"VK_EREOF"
,
308
"VK_PLAY"
,
309
"VK_ZOOM"
,
310
"VK_NONAME"
,
// Reserved
311
"VK_PA1"
,
312
"VK_OEM_CLEAR"
,
313
"VK_UNKNOWN"
314
};
315
C_ASSERT
(
_countof
(
VkNames
) == 0x100);
316
317
/* EOF */
NULL
#define NULL
Definition:
types.h:112
C_ASSERT
#define C_ASSERT(e)
Definition:
intsafe.h:73
VkNames
static const PCSTR VkNames[]
Definition:
data.c:13
_countof
#define _countof(array)
Definition:
sndvol32.h:70
PCSTR
const char * PCSTR
Definition:
typedefs.h:52
modules
rostests
win32
user32
menuaccels
data.c
Generated on Mon Jul 6 2026 06:30:17 for ReactOS by
1.9.6