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 */
13static 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};
316
317/* EOF */
#define NULL
Definition: types.h:112
#define C_ASSERT(e)
Definition: intsafe.h:73
static const PCSTR VkNames[]
Definition: data.c:13
#define _countof(array)
Definition: sndvol32.h:70
const char * PCSTR
Definition: typedefs.h:52