1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
pub const KEY_CANCEL: u8 = 0x03;
pub const KEY_HELP: u8 = 0x06;
pub const KEY_BACK_SPACE: u8 = 0x08;
pub const KEY_TAB: u8 = 0x09;
pub const KEY_CLEAR: u8 = 0x0C;
pub const KEY_RETURN: u8 = 0x0D;
pub const KEY_ENTER: u8 = 0x0E;
pub const KEY_SHIFT: u8 = 0x10;
pub const KEY_CONTROL: u8 = 0x11;
pub const KEY_ALT: u8 = 0x12;
pub const KEY_PAUSE: u8 = 0x13;
pub const KEY_CAPS_LOCK: u8 = 0x14;
pub const KEY_KANA: u8 = 0x15;
pub const KEY_HANGUL: u8 = 0x15;
pub const KEY_EISU: u8 = 0x16;
pub const KEY_JUNJA: u8 = 0x17;
pub const KEY_FINAL: u8 = 0x18;
pub const KEY_HANJA: u8 = 0x19;
pub const KEY_KANJI: u8 = 0x19;
pub const KEY_ESCAPE: u8 = 0x1B;
pub const KEY_CONVERT: u8 = 0x1C;
pub const KEY_NONCONVERT: u8 = 0x1D;
pub const KEY_ACCEPT: u8 = 0x1E;
pub const KEY_MODECHANGE: u8 = 0x1F;
pub const KEY_SPACE: u8 = 0x20;
pub const KEY_PAGE_UP: u8 = 0x21;
pub const KEY_PAGE_DOWN: u8 = 0x22;
pub const KEY_END: u8 = 0x23;
pub const KEY_HOME: u8 = 0x24;
pub const KEY_LEFT: u8 = 0x25;
pub const KEY_UP: u8 = 0x26;
pub const KEY_RIGHT: u8 = 0x27;
pub const KEY_DOWN: u8 = 0x28;
pub const KEY_SELECT: u8 = 0x29;
pub const KEY_PRINT: u8 = 0x2A;
pub const KEY_EXECUTE: u8 = 0x2B;
pub const KEY_PRINTSCREEN: u8 = 0x2C;
pub const KEY_INSERT: u8 = 0x2D;
pub const KEY_DELETE: u8 = 0x2E;
pub const KEY_0: u8 = 0x30;
pub const KEY_1: u8 = 0x31;
pub const KEY_2: u8 = 0x32;
pub const KEY_3: u8 = 0x33;
pub const KEY_4: u8 = 0x34;
pub const KEY_5: u8 = 0x35;
pub const KEY_6: u8 = 0x36;
pub const KEY_7: u8 = 0x37;
pub const KEY_8: u8 = 0x38;
pub const KEY_9: u8 = 0x39;
pub const KEY_COLON: u8 = 0x3A;
pub const KEY_SEMICOLON: u8 = 0x3B;
pub const KEY_LESS_THAN: u8 = 0x3C;
pub const KEY_EQUALS: u8 = 0x3D;
pub const KEY_GREATER_THAN: u8 = 0x3E;
pub const KEY_QUESTION_MARK: u8 = 0x3F;
pub const KEY_AT: u8 = 0x40;
pub const KEY_A: u8 = 0x41;
pub const KEY_B: u8 = 0x42;
pub const KEY_C: u8 = 0x43;
pub const KEY_D: u8 = 0x44;
pub const KEY_E: u8 = 0x45;
pub const KEY_F: u8 = 0x46;
pub const KEY_G: u8 = 0x47;
pub const KEY_H: u8 = 0x48;
pub const KEY_I: u8 = 0x49;
pub const KEY_J: u8 = 0x4A;
pub const KEY_K: u8 = 0x4B;
pub const KEY_L: u8 = 0x4C;
pub const KEY_M: u8 = 0x4D;
pub const KEY_N: u8 = 0x4E;
pub const KEY_O: u8 = 0x4F;
pub const KEY_P: u8 = 0x50;
pub const KEY_Q: u8 = 0x51;
pub const KEY_R: u8 = 0x52;
pub const KEY_S: u8 = 0x53;
pub const KEY_T: u8 = 0x54;
pub const KEY_U: u8 = 0x55;
pub const KEY_V: u8 = 0x56;
pub const KEY_W: u8 = 0x57;
pub const KEY_X: u8 = 0x58;
pub const KEY_Y: u8 = 0x59;
pub const KEY_Z: u8 = 0x5A;
pub const KEY_WIN: u8 = 0x5B;
pub const KEY_CONTEXT_MENU: u8 = 0x5D;
pub const KEY_SLEEP: u8 = 0x5F;
pub const KEY_NUMPAD0: u8 = 0x60;
pub const KEY_NUMPAD1: u8 = 0x61;
pub const KEY_NUMPAD2: u8 = 0x62;
pub const KEY_NUMPAD3: u8 = 0x63;
pub const KEY_NUMPAD4: u8 = 0x64;
pub const KEY_NUMPAD5: u8 = 0x65;
pub const KEY_NUMPAD6: u8 = 0x66;
pub const KEY_NUMPAD7: u8 = 0x67;
pub const KEY_NUMPAD8: u8 = 0x68;
pub const KEY_NUMPAD9: u8 = 0x69;
pub const KEY_MULTIPLY: u8 = 0x6A;
pub const KEY_ADD: u8 = 0x6B;
pub const KEY_SEPARATOR: u8 = 0x6C;
pub const KEY_SUBTRACT: u8 = 0x6D;
pub const KEY_DECIMAL: u8 = 0x6E;
pub const KEY_DIVIDE: u8 = 0x6F;
pub const KEY_F1: u8 = 0x70;
pub const KEY_F2: u8 = 0x71;
pub const KEY_F3: u8 = 0x72;
pub const KEY_F4: u8 = 0x73;
pub const KEY_F5: u8 = 0x74;
pub const KEY_F6: u8 = 0x75;
pub const KEY_F7: u8 = 0x76;
pub const KEY_F8: u8 = 0x77;
pub const KEY_F9: u8 = 0x78;
pub const KEY_F10: u8 = 0x79;
pub const KEY_F11: u8 = 0x7A;
pub const KEY_F12: u8 = 0x7B;
pub const KEY_F13: u8 = 0x7C;
pub const KEY_F14: u8 = 0x7D;
pub const KEY_F15: u8 = 0x7E;
pub const KEY_F16: u8 = 0x7F;
pub const KEY_F17: u8 = 0x80;
pub const KEY_F18: u8 = 0x81;
pub const KEY_F19: u8 = 0x82;
pub const KEY_F20: u8 = 0x83;
pub const KEY_F21: u8 = 0x84;
pub const KEY_F22: u8 = 0x85;
pub const KEY_F23: u8 = 0x86;
pub const KEY_F24: u8 = 0x87;
pub const KEY_NUM_LOCK: u8 = 0x90;
pub const KEY_SCROLL_LOCK: u8 = 0x91;
pub const KEY_WIN_OEM_FJ_JISHO: u8 = 0x92;
pub const KEY_WIN_OEM_FJ_MASSHOU: u8 = 0x93;
pub const KEY_WIN_OEM_FJ_TOUROKU: u8 = 0x94;
pub const KEY_WIN_OEM_FJ_LOYA: u8 = 0x95;
pub const KEY_WIN_OEM_FJ_ROYA: u8 = 0x96;
pub const KEY_CIRCUMFLEX: u8 = 0xA0;
pub const KEY_EXCLAMATION: u8 = 0xA1;
pub const KEY_DOUBLE_QUOTE: u8 = 0xA3;
pub const KEY_HASH: u8 = 0xA3;
pub const KEY_DOLLAR: u8 = 0xA4;
pub const KEY_PERCENT: u8 = 0xA5;
pub const KEY_AMPERSAND: u8 = 0xA6;
pub const KEY_UNDERSCORE: u8 = 0xA7;
pub const KEY_OPEN_PAREN: u8 = 0xA8;
pub const KEY_CLOSE_PAREN: u8 = 0xA9;
pub const KEY_ASTERISK: u8 = 0xAA;
pub const KEY_PLUS: u8 = 0xAB;
pub const KEY_PIPE: u8 = 0xAC;
pub const KEY_HYPHEN_MINUS: u8 = 0xAD;
pub const KEY_OPEN_CURLY_BRACKET: u8 = 0xAE;
pub const KEY_CLOSE_CURLY_BRACKET: u8 = 0xAF;
pub const KEY_TILDE: u8 = 0xB0;
pub const KEY_VOLUME_MUTE: u8 = 0xB5;
pub const KEY_VOLUME_DOWN: u8 = 0xB6;
pub const KEY_VOLUME_UP: u8 = 0xB7;
pub const KEY_COMMA: u8 = 0xBC;
pub const KEY_PERIOD: u8 = 0xBE;
pub const KEY_SLASH: u8 = 0xBF;
pub const KEY_BACK_QUOTE: u8 = 0xC0;
pub const KEY_OPEN_BRACKET: u8 = 0xDB;
pub const KEY_BACK_SLASH: u8 = 0xDC;
pub const KEY_CLOSE_BRACKET: u8 = 0xDD;
pub const KEY_QUOTE: u8 = 0xDE;
pub const KEY_META: u8 = 0xE0;
pub const KEY_ALTGR: u8 = 0xE1;
pub const KEY_WIN_ICO_HELP: u8 = 0xE3;
pub const KEY_WIN_ICO_00: u8 = 0xE4;
pub const KEY_WIN_ICO_CLEAR: u8 = 0xE6;
pub const KEY_WIN_OEM_RESET: u8 = 0xE9;
pub const KEY_WIN_OEM_JUMP: u8 = 0xEA;
pub const KEY_WIN_OEM_PA1: u8 = 0xEB;
pub const KEY_WIN_OEM_PA2: u8 = 0xEC;
pub const KEY_WIN_OEM_PA3: u8 = 0xED;
pub const KEY_WIN_OEM_WSCTRL: u8 = 0xEE;
pub const KEY_WIN_OEM_CUSEL: u8 = 0xEF;
pub const KEY_WIN_OEM_ATTN: u8 = 0xF0;
pub const KEY_WIN_OEM_FINISH: u8 = 0xF1;
pub const KEY_WIN_OEM_COPY: u8 = 0xF2;
pub const KEY_WIN_OEM_AUTO: u8 = 0xF3;
pub const KEY_WIN_OEM_ENLW: u8 = 0xF4;
pub const KEY_WIN_OEM_BACKTAB: u8 = 0xF5;
pub const KEY_ATTN: u8 = 0xF6;
pub const KEY_CRSEL: u8 = 0xF7;
pub const KEY_EXSEL: u8 = 0xF8;
pub const KEY_EREOF: u8 = 0xF9;
pub const KEY_PLAY: u8 = 0xFA;
pub const KEY_ZOOM: u8 = 0xFB;
pub const KEY_PA1: u8 = 0xFD;
pub const KEY_WIN_OEM_CLEAR: u8 = 0xFE;