acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
winpr_input.h
1
//
2
// winpr_keycode.hpp
3
// acme
4
//
5
// Created by Camilo Sasuke Thomas Borregaard Soerensen on 07/06/19.
6
//
7
8
9
#pragma once
10
11
12
13
14
/*
15
* Virtual Keys, Standard Set
16
*/
17
#define VK_LBUTTON 0x01
18
#define VK_RBUTTON 0x02
19
#define VK_CANCEL 0x03
20
#define VK_MBUTTON 0x04
/* NOT contiguous with L & RBUTTON */
21
22
#if(_WIN32_WINNT >= 0x0500)
23
#define VK_XBUTTON1 0x05
/* NOT contiguous with L & RBUTTON */
24
#define VK_XBUTTON2 0x06
/* NOT contiguous with L & RBUTTON */
25
#endif
/* _WIN32_WINNT >= 0x0500 */
26
27
/*
28
* 0x07 : unassigned
29
*/
30
31
#define VK_BACK 0x08
32
#define VK_TAB 0x09
33
34
/*
35
* 0x0A - 0x0B : reserved
36
*/
37
38
#define VK_CLEAR 0x0C
39
#define VK_RETURN 0x0D
40
41
#define VK_SHIFT 0x10
42
#define VK_CONTROL 0x11
43
#define VK_MENU 0x12
44
#define VK_PAUSE 0x13
45
#define VK_CAPITAL 0x14
46
47
#define VK_KANA 0x15
48
#define VK_HANGEUL 0x15
/* old name - should be here for compatibility */
49
#define VK_HANGUL 0x15
50
#define VK_JUNJA 0x17
51
#define VK_FINAL 0x18
52
#define VK_HANJA 0x19
53
#define VK_KANJI 0x19
54
55
#define VK_ESCAPE 0x1B
56
57
#define VK_CONVERT 0x1C
58
#define VK_NONCONVERT 0x1D
59
#define VK_ACCEPT 0x1E
60
#define VK_MODECHANGE 0x1F
61
62
#define VK_SPACE 0x20
63
#define VK_PRIOR 0x21
64
#define VK_NEXT 0x22
65
#define VK_END 0x23
66
#define VK_HOME 0x24
67
#define VK_LEFT 0x25
68
#define VK_UP 0x26
69
#define VK_RIGHT 0x27
70
#define VK_DOWN 0x28
71
#define VK_SELECT 0x29
72
#define VK_PRINT 0x2A
73
#define VK_EXECUTE 0x2B
74
#define VK_SNAPSHOT 0x2C
75
#define VK_INSERT 0x2D
76
#define VK_DELETE 0x2E
77
#define VK_HELP 0x2F
78
79
/*
80
* VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
81
* 0x40 : unassigned
82
* VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
83
*/
84
85
#define VK_LWIN 0x5B
86
#define VK_RWIN 0x5C
87
#define VK_APPS 0x5D
88
89
/*
90
* 0x5E : reserved
91
*/
92
93
#define VK_SLEEP 0x5F
94
95
#define VK_NUMPAD0 0x60
96
#define VK_NUMPAD1 0x61
97
#define VK_NUMPAD2 0x62
98
#define VK_NUMPAD3 0x63
99
#define VK_NUMPAD4 0x64
100
#define VK_NUMPAD5 0x65
101
#define VK_NUMPAD6 0x66
102
#define VK_NUMPAD7 0x67
103
#define VK_NUMPAD8 0x68
104
#define VK_NUMPAD9 0x69
105
#define VK_MULTIPLY 0x6A
106
#define VK_ADD 0x6B
107
#define VK_SEPARATOR 0x6C
108
#define VK_SUBTRACT 0x6D
109
#define VK_DECIMAL 0x6E
110
#define VK_DIVIDE 0x6F
111
#define VK_F1 0x70
112
#define VK_F2 0x71
113
#define VK_F3 0x72
114
#define VK_F4 0x73
115
#define VK_F5 0x74
116
#define VK_F6 0x75
117
#define VK_F7 0x76
118
#define VK_F8 0x77
119
#define VK_F9 0x78
120
#define VK_F10 0x79
121
#define VK_F11 0x7A
122
#define VK_F12 0x7B
123
#define VK_F13 0x7C
124
#define VK_F14 0x7D
125
#define VK_F15 0x7E
126
#define VK_F16 0x7F
127
#define VK_F17 0x80
128
#define VK_F18 0x81
129
#define VK_F19 0x82
130
#define VK_F20 0x83
131
#define VK_F21 0x84
132
#define VK_F22 0x85
133
#define VK_F23 0x86
134
#define VK_F24 0x87
135
136
/*
137
* 0x88 - 0x8F : unassigned
138
*/
139
140
#define VK_NUMLOCK 0x90
141
#define VK_SCROLL 0x91
142
143
/*
144
* NEC PC-9800 kbd definitions
145
*/
146
#define VK_OEM_NEC_EQUAL 0x92
// '=' key on numpad
147
148
/*
149
* Fujitsu/OASYS kbd definitions
150
*/
151
#define VK_OEM_FJ_JISHO 0x92
// 'Dictionary' key
152
#define VK_OEM_FJ_MASSHOU 0x93
// 'Unregister word' key
153
#define VK_OEM_FJ_TOUROKU 0x94
// 'Register word' key
154
#define VK_OEM_FJ_LOYA 0x95
// 'Left OYAYUBI' key
155
#define VK_OEM_FJ_ROYA 0x96
// 'Right OYAYUBI' key
156
157
/*
158
* 0x97 - 0x9F : unassigned
159
*/
160
161
/*
162
* VK_L* & VK_R* - left and right Alt, Ctrl and Shift virtual keys.
163
* Used only as parameters to GetAsyncKeyState() and GetKeyState().
164
* No other API or message will distinguish left and right keys in this way.
165
*/
166
#define VK_LSHIFT 0xA0
167
#define VK_RSHIFT 0xA1
168
#define VK_LCONTROL 0xA2
169
#define VK_RCONTROL 0xA3
170
#define VK_LMENU 0xA4
171
#define VK_RMENU 0xA5
172
173
#if(_WIN32_WINNT >= 0x0500)
174
#define VK_BROWSER_BACK 0xA6
175
#define VK_BROWSER_FORWARD 0xA7
176
#define VK_BROWSER_REFRESH 0xA8
177
#define VK_BROWSER_STOP 0xA9
178
#define VK_BROWSER_SEARCH 0xAA
179
#define VK_BROWSER_FAVORITES 0xAB
180
#define VK_BROWSER_HOME 0xAC
181
182
#define VK_VOLUME_MUTE 0xAD
183
#define VK_VOLUME_DOWN 0xAE
184
#define VK_VOLUME_UP 0xAF
185
#define VK_MEDIA_NEXT_TRACK 0xB0
186
#define VK_MEDIA_PREV_TRACK 0xB1
187
#define VK_MEDIA_STOP 0xB2
188
#define VK_MEDIA_PLAY_PAUSE 0xB3
189
#define VK_LAUNCH_MAIL 0xB4
190
#define VK_LAUNCH_MEDIA_SELECT 0xB5
191
#define VK_LAUNCH_APP1 0xB6
192
#define VK_LAUNCH_APP2 0xB7
193
194
#endif
/* _WIN32_WINNT >= 0x0500 */
195
196
/*
197
* 0xB8 - 0xB9 : reserved
198
*/
199
200
#define VK_OEM_1 0xBA
// ';:' for US
201
#define VK_OEM_PLUS 0xBB
// '+' any country
202
#define VK_OEM_COMMA 0xBC
// ',' any country
203
#define VK_OEM_MINUS 0xBD
// '-' any country
204
#define VK_OEM_PERIOD 0xBE
// '.' any country
205
#define VK_OEM_2 0xBF
// '/?' for US
206
#define VK_OEM_3 0xC0
// '`~' for US
207
208
209
210
/*
211
* 0xC1 - 0xD7 : reserved
212
*/
213
214
/*
215
* 0xD8 - 0xDA : unassigned
216
*/
217
218
#define VK_OEM_4 0xDB
// '[{' for US
219
#define VK_OEM_5 0xDC
// '\|' for US
220
#define VK_OEM_6 0xDD
// ']}' for US
221
#define VK_OEM_7 0xDE
// ''"' for US
222
#define VK_OEM_8 0xDF
223
224
/*
225
* 0xE0 : reserved
226
*/
227
228
/*
229
* Various extended or enhanced keyboards
230
*/
231
#define VK_OEM_AX 0xE1
// 'AX' key on Japanese AX kbd
232
#define VK_OEM_102 0xE2
// "<>" or "\|" on RT 102-key kbd.
233
#define VK_ICO_HELP 0xE3
// Help key on ICO
234
#define VK_ICO_00 0xE4
// 00 key on ICO
235
236
#if(WINVER >= 0x0400)
237
#define VK_PROCESSKEY 0xE5
238
#endif
/* WINVER >= 0x0400 */
239
240
#define VK_ICO_CLEAR 0xE6
241
242
243
#if(_WIN32_WINNT >= 0x0500)
244
#define VK_PACKET 0xE7
245
#endif
/* _WIN32_WINNT >= 0x0500 */
246
247
/*
248
* 0xE8 : unassigned
249
*/
250
251
/*
252
* Nokia/Ericsson definitions
253
*/
254
#define VK_OEM_RESET 0xE9
255
#define VK_OEM_JUMP 0xEA
256
#define VK_OEM_PA1 0xEB
257
#define VK_OEM_PA2 0xEC
258
#define VK_OEM_PA3 0xED
259
#define VK_OEM_WSCTRL 0xEE
260
#define VK_OEM_CUSEL 0xEF
261
#define VK_OEM_ATTN 0xF0
262
#define VK_OEM_FINISH 0xF1
263
#define VK_OEM_COPY 0xF2
264
#define VK_OEM_AUTO 0xF3
265
#define VK_OEM_ENLW 0xF4
266
#define VK_OEM_BACKTAB 0xF5
267
268
#define VK_ATTN 0xF6
269
#define VK_CRSEL 0xF7
270
#define VK_EXSEL 0xF8
271
#define VK_EREOF 0xF9
272
#define VK_PLAY 0xFA
273
#define VK_ZOOM 0xFB
274
#define VK_NONAME 0xFC
275
#define VK_PA1 0xFD
276
#define VK_OEM_CLEAR 0xFE
277
278
280
284
285
#define KBDEXT (::u16) 0x0100
286
#define KBDMULTIVK (::u16) 0x0200
287
#define KBDSPECIAL (::u16) 0x0400
288
#define KBDNUMPAD (::u16) 0x0800
289
#define KBDUNICODE (::u16) 0x1000
290
#define KBDINJECTEDVK (::u16) 0x2000
291
#define KBDMAPPEDVK (::u16) 0x4000
292
#define KBDBREAK (::u16) 0x8000
293
294
295
/* Browser related keys */
296
297
#define VK_BROWSER_BACK 0xA6
/* Windows 2000/XP: Browser Back key */
298
#define VK_BROWSER_FORWARD 0xA7
/* Windows 2000/XP: Browser Forward key */
299
#define VK_BROWSER_REFRESH 0xA8
/* Windows 2000/XP: Browser Refresh key */
300
#define VK_BROWSER_STOP 0xA9
/* Windows 2000/XP: Browser Stop key */
301
#define VK_BROWSER_SEARCH 0xAA
/* Windows 2000/XP: Browser Search key */
302
#define VK_BROWSER_FAVORITES 0xAB
/* Windows 2000/XP: Browser Favorites key */
303
#define VK_BROWSER_HOME 0xAC
/* Windows 2000/XP: Browser Start and Home key */
304
305
/* Volume related keys */
306
307
#define VK_VOLUME_MUTE 0xAD
/* Windows 2000/XP: Volume Mute key */
308
#define VK_VOLUME_DOWN 0xAE
/* Windows 2000/XP: Volume Down key */
309
#define VK_VOLUME_UP 0xAF
/* Windows 2000/XP: Volume Up key */
310
311
/* Media player related keys */
312
313
#define VK_MEDIA_NEXT_TRACK 0xB0
/* Windows 2000/XP: Next Track key */
314
#define VK_MEDIA_PREV_TRACK 0xB1
/* Windows 2000/XP: Previous Track key */
315
#define VK_MEDIA_STOP 0xB2
/* Windows 2000/XP: Stop Media key */
316
#define VK_MEDIA_PLAY_PAUSE 0xB3
/* Windows 2000/XP: Play/Pause Media key */
317
318
/* papp launcher keys */
319
320
#define VK_LAUNCH_MAIL 0xB4
/* Windows 2000/XP: Start Mail key */
321
#define VK_MEDIA_SELECT 0xB5
/* Windows 2000/XP: Select Media key */
322
#define VK_LAUNCH_MEDIA_SELECT 0xB5
/* Windows 2000/XP: Select Media key */
323
#define VK_LAUNCH_APP1 0xB6
/* Windows 2000/XP: Start papp 1 key */
324
#define VK_LAUNCH_APP2 0xB7
/* Windows 2000/XP: Start papp 2 key */
325
326
/* 0xB8 and 0xB9 are reserved */
327
328
/* OEM keys */
329
330
#define VK_OEM_1 0xBA
/* Used for miscellaneous characters; it can vary by keyboard. */
331
/* Windows 2000/XP: For the US standard keyboard, the ';:' key */
332
333
#define VK_OEM_PLUS 0xBB
/* Windows 2000/XP: For any country/region, the '+' key */
334
#define VK_OEM_COMMA 0xBC
/* Windows 2000/XP: For any country/region, the ',' key */
335
#define VK_OEM_MINUS 0xBD
/* Windows 2000/XP: For any country/region, the '-' key */
336
#define VK_OEM_PERIOD 0xBE
/* Windows 2000/XP: For any country/region, the '.' key */
337
338
#define VK_OEM_2 0xBF
/* Used for miscellaneous characters; it can vary by keyboard. */
339
/* Windows 2000/XP: For the US standard keyboard, the '/?' key */
340
341
#define VK_OEM_3 0xC0
/* Used for miscellaneous characters; it can vary by keyboard. */
342
/* Windows 2000/XP: For the US standard keyboard, the '`~' key */
343
344
/* 0xC1 to 0xD7 are reserved */
345
#define VK_ABNT_C1 0xC1
/* Brazilian (ABNT) Keyboard */
346
#define VK_ABNT_C2 0xC2
/* Brazilian (ABNT) Keyboard */
347
348
/* 0xD8 to 0xDA are unassigned */
349
350
#define VK_OEM_4 0xDB
/* Used for miscellaneous characters; it can vary by keyboard. */
351
/* Windows 2000/XP: For the US standard keyboard, the '[{' key */
352
353
#define VK_OEM_5 0xDC
/* Used for miscellaneous characters; it can vary by keyboard. */
354
/* Windows 2000/XP: For the US standard keyboard, the '\|' key */
355
356
#define VK_OEM_6 0xDD
/* Used for miscellaneous characters; it can vary by keyboard. */
357
/* Windows 2000/XP: For the US standard keyboard, the ']}' key */
358
359
#define VK_OEM_7 0xDE
/* Used for miscellaneous characters; it can vary by keyboard. */
360
/* Windows 2000/XP: For the US standard keyboard, the 'single-quote/::f64-quote' key */
361
362
#define VK_OEM_8 0xDF
/* Used for miscellaneous characters; it can vary by keyboard. */
363
364
/* 0xE0 is reserved */
365
366
#define VK_OEM_AX 0xE1
/* AX key on Japanese AX keyboard */
367
368
#define VK_OEM_102 0xE2
/* Windows 2000/XP: Either the angle bracket key or */
369
/* the backslash key on the RT 102-key keyboard */
370
371
/* 0xE3 and 0xE4 are OEM specific */
372
373
#define VK_PROCESSKEY 0xE5
/* Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key */
374
375
/* 0xE6 is OEM specific */
376
377
#define VK_PACKET 0xE7
/* Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. */
378
/* The #define VK_PACKET key is the low word of a 32-bit Virtual Key value used */
379
/* for non-keyboard input methods. For more information, */
380
/* see Remark in KEYBDINPUT, SendInput, ::user::e_message_key_down, and ::user::e_message_key_up */
381
382
/* 0xE8 is unassigned */
383
/* 0xE9 to 0xF5 are OEM specific */
384
385
#define VK_OEM_RESET 0xE9
386
#define VK_OEM_JUMP 0xEA
387
#define VK_OEM_PA1 0xEB
388
#define VK_OEM_PA2 0xEC
389
#define VK_OEM_PA3 0xED
390
#define VK_OEM_WSCTRL 0xEE
391
#define VK_OEM_CUSEL 0xEF
392
#define VK_OEM_ATTN 0xF0
393
#define VK_OEM_FINISH 0xF1
394
#define VK_OEM_COPY 0xF2
395
#define VK_OEM_AUTO 0xF3
396
#define VK_OEM_ENLW 0xF4
397
#define VK_OEM_BACKTAB 0xF5
398
399
#define VK_ATTN 0xF6
/* Attn key */
400
#define VK_CRSEL 0xF7
/* CrSel key */
401
#define VK_EXSEL 0xF8
/* ExSel key */
402
#define VK_EREOF 0xF9
/* Erase EOF key */
403
#define VK_PLAY 0xFA
/* Play key */
404
#define VK_ZOOM 0xFB
/* Zoom key */
405
#define VK_NONAME 0xFC
/* Reserved */
406
#define VK_PA1 0xFD
/* PA1 key */
407
#define VK_OEM_CLEAR 0xFE
/* Clear key */
408
409
#define VK_NONE 0xFF
/* no key */
410
415
416
#define VK_DBE_ALPHANUMERIC 0xF0
/* Changes the mode to alphanumeric. */
417
#define VK_DBE_KATAKANA 0xF1
/* Changes the mode to Katakana. */
418
#define VK_DBE_HIRAGANA 0xF2
/* Changes the mode to Hiragana. */
419
#define VK_DBE_SBCSCHAR 0xF3
/* Changes the mode to single-::u8 characters. */
420
#define VK_DBE_DBCSCHAR 0xF4
/* Changes the mode to ::f64-::u8 characters. */
421
#define VK_DBE_ROMAN 0xF5
/* Changes the mode to Roman characters. */
422
#define VK_DBE_NOROMAN 0xF6
/* Changes the mode to non-Roman characters. */
423
#define VK_DBE_ENTERWORDREGISTERMODE 0xF7
/* Activates the word registration dialog box. */
424
#define VK_DBE_ENTERIMECONFIGMODE 0xF8
/* Activates a dialog box for setting up an IME environment. */
425
#define VK_DBE_FLUSHSTRING 0xF9
/* Deletes the undetermined string without determining it. */
426
#define VK_DBE_CODEINPUT 0xFA
/* Changes the mode to code input. */
427
#define VK_DBE_NOCODEINPUT 0xFB
/* Changes the mode to no-code input. */
428
429
/*
430
* Virtual Scan Codes
431
*/
432
436
437
#define KBD4_T00 VK_NONE
438
#define KBD4_T01 VK_ESCAPE
439
#define KBD4_T02 VK_KEY_1
440
#define KBD4_T03 VK_KEY_2
441
#define KBD4_T04 VK_KEY_3
442
#define KBD4_T05 VK_KEY_4
443
#define KBD4_T06 VK_KEY_5
444
#define KBD4_T07 VK_KEY_6
445
#define KBD4_T08 VK_KEY_7
446
#define KBD4_T09 VK_KEY_8
447
#define KBD4_T0A VK_KEY_9
448
#define KBD4_T0B VK_KEY_0
449
#define KBD4_T0C VK_OEM_MINUS
450
#define KBD4_T0D VK_OEM_PLUS
/* NE */
451
#define KBD4_T0E VK_BACK
452
#define KBD4_T0F VK_TAB
453
#define KBD4_T10 VK_KEY_Q
454
#define KBD4_T11 VK_KEY_W
455
#define KBD4_T12 VK_KEY_E
456
#define KBD4_T13 VK_KEY_R
457
#define KBD4_T14 VK_KEY_T
458
#define KBD4_T15 VK_KEY_Y
459
#define KBD4_T16 VK_KEY_U
460
#define KBD4_T17 VK_KEY_I
461
#define KBD4_T18 VK_KEY_O
462
#define KBD4_T19 VK_KEY_P
463
#define KBD4_T1A VK_OEM_4
/* NE */
464
#define KBD4_T1B VK_OEM_6
/* NE */
465
#define KBD4_T1C VK_RETURN
466
#define KBD4_T1D VK_LCONTROL
467
#define KBD4_T1E VK_KEY_A
468
#define KBD4_T1F VK_KEY_S
469
#define KBD4_T20 VK_KEY_D
470
#define KBD4_T21 VK_KEY_F
471
#define KBD4_T22 VK_KEY_G
472
#define KBD4_T23 VK_KEY_H
473
#define KBD4_T24 VK_KEY_J
474
#define KBD4_T25 VK_KEY_K
475
#define KBD4_T26 VK_KEY_L
476
#define KBD4_T27 VK_OEM_1
/* NE */
477
#define KBD4_T28 VK_OEM_7
/* NE */
478
#define KBD4_T29 VK_OEM_3
/* NE */
479
#define KBD4_T2A VK_LSHIFT
480
#define KBD4_T2B VK_OEM_5
481
#define KBD4_T2C VK_KEY_Z
482
#define KBD4_T2D VK_KEY_X
483
#define KBD4_T2E VK_KEY_C
484
#define KBD4_T2F VK_KEY_V
485
#define KBD4_T30 VK_KEY_B
486
#define KBD4_T31 VK_KEY_N
487
#define KBD4_T32 VK_KEY_M
488
#define KBD4_T33 VK_OEM_COMMA
489
#define KBD4_T34 VK_OEM_PERIOD
490
#define KBD4_T35 VK_OEM_2
491
#define KBD4_T36 VK_RSHIFT
492
#define KBD4_T37 VK_MULTIPLY
493
#define KBD4_T38 VK_LMENU
494
#define KBD4_T39 VK_SPACE
495
#define KBD4_T3A VK_CAPITAL
496
#define KBD4_T3B VK_F1
497
#define KBD4_T3C VK_F2
498
#define KBD4_T3D VK_F3
499
#define KBD4_T3E VK_F4
500
#define KBD4_T3F VK_F5
501
#define KBD4_T40 VK_F6
502
#define KBD4_T41 VK_F7
503
#define KBD4_T42 VK_F8
504
#define KBD4_T43 VK_F9
505
#define KBD4_T44 VK_F10
506
#define KBD4_T45 VK_NUMLOCK
507
#define KBD4_T46 VK_SCROLL
508
#define KBD4_T47 VK_NUMPAD7
/* VK_HOME */
509
#define KBD4_T48 VK_NUMPAD8
/* VK_UP */
510
#define KBD4_T49 VK_NUMPAD9
/* VK_PRIOR */
511
#define KBD4_T4A VK_SUBTRACT
512
#define KBD4_T4B VK_NUMPAD4
/* VK_LEFT */
513
#define KBD4_T4C VK_NUMPAD5
/* VK_CLEAR */
514
#define KBD4_T4D VK_NUMPAD6
/* VK_RIGHT */
515
#define KBD4_T4E VK_ADD
516
#define KBD4_T4F VK_NUMPAD1
/* VK_END */
517
#define KBD4_T50 VK_NUMPAD2
/* VK_DOWN */
518
#define KBD4_T51 VK_NUMPAD3
/* VK_NEXT */
519
#define KBD4_T52 VK_NUMPAD0
/* VK_INSERT */
520
#define KBD4_T53 VK_DECIMAL
/* VK_DELETE */
521
#define KBD4_T54 VK_SNAPSHOT
522
#define KBD4_T55 VK_NONE
523
#define KBD4_T56 VK_OEM_102
/* NE */
524
#define KBD4_T57 VK_F11
/* NE */
525
#define KBD4_T58 VK_F12
/* NE */
526
#define KBD4_T59 VK_CLEAR
527
#define KBD4_T5A VK_OEM_WSCTRL
528
#define KBD4_T5B VK_OEM_FINISH
529
#define KBD4_T5C VK_OEM_JUMP
530
#define KBD4_T5D VK_EREOF
531
#define KBD4_T5E VK_OEM_BACKTAB
532
#define KBD4_T5F VK_OEM_AUTO
533
#define KBD4_T60 VK_NONE
534
#define KBD4_T61 VK_NONE
535
#define KBD4_T62 VK_ZOOM
536
#define KBD4_T63 VK_HELP
537
#define KBD4_T64 VK_F13
538
#define KBD4_T65 VK_F14
539
#define KBD4_T66 VK_F15
540
#define KBD4_T67 VK_F16
541
#define KBD4_T68 VK_F17
542
#define KBD4_T69 VK_F18
543
#define KBD4_T6A VK_F19
544
#define KBD4_T6B VK_F20
545
#define KBD4_T6C VK_F21
546
#define KBD4_T6D VK_F22
547
#define KBD4_T6E VK_F23
548
#define KBD4_T6F VK_OEM_PA3
549
#define KBD4_T70 VK_NONE
550
#define KBD4_T71 VK_OEM_RESET
551
#define KBD4_T72 VK_NONE
552
#define KBD4_T73 VK_ABNT_C1
553
#define KBD4_T74 VK_NONE
554
#define KBD4_T75 VK_NONE
555
#define KBD4_T76 VK_F24
556
#define KBD4_T77 VK_NONE
557
#define KBD4_T78 VK_NONE
558
#define KBD4_T79 VK_NONE
559
#define KBD4_T7A VK_NONE
560
#define KBD4_T7B VK_OEM_PA1
561
#define KBD4_T7C VK_TAB
562
#define KBD4_T7D VK_NONE
563
#define KBD4_T7E VK_ABNT_C2
564
#define KBD4_T7F VK_OEM_PA2
565
566
#define KBD4_X10 VK_MEDIA_PREV_TRACK
567
#define KBD4_X19 VK_MEDIA_NEXT_TRACK
568
#define KBD4_X1C VK_RETURN
569
#define KBD4_X1D VK_RCONTROL
570
#define KBD4_X20 VK_VOLUME_MUTE
571
#define KBD4_X21 VK_LAUNCH_APP2
572
#define KBD4_X22 VK_MEDIA_PLAY_PAUSE
573
#define KBD4_X24 VK_MEDIA_STOP
574
#define KBD4_X2E VK_VOLUME_DOWN
575
#define KBD4_X30 VK_VOLUME_UP
576
#define KBD4_X32 VK_BROWSER_HOME
577
#define KBD4_X35 VK_DIVIDE
578
#define KBD4_X37 VK_SNAPSHOT
579
#define KBD4_X38 VK_RMENU
580
#define KBD4_X46 VK_PAUSE
/* VK_CANCEL */
581
#define KBD4_X47 VK_HOME
582
#define KBD4_X48 VK_UP
583
#define KBD4_X49 VK_PRIOR
584
#define KBD4_X4B VK_LEFT
585
#define KBD4_X4D VK_RIGHT
586
#define KBD4_X4F VK_END
587
#define KBD4_X50 VK_DOWN
588
#define KBD4_X51 VK_NEXT
/* NE */
589
#define KBD4_X52 VK_INSERT
590
#define KBD4_X53 VK_DELETE
591
#define KBD4_X5B VK_LWIN
592
#define KBD4_X5C VK_RWIN
593
#define KBD4_X5D VK_APPS
594
#define KBD4_X5E VK_POWER
595
#define KBD4_X5F VK_SLEEP
596
#define KBD4_X65 VK_BROWSER_SEARCH
597
#define KBD4_X66 VK_BROWSER_FAVORITES
598
#define KBD4_X67 VK_BROWSER_REFRESH
599
#define KBD4_X68 VK_BROWSER_STOP
600
#define KBD4_X69 VK_BROWSER_FORWARD
601
#define KBD4_X6A VK_BROWSER_BACK
602
#define KBD4_X6B VK_LAUNCH_APP1
603
#define KBD4_X6C VK_LAUNCH_MAIL
604
#define KBD4_X6D VK_LAUNCH_MEDIA_SELECT
605
606
#define KBD4_Y1D VK_PAUSE
607
611
612
#define KBD7_T00 VK_NONE
613
#define KBD7_T01 VK_ESCAPE
614
#define KBD7_T02 VK_KEY_1
615
#define KBD7_T03 VK_KEY_2
616
#define KBD7_T04 VK_KEY_3
617
#define KBD7_T05 VK_KEY_4
618
#define KBD7_T06 VK_KEY_5
619
#define KBD7_T07 VK_KEY_6
620
#define KBD7_T08 VK_KEY_7
621
#define KBD7_T09 VK_KEY_8
622
#define KBD7_T0A VK_KEY_9
623
#define KBD7_T0B VK_KEY_0
624
#define KBD7_T0C VK_OEM_MINUS
625
#define KBD7_T0D VK_OEM_PLUS
626
#define KBD7_T0E VK_BACK
627
#define KBD7_T0F VK_TAB
628
#define KBD7_T10 VK_KEY_Q
629
#define KBD7_T11 VK_KEY_W
630
#define KBD7_T12 VK_KEY_E
631
#define KBD7_T13 VK_KEY_R
632
#define KBD7_T14 VK_KEY_T
633
#define KBD7_T15 VK_KEY_Y
634
#define KBD7_T16 VK_KEY_U
635
#define KBD7_T17 VK_KEY_I
636
#define KBD7_T18 VK_KEY_O
637
#define KBD7_T19 VK_KEY_P
638
#define KBD7_T1A VK_OEM_4
/* NE */
639
#define KBD7_T1B VK_OEM_6
/* NE */
640
#define KBD7_T1C VK_RETURN
641
#define KBD7_T1D VK_LCONTROL
642
#define KBD7_T1E VK_KEY_A
643
#define KBD7_T1F VK_KEY_S
644
#define KBD7_T20 VK_KEY_D
645
#define KBD7_T21 VK_KEY_F
646
#define KBD7_T22 VK_KEY_G
647
#define KBD7_T23 VK_KEY_H
648
#define KBD7_T24 VK_KEY_J
649
#define KBD7_T25 VK_KEY_K
650
#define KBD7_T26 VK_KEY_L
651
#define KBD7_T27 VK_OEM_1
652
#define KBD7_T28 VK_OEM_7
653
#define KBD7_T29 VK_OEM_3
/* NE */
654
#define KBD7_T2A VK_LSHIFT
655
#define KBD7_T2B VK_OEM_5
/* NE */
656
#define KBD7_T2C VK_KEY_Z
657
#define KBD7_T2D VK_KEY_X
658
#define KBD7_T2E VK_KEY_C
659
#define KBD7_T2F VK_KEY_V
660
#define KBD7_T30 VK_KEY_B
661
#define KBD7_T31 VK_KEY_N
662
#define KBD7_T32 VK_KEY_M
663
#define KBD7_T33 VK_OEM_COMMA
664
#define KBD7_T34 VK_OEM_PERIOD
665
#define KBD7_T35 VK_OEM_2
666
#define KBD7_T36 VK_RSHIFT
667
#define KBD7_T37 VK_MULTIPLY
668
#define KBD7_T38 VK_LMENU
669
#define KBD7_T39 VK_SPACE
670
#define KBD7_T3A VK_CAPITAL
671
#define KBD7_T3B VK_F1
672
#define KBD7_T3C VK_F2
673
#define KBD7_T3D VK_F3
674
#define KBD7_T3E VK_F4
675
#define KBD7_T3F VK_F5
676
#define KBD7_T40 VK_F6
677
#define KBD7_T41 VK_F7
678
#define KBD7_T42 VK_F8
679
#define KBD7_T43 VK_F9
680
#define KBD7_T44 VK_F10
681
#define KBD7_T45 VK_NUMLOCK
682
#define KBD7_T46 VK_SCROLL
683
#define KBD7_T47 VK_NUMPAD7
/* VK_HOME */
684
#define KBD7_T48 VK_NUMPAD8
/* VK_UP */
685
#define KBD7_T49 VK_NUMPAD9
/* VK_PRIOR */
686
#define KBD7_T4A VK_SUBTRACT
687
#define KBD7_T4B VK_NUMPAD4
/* VK_LEFT */
688
#define KBD7_T4C VK_NUMPAD5
/* VK_CLEAR */
689
#define KBD7_T4D VK_NUMPAD6
/* VK_RIGHT */
690
#define KBD7_T4E VK_ADD
691
#define KBD7_T4F VK_NUMPAD1
/* VK_END */
692
#define KBD7_T50 VK_NUMPAD2
/* VK_DOWN */
693
#define KBD7_T51 VK_NUMPAD3
/* VK_NEXT */
694
#define KBD7_T52 VK_NUMPAD0
/* VK_INSERT */
695
#define KBD7_T53 VK_DECIMAL
/* VK_DELETE */
696
#define KBD7_T54 VK_SNAPSHOT
697
#define KBD7_T55 VK_NONE
698
#define KBD7_T56 VK_OEM_102
699
#define KBD7_T57 VK_F11
700
#define KBD7_T58 VK_F12
701
#define KBD7_T59 VK_CLEAR
702
#define KBD7_T5A VK_NONAME
/* NE */
703
#define KBD7_T5B VK_NONAME
/* NE */
704
#define KBD7_T5C VK_NONAME
/* NE */
705
#define KBD7_T5D VK_EREOF
706
#define KBD7_T5E VK_NONE
/* NE */
707
#define KBD7_T5F VK_NONAME
/* NE */
708
#define KBD7_T60 VK_NONE
709
#define KBD7_T61 VK_NONE
/* NE */
710
#define KBD7_T62 VK_NONE
/* NE */
711
#define KBD7_T63 VK_NONE
712
#define KBD7_T64 VK_F13
713
#define KBD7_T65 VK_F14
714
#define KBD7_T66 VK_F15
715
#define KBD7_T67 VK_F16
716
#define KBD7_T68 VK_F17
717
#define KBD7_T69 VK_F18
718
#define KBD7_T6A VK_F19
719
#define KBD7_T6B VK_F20
720
#define KBD7_T6C VK_F21
721
#define KBD7_T6D VK_F22
722
#define KBD7_T6E VK_F23
723
#define KBD7_T6F VK_NONE
/* NE */
724
#define KBD7_T70 VK_HKTG
/* NE */
725
#define KBD7_T71 VK_NONE
/* NE */
726
#define KBD7_T72 VK_NONE
727
#define KBD7_T73 VK_ABNT_C1
728
#define KBD7_T74 VK_NONE
729
#define KBD7_T75 VK_NONE
730
#define KBD7_T76 VK_F24
731
#define KBD7_T77 VK_NONE
732
#define KBD7_T78 VK_NONE
733
#define KBD7_T79 VK_CONVERT
/* NE */
734
#define KBD7_T7A VK_NONE
735
#define KBD7_T7B VK_NONCONVERT
/* NE */
736
#define KBD7_T7C VK_TAB
737
#define KBD7_T7D VK_OEM_8
738
#define KBD7_T7E VK_ABNT_C2
739
#define KBD7_T7F VK_OEM_PA2
740
741
#define KBD7_X10 VK_MEDIA_PREV_TRACK
742
#define KBD7_X19 VK_MEDIA_NEXT_TRACK
743
#define KBD7_X1C VK_RETURN
744
#define KBD7_X1D VK_RCONTROL
745
#define KBD7_X20 VK_VOLUME_MUTE
746
#define KBD7_X21 VK_LAUNCH_APP2
747
#define KBD7_X22 VK_MEDIA_PLAY_PAUSE
748
#define KBD7_X24 VK_MEDIA_STOP
749
#define KBD7_X2E VK_VOLUME_DOWN
750
#define KBD7_X30 VK_VOLUME_UP
751
#define KBD7_X32 VK_BROWSER_HOME
752
#define KBD7_X33 VK_NONE
753
#define KBD7_X35 VK_DIVIDE
754
#define KBD7_X37 VK_SNAPSHOT
755
#define KBD7_X38 VK_RMENU
756
#define KBD7_X42 VK_NONE
757
#define KBD7_X43 VK_NONE
758
#define KBD7_X44 VK_NONE
759
#define KBD7_X46 VK_CANCEL
760
#define KBD7_X47 VK_HOME
761
#define KBD7_X48 VK_UP
762
#define KBD7_X49 VK_PRIOR
763
#define KBD7_X4B VK_LEFT
764
#define KBD7_X4D VK_RIGHT
765
#define KBD7_X4F VK_END
766
#define KBD7_X50 VK_DOWN
767
#define KBD7_X51 VK_NEXT
768
#define KBD7_X52 VK_INSERT
769
#define KBD7_X53 VK_DELETE
770
#define KBD7_X5B VK_LWIN
771
#define KBD7_X5C VK_RWIN
772
#define KBD7_X5D VK_APPS
773
#define KBD7_X5E VK_POWER
774
#define KBD7_X5F VK_SLEEP
775
#define KBD7_X65 VK_BROWSER_SEARCH
776
#define KBD7_X66 VK_BROWSER_FAVORITES
777
#define KBD7_X67 VK_BROWSER_REFRESH
778
#define KBD7_X68 VK_BROWSER_STOP
779
#define KBD7_X69 VK_BROWSER_FORWARD
780
#define KBD7_X6A VK_BROWSER_BACK
781
#define KBD7_X6B VK_LAUNCH_APP1
782
#define KBD7_X6C VK_LAUNCH_MAIL
783
#define KBD7_X6D VK_LAUNCH_MEDIA_SELECT
784
#define KBD7_XF1 VK_NONE
/* NE */
785
#define KBD7_XF2 VK_NONE
/* NE */
786
787
#define KBD7_Y1D VK_PAUSE
788
792
796
797
#define APPLE_VK_ANSI_A 0x00
798
#define APPLE_VK_ANSI_S 0x01
799
#define APPLE_VK_ANSI_D 0x02
800
#define APPLE_VK_ANSI_F 0x03
801
#define APPLE_VK_ANSI_H 0x04
802
#define APPLE_VK_ANSI_G 0x05
803
#define APPLE_VK_ANSI_Z 0x06
804
#define APPLE_VK_ANSI_X 0x07
805
#define APPLE_VK_ANSI_C 0x08
806
#define APPLE_VK_ANSI_V 0x09
807
#define APPLE_VK_ISO_Section 0x0A
808
#define APPLE_VK_ANSI_B 0x0B
809
#define APPLE_VK_ANSI_Q 0x0C
810
#define APPLE_VK_ANSI_W 0x0D
811
#define APPLE_VK_ANSI_E 0x0E
812
#define APPLE_VK_ANSI_R 0x0F
813
#define APPLE_VK_ANSI_Y 0x10
814
#define APPLE_VK_ANSI_T 0x11
815
#define APPLE_VK_ANSI_1 0x12
816
#define APPLE_VK_ANSI_2 0x13
817
#define APPLE_VK_ANSI_3 0x14
818
#define APPLE_VK_ANSI_4 0x15
819
#define APPLE_VK_ANSI_6 0x16
820
#define APPLE_VK_ANSI_5 0x17
821
#define APPLE_VK_ANSI_Equal 0x18
822
#define APPLE_VK_ANSI_9 0x19
823
#define APPLE_VK_ANSI_7 0x1A
824
#define APPLE_VK_ANSI_Minus 0x1B
825
#define APPLE_VK_ANSI_8 0x1C
826
#define APPLE_VK_ANSI_0 0x1D
827
#define APPLE_VK_ANSI_RightBracket 0x1E
828
#define APPLE_VK_ANSI_O 0x1F
829
#define APPLE_VK_ANSI_U 0x20
830
#define APPLE_VK_ANSI_LeftBracket 0x21
831
#define APPLE_VK_ANSI_I 0x22
832
#define APPLE_VK_ANSI_P 0x23
833
#define APPLE_VK_Return 0x24
834
#define APPLE_VK_ANSI_L 0x25
835
#define APPLE_VK_ANSI_J 0x26
836
#define APPLE_VK_ANSI_Quote 0x27
837
#define APPLE_VK_ANSI_K 0x28
838
#define APPLE_VK_ANSI_Semicolon 0x29
839
#define APPLE_VK_ANSI_Backslash 0x2A
840
#define APPLE_VK_ANSI_Comma 0x2B
841
#define APPLE_VK_ANSI_Slash 0x2C
842
#define APPLE_VK_ANSI_N 0x2D
843
#define APPLE_VK_ANSI_M 0x2E
844
#define APPLE_VK_ANSI_Period 0x2F
845
#define APPLE_VK_Tab 0x30
846
#define APPLE_VK_Space 0x31
847
#define APPLE_VK_ANSI_Grave 0x32
848
#define APPLE_VK_Delete 0x33
849
#define APPLE_VK_0x34 0x34
850
#define APPLE_VK_Escape 0x35
851
#define APPLE_VK_0x36 0x36
852
#define APPLE_VK_Command 0x37
853
#define APPLE_VK_Shift 0x38
854
#define APPLE_VK_CapsLock 0x39
855
#define APPLE_VK_Option 0x3A
856
#define APPLE_VK_Control 0x3B
857
#define APPLE_VK_RightShift 0x3C
858
#define APPLE_VK_RightOption 0x3D
859
#define APPLE_VK_RightControl 0x3E
860
#define APPLE_VK_Function 0x3F
861
#define APPLE_VK_F17 0x40
862
#define APPLE_VK_ANSI_KeypadDecimal 0x41
863
#define APPLE_VK_0x42 0x42
864
#define APPLE_VK_ANSI_KeypadMultiply 0x43
865
#define APPLE_VK_0x44 0x44
866
#define APPLE_VK_ANSI_KeypadPlus 0x45
867
#define APPLE_VK_0x46 0x46
868
#define APPLE_VK_ANSI_KeypadClear 0x47
869
#define APPLE_VK_VolumeUp 0x48
870
#define APPLE_VK_VolumeDown 0x49
871
#define APPLE_VK_Mute 0x4A
872
#define APPLE_VK_ANSI_KeypadDivide 0x4B
873
#define APPLE_VK_ANSI_KeypadEnter 0x4C
874
#define APPLE_VK_0x4D 0x4D
875
#define APPLE_VK_ANSI_KeypadMinus 0x4E
876
#define APPLE_VK_F18 0x4F
877
#define APPLE_VK_F19 0x50
878
#define APPLE_VK_ANSI_KeypadEquals 0x51
879
#define APPLE_VK_ANSI_Keypad0 0x52
880
#define APPLE_VK_ANSI_Keypad1 0x53
881
#define APPLE_VK_ANSI_Keypad2 0x54
882
#define APPLE_VK_ANSI_Keypad3 0x55
883
#define APPLE_VK_ANSI_Keypad4 0x56
884
#define APPLE_VK_ANSI_Keypad5 0x57
885
#define APPLE_VK_ANSI_Keypad6 0x58
886
#define APPLE_VK_ANSI_Keypad7 0x59
887
#define APPLE_VK_F20 0x5A
888
#define APPLE_VK_ANSI_Keypad8 0x5B
889
#define APPLE_VK_ANSI_Keypad9 0x5C
890
#define APPLE_VK_JIS_Yen 0x5D
891
#define APPLE_VK_JIS_Underscore 0x5E
892
#define APPLE_VK_JIS_KeypadComma 0x5F
893
#define APPLE_VK_F5 0x60
894
#define APPLE_VK_F6 0x61
895
#define APPLE_VK_F7 0x62
896
#define APPLE_VK_F3 0x63
897
#define APPLE_VK_F8 0x64
898
#define APPLE_VK_F9 0x65
899
#define APPLE_VK_JIS_Eisu 0x66
900
#define APPLE_VK_F11 0x67
901
#define APPLE_VK_JIS_Kana 0x68
902
#define APPLE_VK_F13 0x69
903
#define APPLE_VK_F16 0x6A
904
#define APPLE_VK_F14 0x6B
905
#define APPLE_VK_F10 0x6D
906
#define APPLE_VK_0x6C 0x6C
907
#define APPLE_VK_0x6E 0x6E
908
#define APPLE_VK_F12 0x6F
909
#define APPLE_VK_0x70 0x70
910
#define APPLE_VK_F15 0x71
911
#define APPLE_VK_Help 0x72
912
#define APPLE_VK_Home 0x73
913
#define APPLE_VK_PageUp 0x74
914
#define APPLE_VK_ForwardDelete 0x75
915
#define APPLE_VK_F4 0x76
916
#define APPLE_VK_End 0x77
917
#define APPLE_VK_F2 0x78
918
#define APPLE_VK_PageDown 0x79
919
#define APPLE_VK_F1 0x7A
920
#define APPLE_VK_LeftArrow 0x7B
921
#define APPLE_VK_RightArrow 0x7C
922
#define APPLE_VK_DownArrow 0x7D
923
#define APPLE_VK_UpArrow 0x7E
924
925
926
927
/* 0x1A is undefined, use it for missing Hiragana/Katakana Toggle */
928
929
#define VK_HKTG 0x1A
/* Hiragana/Katakana toggle */
930
#define VK_ESCAPE 0x1B
/* ESC key */
931
#define VK_CONVERT 0x1C
/* IME convert */
932
#define VK_NONCONVERT 0x1D
/* IME nonconvert */
933
#define VK_ACCEPT 0x1E
/* IME accept */
934
#define VK_MODECHANGE 0x1F
/* IME mode machine request */
935
936
#define VK_SPACE 0x20
/* SPACEBAR */
937
#define VK_PRIOR 0x21
/* PAGE UP key */
938
#define VK_NEXT 0x22
/* PAGE DOWN key */
939
#define VK_END 0x23
/* END key */
940
#define VK_HOME 0x24
/* HOME key */
941
#define VK_LEFT 0x25
/* LEFT ARROW key */
942
#define VK_UP 0x26
/* UP ARROW key */
943
#define VK_RIGHT 0x27
/* RIGHT ARROW key */
944
#define VK_DOWN 0x28
/* DOWN ARROW key */
945
#define VK_SELECT 0x29
/* SELECT key */
946
#define VK_PRINT 0x2A
/* PRINT key */
947
#define VK_EXECUTE 0x2B
/* EXECUTE key */
948
#define VK_SNAPSHOT 0x2C
/* PRINT SCREEN key */
949
#define VK_INSERT 0x2D
/* INS key */
950
#define VK_DELETE 0x2E
/* DEL key */
951
#define VK_HELP 0x2F
/* HELP key */
952
953
/* 0x3A to 0x40 are undefined */
954
955
/* The alphabet, the code corresponds to the capitalized letter in the ASCII code */
956
957
#define VK_KEY_A 0x41
/* 'A' key */
958
#define VK_KEY_B 0x42
/* 'B' key */
959
#define VK_KEY_C 0x43
/* 'C' key */
960
#define VK_KEY_D 0x44
/* 'D' key */
961
#define VK_KEY_E 0x45
/* 'E' key */
962
#define VK_KEY_F 0x46
/* 'F' key */
963
#define VK_KEY_G 0x47
/* 'G' key */
964
#define VK_KEY_H 0x48
/* 'H' key */
965
#define VK_KEY_I 0x49
/* 'I' key */
966
#define VK_KEY_J 0x4A
/* 'J' key */
967
#define VK_KEY_K 0x4B
/* 'K' key */
968
#define VK_KEY_L 0x4C
/* 'L' key */
969
#define VK_KEY_M 0x4D
/* 'M' key */
970
#define VK_KEY_N 0x4E
/* 'N' key */
971
#define VK_KEY_O 0x4F
/* 'O' key */
972
#define VK_KEY_P 0x50
/* 'P' key */
973
#define VK_KEY_Q 0x51
/* 'Q' key */
974
#define VK_KEY_R 0x52
/* 'R' key */
975
#define VK_KEY_S 0x53
/* 'S' key */
976
#define VK_KEY_T 0x54
/* 'T' key */
977
#define VK_KEY_U 0x55
/* 'U' key */
978
#define VK_KEY_V 0x56
/* 'V' key */
979
#define VK_KEY_W 0x57
/* 'W' key */
980
#define VK_KEY_X 0x58
/* 'X' key */
981
#define VK_KEY_Y 0x59
/* 'Y' key */
982
#define VK_KEY_Z 0x5A
/* 'Z' key */
983
984
985
/* Digits, the last 4 bits of the code represent the corresponding digit */
986
987
#define VK_KEY_0 0x30
/* '0' key */
988
#define VK_KEY_1 0x31
/* '1' key */
989
#define VK_KEY_2 0x32
/* '2' key */
990
#define VK_KEY_3 0x33
/* '3' key */
991
#define VK_KEY_4 0x34
/* '4' key */
992
#define VK_KEY_5 0x35
/* '5' key */
993
#define VK_KEY_6 0x36
/* '6' key */
994
#define VK_KEY_7 0x37
/* '7' key */
995
#define VK_KEY_8 0x38
/* '8' key */
996
#define VK_KEY_9 0x39
/* '9' key */
997
998
#define KEYCODE_TYPE_APPLE 0x00000001
999
#define KEYCODE_TYPE_EVDEV 0x00000002
1000
1001
1002
1003
1004
1005
1006
1037
1038
1039
/* 0x5E is reserved */
1040
1041
#define VK_POWER 0x5E
/* Power key */
1042
1043
#define VK_SLEEP 0x5F
/* Computer sleep key */
operating_system
winpr_input.h
Generated by
1.17.0