forked from libtcod/python-tcod
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathevent_constants.py
More file actions
1035 lines (1029 loc) · 20.4 KB
/
event_constants.py
File metadata and controls
1035 lines (1029 loc) · 20.4 KB
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
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
"""Event constants from SDL's C API.
This module is auto-generated by `build_libtcod.py`.
"""
# --- SDL scancodes ---
SCANCODE_UNKNOWN = 0
SCANCODE_A = 4
SCANCODE_B = 5
SCANCODE_C = 6
SCANCODE_D = 7
SCANCODE_E = 8
SCANCODE_F = 9
SCANCODE_G = 10
SCANCODE_H = 11
SCANCODE_I = 12
SCANCODE_J = 13
SCANCODE_K = 14
SCANCODE_L = 15
SCANCODE_M = 16
SCANCODE_N = 17
SCANCODE_O = 18
SCANCODE_P = 19
SCANCODE_Q = 20
SCANCODE_R = 21
SCANCODE_S = 22
SCANCODE_T = 23
SCANCODE_U = 24
SCANCODE_V = 25
SCANCODE_W = 26
SCANCODE_X = 27
SCANCODE_Y = 28
SCANCODE_Z = 29
SCANCODE_1 = 30
SCANCODE_2 = 31
SCANCODE_3 = 32
SCANCODE_4 = 33
SCANCODE_5 = 34
SCANCODE_6 = 35
SCANCODE_7 = 36
SCANCODE_8 = 37
SCANCODE_9 = 38
SCANCODE_0 = 39
SCANCODE_RETURN = 40
SCANCODE_ESCAPE = 41
SCANCODE_BACKSPACE = 42
SCANCODE_TAB = 43
SCANCODE_SPACE = 44
SCANCODE_MINUS = 45
SCANCODE_EQUALS = 46
SCANCODE_LEFTBRACKET = 47
SCANCODE_RIGHTBRACKET = 48
SCANCODE_BACKSLASH = 49
SCANCODE_NONUSHASH = 50
SCANCODE_SEMICOLON = 51
SCANCODE_APOSTROPHE = 52
SCANCODE_GRAVE = 53
SCANCODE_COMMA = 54
SCANCODE_PERIOD = 55
SCANCODE_SLASH = 56
SCANCODE_CAPSLOCK = 57
SCANCODE_F1 = 58
SCANCODE_F2 = 59
SCANCODE_F3 = 60
SCANCODE_F4 = 61
SCANCODE_F5 = 62
SCANCODE_F6 = 63
SCANCODE_F7 = 64
SCANCODE_F8 = 65
SCANCODE_F9 = 66
SCANCODE_F10 = 67
SCANCODE_F11 = 68
SCANCODE_F12 = 69
SCANCODE_PRINTSCREEN = 70
SCANCODE_SCROLLLOCK = 71
SCANCODE_PAUSE = 72
SCANCODE_INSERT = 73
SCANCODE_HOME = 74
SCANCODE_PAGEUP = 75
SCANCODE_DELETE = 76
SCANCODE_END = 77
SCANCODE_PAGEDOWN = 78
SCANCODE_RIGHT = 79
SCANCODE_LEFT = 80
SCANCODE_DOWN = 81
SCANCODE_UP = 82
SCANCODE_NUMLOCKCLEAR = 83
SCANCODE_KP_DIVIDE = 84
SCANCODE_KP_MULTIPLY = 85
SCANCODE_KP_MINUS = 86
SCANCODE_KP_PLUS = 87
SCANCODE_KP_ENTER = 88
SCANCODE_KP_1 = 89
SCANCODE_KP_2 = 90
SCANCODE_KP_3 = 91
SCANCODE_KP_4 = 92
SCANCODE_KP_5 = 93
SCANCODE_KP_6 = 94
SCANCODE_KP_7 = 95
SCANCODE_KP_8 = 96
SCANCODE_KP_9 = 97
SCANCODE_KP_0 = 98
SCANCODE_KP_PERIOD = 99
SCANCODE_NONUSBACKSLASH = 100
SCANCODE_APPLICATION = 101
SCANCODE_POWER = 102
SCANCODE_KP_EQUALS = 103
SCANCODE_F13 = 104
SCANCODE_F14 = 105
SCANCODE_F15 = 106
SCANCODE_F16 = 107
SCANCODE_F17 = 108
SCANCODE_F18 = 109
SCANCODE_F19 = 110
SCANCODE_F20 = 111
SCANCODE_F21 = 112
SCANCODE_F22 = 113
SCANCODE_F23 = 114
SCANCODE_F24 = 115
SCANCODE_EXECUTE = 116
SCANCODE_HELP = 117
SCANCODE_MENU = 118
SCANCODE_SELECT = 119
SCANCODE_STOP = 120
SCANCODE_AGAIN = 121
SCANCODE_UNDO = 122
SCANCODE_CUT = 123
SCANCODE_COPY = 124
SCANCODE_PASTE = 125
SCANCODE_FIND = 126
SCANCODE_MUTE = 127
SCANCODE_VOLUMEUP = 128
SCANCODE_VOLUMEDOWN = 129
SCANCODE_KP_COMMA = 133
SCANCODE_KP_EQUALSAS400 = 134
SCANCODE_INTERNATIONAL1 = 135
SCANCODE_INTERNATIONAL2 = 136
SCANCODE_INTERNATIONAL3 = 137
SCANCODE_INTERNATIONAL4 = 138
SCANCODE_INTERNATIONAL5 = 139
SCANCODE_INTERNATIONAL6 = 140
SCANCODE_INTERNATIONAL7 = 141
SCANCODE_INTERNATIONAL8 = 142
SCANCODE_INTERNATIONAL9 = 143
SCANCODE_LANG1 = 144
SCANCODE_LANG2 = 145
SCANCODE_LANG3 = 146
SCANCODE_LANG4 = 147
SCANCODE_LANG5 = 148
SCANCODE_LANG6 = 149
SCANCODE_LANG7 = 150
SCANCODE_LANG8 = 151
SCANCODE_LANG9 = 152
SCANCODE_ALTERASE = 153
SCANCODE_SYSREQ = 154
SCANCODE_CANCEL = 155
SCANCODE_CLEAR = 156
SCANCODE_PRIOR = 157
SCANCODE_RETURN2 = 158
SCANCODE_SEPARATOR = 159
SCANCODE_OUT = 160
SCANCODE_OPER = 161
SCANCODE_CLEARAGAIN = 162
SCANCODE_CRSEL = 163
SCANCODE_EXSEL = 164
SCANCODE_KP_00 = 176
SCANCODE_KP_000 = 177
SCANCODE_THOUSANDSSEPARATOR = 178
SCANCODE_DECIMALSEPARATOR = 179
SCANCODE_CURRENCYUNIT = 180
SCANCODE_CURRENCYSUBUNIT = 181
SCANCODE_KP_LEFTPAREN = 182
SCANCODE_KP_RIGHTPAREN = 183
SCANCODE_KP_LEFTBRACE = 184
SCANCODE_KP_RIGHTBRACE = 185
SCANCODE_KP_TAB = 186
SCANCODE_KP_BACKSPACE = 187
SCANCODE_KP_A = 188
SCANCODE_KP_B = 189
SCANCODE_KP_C = 190
SCANCODE_KP_D = 191
SCANCODE_KP_E = 192
SCANCODE_KP_F = 193
SCANCODE_KP_XOR = 194
SCANCODE_KP_POWER = 195
SCANCODE_KP_PERCENT = 196
SCANCODE_KP_LESS = 197
SCANCODE_KP_GREATER = 198
SCANCODE_KP_AMPERSAND = 199
SCANCODE_KP_DBLAMPERSAND = 200
SCANCODE_KP_VERTICALBAR = 201
SCANCODE_KP_DBLVERTICALBAR = 202
SCANCODE_KP_COLON = 203
SCANCODE_KP_HASH = 204
SCANCODE_KP_SPACE = 205
SCANCODE_KP_AT = 206
SCANCODE_KP_EXCLAM = 207
SCANCODE_KP_MEMSTORE = 208
SCANCODE_KP_MEMRECALL = 209
SCANCODE_KP_MEMCLEAR = 210
SCANCODE_KP_MEMADD = 211
SCANCODE_KP_MEMSUBTRACT = 212
SCANCODE_KP_MEMMULTIPLY = 213
SCANCODE_KP_MEMDIVIDE = 214
SCANCODE_KP_PLUSMINUS = 215
SCANCODE_KP_CLEAR = 216
SCANCODE_KP_CLEARENTRY = 217
SCANCODE_KP_BINARY = 218
SCANCODE_KP_OCTAL = 219
SCANCODE_KP_DECIMAL = 220
SCANCODE_KP_HEXADECIMAL = 221
SCANCODE_LCTRL = 224
SCANCODE_LSHIFT = 225
SCANCODE_LALT = 226
SCANCODE_LGUI = 227
SCANCODE_RCTRL = 228
SCANCODE_RSHIFT = 229
SCANCODE_RALT = 230
SCANCODE_RGUI = 231
SCANCODE_MODE = 257
SCANCODE_AUDIONEXT = 258
SCANCODE_AUDIOPREV = 259
SCANCODE_AUDIOSTOP = 260
SCANCODE_AUDIOPLAY = 261
SCANCODE_AUDIOMUTE = 262
SCANCODE_MEDIASELECT = 263
SCANCODE_WWW = 264
SCANCODE_MAIL = 265
SCANCODE_CALCULATOR = 266
SCANCODE_COMPUTER = 267
SCANCODE_AC_SEARCH = 268
SCANCODE_AC_HOME = 269
SCANCODE_AC_BACK = 270
SCANCODE_AC_FORWARD = 271
SCANCODE_AC_STOP = 272
SCANCODE_AC_REFRESH = 273
SCANCODE_AC_BOOKMARKS = 274
SCANCODE_BRIGHTNESSDOWN = 275
SCANCODE_BRIGHTNESSUP = 276
SCANCODE_DISPLAYSWITCH = 277
SCANCODE_KBDILLUMTOGGLE = 278
SCANCODE_KBDILLUMDOWN = 279
SCANCODE_KBDILLUMUP = 280
SCANCODE_EJECT = 281
SCANCODE_SLEEP = 282
SCANCODE_APP1 = 283
SCANCODE_APP2 = 284
# --- SDL keyboard symbols ---
K_UNKNOWN = 0
K_BACKSPACE = 8
K_TAB = 9
K_RETURN = 13
K_ESCAPE = 27
K_SPACE = 32
K_EXCLAIM = 33
K_QUOTEDBL = 34
K_HASH = 35
K_DOLLAR = 36
K_PERCENT = 37
K_AMPERSAND = 38
K_QUOTE = 39
K_LEFTPAREN = 40
K_RIGHTPAREN = 41
K_ASTERISK = 42
K_PLUS = 43
K_COMMA = 44
K_MINUS = 45
K_PERIOD = 46
K_SLASH = 47
K_0 = 48
K_1 = 49
K_2 = 50
K_3 = 51
K_4 = 52
K_5 = 53
K_6 = 54
K_7 = 55
K_8 = 56
K_9 = 57
K_COLON = 58
K_SEMICOLON = 59
K_LESS = 60
K_EQUALS = 61
K_GREATER = 62
K_QUESTION = 63
K_AT = 64
K_LEFTBRACKET = 91
K_BACKSLASH = 92
K_RIGHTBRACKET = 93
K_CARET = 94
K_UNDERSCORE = 95
K_BACKQUOTE = 96
K_a = 97
K_b = 98
K_c = 99
K_d = 100
K_e = 101
K_f = 102
K_g = 103
K_h = 104
K_i = 105
K_j = 106
K_k = 107
K_l = 108
K_m = 109
K_n = 110
K_o = 111
K_p = 112
K_q = 113
K_r = 114
K_s = 115
K_t = 116
K_u = 117
K_v = 118
K_w = 119
K_x = 120
K_y = 121
K_z = 122
K_DELETE = 127
K_SCANCODE_MASK = 1073741824
K_CAPSLOCK = 1073741881
K_F1 = 1073741882
K_F2 = 1073741883
K_F3 = 1073741884
K_F4 = 1073741885
K_F5 = 1073741886
K_F6 = 1073741887
K_F7 = 1073741888
K_F8 = 1073741889
K_F9 = 1073741890
K_F10 = 1073741891
K_F11 = 1073741892
K_F12 = 1073741893
K_PRINTSCREEN = 1073741894
K_SCROLLLOCK = 1073741895
K_PAUSE = 1073741896
K_INSERT = 1073741897
K_HOME = 1073741898
K_PAGEUP = 1073741899
K_END = 1073741901
K_PAGEDOWN = 1073741902
K_RIGHT = 1073741903
K_LEFT = 1073741904
K_DOWN = 1073741905
K_UP = 1073741906
K_NUMLOCKCLEAR = 1073741907
K_KP_DIVIDE = 1073741908
K_KP_MULTIPLY = 1073741909
K_KP_MINUS = 1073741910
K_KP_PLUS = 1073741911
K_KP_ENTER = 1073741912
K_KP_1 = 1073741913
K_KP_2 = 1073741914
K_KP_3 = 1073741915
K_KP_4 = 1073741916
K_KP_5 = 1073741917
K_KP_6 = 1073741918
K_KP_7 = 1073741919
K_KP_8 = 1073741920
K_KP_9 = 1073741921
K_KP_0 = 1073741922
K_KP_PERIOD = 1073741923
K_APPLICATION = 1073741925
K_POWER = 1073741926
K_KP_EQUALS = 1073741927
K_F13 = 1073741928
K_F14 = 1073741929
K_F15 = 1073741930
K_F16 = 1073741931
K_F17 = 1073741932
K_F18 = 1073741933
K_F19 = 1073741934
K_F20 = 1073741935
K_F21 = 1073741936
K_F22 = 1073741937
K_F23 = 1073741938
K_F24 = 1073741939
K_EXECUTE = 1073741940
K_HELP = 1073741941
K_MENU = 1073741942
K_SELECT = 1073741943
K_STOP = 1073741944
K_AGAIN = 1073741945
K_UNDO = 1073741946
K_CUT = 1073741947
K_COPY = 1073741948
K_PASTE = 1073741949
K_FIND = 1073741950
K_MUTE = 1073741951
K_VOLUMEUP = 1073741952
K_VOLUMEDOWN = 1073741953
K_KP_COMMA = 1073741957
K_KP_EQUALSAS400 = 1073741958
K_ALTERASE = 1073741977
K_SYSREQ = 1073741978
K_CANCEL = 1073741979
K_CLEAR = 1073741980
K_PRIOR = 1073741981
K_RETURN2 = 1073741982
K_SEPARATOR = 1073741983
K_OUT = 1073741984
K_OPER = 1073741985
K_CLEARAGAIN = 1073741986
K_CRSEL = 1073741987
K_EXSEL = 1073741988
K_KP_00 = 1073742000
K_KP_000 = 1073742001
K_THOUSANDSSEPARATOR = 1073742002
K_DECIMALSEPARATOR = 1073742003
K_CURRENCYUNIT = 1073742004
K_CURRENCYSUBUNIT = 1073742005
K_KP_LEFTPAREN = 1073742006
K_KP_RIGHTPAREN = 1073742007
K_KP_LEFTBRACE = 1073742008
K_KP_RIGHTBRACE = 1073742009
K_KP_TAB = 1073742010
K_KP_BACKSPACE = 1073742011
K_KP_A = 1073742012
K_KP_B = 1073742013
K_KP_C = 1073742014
K_KP_D = 1073742015
K_KP_E = 1073742016
K_KP_F = 1073742017
K_KP_XOR = 1073742018
K_KP_POWER = 1073742019
K_KP_PERCENT = 1073742020
K_KP_LESS = 1073742021
K_KP_GREATER = 1073742022
K_KP_AMPERSAND = 1073742023
K_KP_DBLAMPERSAND = 1073742024
K_KP_VERTICALBAR = 1073742025
K_KP_DBLVERTICALBAR = 1073742026
K_KP_COLON = 1073742027
K_KP_HASH = 1073742028
K_KP_SPACE = 1073742029
K_KP_AT = 1073742030
K_KP_EXCLAM = 1073742031
K_KP_MEMSTORE = 1073742032
K_KP_MEMRECALL = 1073742033
K_KP_MEMCLEAR = 1073742034
K_KP_MEMADD = 1073742035
K_KP_MEMSUBTRACT = 1073742036
K_KP_MEMMULTIPLY = 1073742037
K_KP_MEMDIVIDE = 1073742038
K_KP_PLUSMINUS = 1073742039
K_KP_CLEAR = 1073742040
K_KP_CLEARENTRY = 1073742041
K_KP_BINARY = 1073742042
K_KP_OCTAL = 1073742043
K_KP_DECIMAL = 1073742044
K_KP_HEXADECIMAL = 1073742045
K_LCTRL = 1073742048
K_LSHIFT = 1073742049
K_LALT = 1073742050
K_LGUI = 1073742051
K_RCTRL = 1073742052
K_RSHIFT = 1073742053
K_RALT = 1073742054
K_RGUI = 1073742055
K_MODE = 1073742081
K_AUDIONEXT = 1073742082
K_AUDIOPREV = 1073742083
K_AUDIOSTOP = 1073742084
K_AUDIOPLAY = 1073742085
K_AUDIOMUTE = 1073742086
K_MEDIASELECT = 1073742087
K_WWW = 1073742088
K_MAIL = 1073742089
K_CALCULATOR = 1073742090
K_COMPUTER = 1073742091
K_AC_SEARCH = 1073742092
K_AC_HOME = 1073742093
K_AC_BACK = 1073742094
K_AC_FORWARD = 1073742095
K_AC_STOP = 1073742096
K_AC_REFRESH = 1073742097
K_AC_BOOKMARKS = 1073742098
K_BRIGHTNESSDOWN = 1073742099
K_BRIGHTNESSUP = 1073742100
K_DISPLAYSWITCH = 1073742101
K_KBDILLUMTOGGLE = 1073742102
K_KBDILLUMDOWN = 1073742103
K_KBDILLUMUP = 1073742104
K_EJECT = 1073742105
K_SLEEP = 1073742106
# --- SDL keyboard modifiers ---
KMOD_NONE = 0
KMOD_LSHIFT = 1
KMOD_RSHIFT = 2
KMOD_SHIFT = 3
KMOD_LCTRL = 64
KMOD_RCTRL = 128
KMOD_CTRL = 192
KMOD_LALT = 256
KMOD_RALT = 512
KMOD_ALT = 768
KMOD_LGUI = 1024
KMOD_RGUI = 2048
KMOD_GUI = 3072
KMOD_NUM = 4096
KMOD_CAPS = 8192
KMOD_MODE = 16384
KMOD_RESERVED = 32768
_REVERSE_MOD_TABLE = {
0: "KMOD_NONE",
1: "KMOD_LSHIFT",
2: "KMOD_RSHIFT",
3: "KMOD_SHIFT",
64: "KMOD_LCTRL",
128: "KMOD_RCTRL",
192: "KMOD_CTRL",
256: "KMOD_LALT",
512: "KMOD_RALT",
768: "KMOD_ALT",
1024: "KMOD_LGUI",
2048: "KMOD_RGUI",
3072: "KMOD_GUI",
4096: "KMOD_NUM",
8192: "KMOD_CAPS",
16384: "KMOD_MODE",
32768: "KMOD_RESERVED",
}
# --- SDL wheel ---
MOUSEWHEEL_NORMAL = 0
MOUSEWHEEL_FLIPPED = 1
MOUSEWHEEL = 1027
_REVERSE_WHEEL_TABLE = {
0: "MOUSEWHEEL_NORMAL",
1: "MOUSEWHEEL_FLIPPED",
1027: "MOUSEWHEEL",
}
__all__ = [
"SCANCODE_UNKNOWN",
"SCANCODE_A",
"SCANCODE_B",
"SCANCODE_C",
"SCANCODE_D",
"SCANCODE_E",
"SCANCODE_F",
"SCANCODE_G",
"SCANCODE_H",
"SCANCODE_I",
"SCANCODE_J",
"SCANCODE_K",
"SCANCODE_L",
"SCANCODE_M",
"SCANCODE_N",
"SCANCODE_O",
"SCANCODE_P",
"SCANCODE_Q",
"SCANCODE_R",
"SCANCODE_S",
"SCANCODE_T",
"SCANCODE_U",
"SCANCODE_V",
"SCANCODE_W",
"SCANCODE_X",
"SCANCODE_Y",
"SCANCODE_Z",
"SCANCODE_1",
"SCANCODE_2",
"SCANCODE_3",
"SCANCODE_4",
"SCANCODE_5",
"SCANCODE_6",
"SCANCODE_7",
"SCANCODE_8",
"SCANCODE_9",
"SCANCODE_0",
"SCANCODE_RETURN",
"SCANCODE_ESCAPE",
"SCANCODE_BACKSPACE",
"SCANCODE_TAB",
"SCANCODE_SPACE",
"SCANCODE_MINUS",
"SCANCODE_EQUALS",
"SCANCODE_LEFTBRACKET",
"SCANCODE_RIGHTBRACKET",
"SCANCODE_BACKSLASH",
"SCANCODE_NONUSHASH",
"SCANCODE_SEMICOLON",
"SCANCODE_APOSTROPHE",
"SCANCODE_GRAVE",
"SCANCODE_COMMA",
"SCANCODE_PERIOD",
"SCANCODE_SLASH",
"SCANCODE_CAPSLOCK",
"SCANCODE_F1",
"SCANCODE_F2",
"SCANCODE_F3",
"SCANCODE_F4",
"SCANCODE_F5",
"SCANCODE_F6",
"SCANCODE_F7",
"SCANCODE_F8",
"SCANCODE_F9",
"SCANCODE_F10",
"SCANCODE_F11",
"SCANCODE_F12",
"SCANCODE_PRINTSCREEN",
"SCANCODE_SCROLLLOCK",
"SCANCODE_PAUSE",
"SCANCODE_INSERT",
"SCANCODE_HOME",
"SCANCODE_PAGEUP",
"SCANCODE_DELETE",
"SCANCODE_END",
"SCANCODE_PAGEDOWN",
"SCANCODE_RIGHT",
"SCANCODE_LEFT",
"SCANCODE_DOWN",
"SCANCODE_UP",
"SCANCODE_NUMLOCKCLEAR",
"SCANCODE_KP_DIVIDE",
"SCANCODE_KP_MULTIPLY",
"SCANCODE_KP_MINUS",
"SCANCODE_KP_PLUS",
"SCANCODE_KP_ENTER",
"SCANCODE_KP_1",
"SCANCODE_KP_2",
"SCANCODE_KP_3",
"SCANCODE_KP_4",
"SCANCODE_KP_5",
"SCANCODE_KP_6",
"SCANCODE_KP_7",
"SCANCODE_KP_8",
"SCANCODE_KP_9",
"SCANCODE_KP_0",
"SCANCODE_KP_PERIOD",
"SCANCODE_NONUSBACKSLASH",
"SCANCODE_APPLICATION",
"SCANCODE_POWER",
"SCANCODE_KP_EQUALS",
"SCANCODE_F13",
"SCANCODE_F14",
"SCANCODE_F15",
"SCANCODE_F16",
"SCANCODE_F17",
"SCANCODE_F18",
"SCANCODE_F19",
"SCANCODE_F20",
"SCANCODE_F21",
"SCANCODE_F22",
"SCANCODE_F23",
"SCANCODE_F24",
"SCANCODE_EXECUTE",
"SCANCODE_HELP",
"SCANCODE_MENU",
"SCANCODE_SELECT",
"SCANCODE_STOP",
"SCANCODE_AGAIN",
"SCANCODE_UNDO",
"SCANCODE_CUT",
"SCANCODE_COPY",
"SCANCODE_PASTE",
"SCANCODE_FIND",
"SCANCODE_MUTE",
"SCANCODE_VOLUMEUP",
"SCANCODE_VOLUMEDOWN",
"SCANCODE_KP_COMMA",
"SCANCODE_KP_EQUALSAS400",
"SCANCODE_INTERNATIONAL1",
"SCANCODE_INTERNATIONAL2",
"SCANCODE_INTERNATIONAL3",
"SCANCODE_INTERNATIONAL4",
"SCANCODE_INTERNATIONAL5",
"SCANCODE_INTERNATIONAL6",
"SCANCODE_INTERNATIONAL7",
"SCANCODE_INTERNATIONAL8",
"SCANCODE_INTERNATIONAL9",
"SCANCODE_LANG1",
"SCANCODE_LANG2",
"SCANCODE_LANG3",
"SCANCODE_LANG4",
"SCANCODE_LANG5",
"SCANCODE_LANG6",
"SCANCODE_LANG7",
"SCANCODE_LANG8",
"SCANCODE_LANG9",
"SCANCODE_ALTERASE",
"SCANCODE_SYSREQ",
"SCANCODE_CANCEL",
"SCANCODE_CLEAR",
"SCANCODE_PRIOR",
"SCANCODE_RETURN2",
"SCANCODE_SEPARATOR",
"SCANCODE_OUT",
"SCANCODE_OPER",
"SCANCODE_CLEARAGAIN",
"SCANCODE_CRSEL",
"SCANCODE_EXSEL",
"SCANCODE_KP_00",
"SCANCODE_KP_000",
"SCANCODE_THOUSANDSSEPARATOR",
"SCANCODE_DECIMALSEPARATOR",
"SCANCODE_CURRENCYUNIT",
"SCANCODE_CURRENCYSUBUNIT",
"SCANCODE_KP_LEFTPAREN",
"SCANCODE_KP_RIGHTPAREN",
"SCANCODE_KP_LEFTBRACE",
"SCANCODE_KP_RIGHTBRACE",
"SCANCODE_KP_TAB",
"SCANCODE_KP_BACKSPACE",
"SCANCODE_KP_A",
"SCANCODE_KP_B",
"SCANCODE_KP_C",
"SCANCODE_KP_D",
"SCANCODE_KP_E",
"SCANCODE_KP_F",
"SCANCODE_KP_XOR",
"SCANCODE_KP_POWER",
"SCANCODE_KP_PERCENT",
"SCANCODE_KP_LESS",
"SCANCODE_KP_GREATER",
"SCANCODE_KP_AMPERSAND",
"SCANCODE_KP_DBLAMPERSAND",
"SCANCODE_KP_VERTICALBAR",
"SCANCODE_KP_DBLVERTICALBAR",
"SCANCODE_KP_COLON",
"SCANCODE_KP_HASH",
"SCANCODE_KP_SPACE",
"SCANCODE_KP_AT",
"SCANCODE_KP_EXCLAM",
"SCANCODE_KP_MEMSTORE",
"SCANCODE_KP_MEMRECALL",
"SCANCODE_KP_MEMCLEAR",
"SCANCODE_KP_MEMADD",
"SCANCODE_KP_MEMSUBTRACT",
"SCANCODE_KP_MEMMULTIPLY",
"SCANCODE_KP_MEMDIVIDE",
"SCANCODE_KP_PLUSMINUS",
"SCANCODE_KP_CLEAR",
"SCANCODE_KP_CLEARENTRY",
"SCANCODE_KP_BINARY",
"SCANCODE_KP_OCTAL",
"SCANCODE_KP_DECIMAL",
"SCANCODE_KP_HEXADECIMAL",
"SCANCODE_LCTRL",
"SCANCODE_LSHIFT",
"SCANCODE_LALT",
"SCANCODE_LGUI",
"SCANCODE_RCTRL",
"SCANCODE_RSHIFT",
"SCANCODE_RALT",
"SCANCODE_RGUI",
"SCANCODE_MODE",
"SCANCODE_AUDIONEXT",
"SCANCODE_AUDIOPREV",
"SCANCODE_AUDIOSTOP",
"SCANCODE_AUDIOPLAY",
"SCANCODE_AUDIOMUTE",
"SCANCODE_MEDIASELECT",
"SCANCODE_WWW",
"SCANCODE_MAIL",
"SCANCODE_CALCULATOR",
"SCANCODE_COMPUTER",
"SCANCODE_AC_SEARCH",
"SCANCODE_AC_HOME",
"SCANCODE_AC_BACK",
"SCANCODE_AC_FORWARD",
"SCANCODE_AC_STOP",
"SCANCODE_AC_REFRESH",
"SCANCODE_AC_BOOKMARKS",
"SCANCODE_BRIGHTNESSDOWN",
"SCANCODE_BRIGHTNESSUP",
"SCANCODE_DISPLAYSWITCH",
"SCANCODE_KBDILLUMTOGGLE",
"SCANCODE_KBDILLUMDOWN",
"SCANCODE_KBDILLUMUP",
"SCANCODE_EJECT",
"SCANCODE_SLEEP",
"SCANCODE_APP1",
"SCANCODE_APP2",
"K_UNKNOWN",
"K_BACKSPACE",
"K_TAB",
"K_RETURN",
"K_ESCAPE",
"K_SPACE",
"K_EXCLAIM",
"K_QUOTEDBL",
"K_HASH",
"K_DOLLAR",
"K_PERCENT",
"K_AMPERSAND",
"K_QUOTE",
"K_LEFTPAREN",
"K_RIGHTPAREN",
"K_ASTERISK",
"K_PLUS",
"K_COMMA",
"K_MINUS",
"K_PERIOD",
"K_SLASH",
"K_0",
"K_1",
"K_2",
"K_3",
"K_4",
"K_5",
"K_6",
"K_7",
"K_8",
"K_9",
"K_COLON",
"K_SEMICOLON",
"K_LESS",
"K_EQUALS",
"K_GREATER",
"K_QUESTION",
"K_AT",
"K_LEFTBRACKET",
"K_BACKSLASH",
"K_RIGHTBRACKET",
"K_CARET",
"K_UNDERSCORE",
"K_BACKQUOTE",
"K_a",
"K_b",
"K_c",
"K_d",
"K_e",
"K_f",
"K_g",
"K_h",
"K_i",
"K_j",
"K_k",
"K_l",
"K_m",
"K_n",
"K_o",
"K_p",
"K_q",
"K_r",
"K_s",
"K_t",
"K_u",
"K_v",
"K_w",
"K_x",
"K_y",
"K_z",
"K_DELETE",
"K_SCANCODE_MASK",
"K_CAPSLOCK",
"K_F1",
"K_F2",
"K_F3",
"K_F4",
"K_F5",
"K_F6",
"K_F7",
"K_F8",
"K_F9",
"K_F10",
"K_F11",
"K_F12",
"K_PRINTSCREEN",
"K_SCROLLLOCK",
"K_PAUSE",
"K_INSERT",
"K_HOME",
"K_PAGEUP",
"K_END",
"K_PAGEDOWN",
"K_RIGHT",
"K_LEFT",
"K_DOWN",
"K_UP",
"K_NUMLOCKCLEAR",
"K_KP_DIVIDE",
"K_KP_MULTIPLY",
"K_KP_MINUS",
"K_KP_PLUS",
"K_KP_ENTER",
"K_KP_1",
"K_KP_2",
"K_KP_3",
"K_KP_4",
"K_KP_5",
"K_KP_6",
"K_KP_7",
"K_KP_8",
"K_KP_9",
"K_KP_0",
"K_KP_PERIOD",
"K_APPLICATION",
"K_POWER",
"K_KP_EQUALS",
"K_F13",
"K_F14",
"K_F15",
"K_F16",
"K_F17",
"K_F18",
"K_F19",
"K_F20",
"K_F21",
"K_F22",
"K_F23",
"K_F24",
"K_EXECUTE",
"K_HELP",
"K_MENU",
"K_SELECT",
"K_STOP",
"K_AGAIN",
"K_UNDO",
"K_CUT",
"K_COPY",
"K_PASTE",
"K_FIND",
"K_MUTE",
"K_VOLUMEUP",
"K_VOLUMEDOWN",
"K_KP_COMMA",
"K_KP_EQUALSAS400",
"K_ALTERASE",
"K_SYSREQ",
"K_CANCEL",
"K_CLEAR",
"K_PRIOR",
"K_RETURN2",
"K_SEPARATOR",
"K_OUT",
"K_OPER",
"K_CLEARAGAIN",
"K_CRSEL",
"K_EXSEL",
"K_KP_00",
"K_KP_000",
"K_THOUSANDSSEPARATOR",
"K_DECIMALSEPARATOR",
"K_CURRENCYUNIT",
"K_CURRENCYSUBUNIT",
"K_KP_LEFTPAREN",
"K_KP_RIGHTPAREN",
"K_KP_LEFTBRACE",
"K_KP_RIGHTBRACE",
"K_KP_TAB",
"K_KP_BACKSPACE",
"K_KP_A",
"K_KP_B",
"K_KP_C",
"K_KP_D",
"K_KP_E",
"K_KP_F",
"K_KP_XOR",
"K_KP_POWER",
"K_KP_PERCENT",
"K_KP_LESS",
"K_KP_GREATER",
"K_KP_AMPERSAND",
"K_KP_DBLAMPERSAND",
"K_KP_VERTICALBAR",
"K_KP_DBLVERTICALBAR",
"K_KP_COLON",
"K_KP_HASH",
"K_KP_SPACE",
"K_KP_AT",
"K_KP_EXCLAM",
"K_KP_MEMSTORE",
"K_KP_MEMRECALL",
"K_KP_MEMCLEAR",
"K_KP_MEMADD",
"K_KP_MEMSUBTRACT",
"K_KP_MEMMULTIPLY",
"K_KP_MEMDIVIDE",
"K_KP_PLUSMINUS",
"K_KP_CLEAR",
"K_KP_CLEARENTRY",
"K_KP_BINARY",
"K_KP_OCTAL",
"K_KP_DECIMAL",
"K_KP_HEXADECIMAL",
"K_LCTRL",
"K_LSHIFT",
"K_LALT",
"K_LGUI",
"K_RCTRL",
"K_RSHIFT",
"K_RALT",
"K_RGUI",
"K_MODE",
"K_AUDIONEXT",
"K_AUDIOPREV",
"K_AUDIOSTOP",
"K_AUDIOPLAY",
"K_AUDIOMUTE",
"K_MEDIASELECT",
"K_WWW",
"K_MAIL",
"K_CALCULATOR",
"K_COMPUTER",
"K_AC_SEARCH",