aboutsummaryrefslogtreecommitdiffstats
path: root/java/com/tigervnc/rfb/Keysymdef.java
blob: 164e791421c7c0f3753ce7fd4e206e4e8f96f325 (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
/* Copyright (C) 2017 Brian P. Hinz
 *
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this software; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
 * USA.
 */

package com.tigervnc.rfb;

public class Keysymdef {

  public static final int XK_VoidSymbol = 0xFFFFFF; /* void symbol */

  /*
   * TTY Functions, cleverly chosen to map to ascii, for convenience of
   * programming, but could have been arbitrary (at the cost of lookup
   * tables in client code.
   */

  public static final int XK_BackSpace = 0xFF08; /* back space, back char */
  public static final int XK_Tab = 0xFF09;
  public static final int XK_Linefeed = 0xFF0A; /* Linefeed, LF */
  public static final int XK_Clear = 0xFF0B;
  public static final int XK_Return = 0xFF0D; /* Return, enter */
  public static final int XK_Pause = 0xFF13; /* Pause, hold */
  public static final int XK_Scroll_Lock = 0xFF14;
  public static final int XK_Sys_Req = 0xFF15;
  public static final int XK_Escape = 0xFF1B;
  public static final int XK_Delete = 0xFFFF; /* Delete, rubout */

  /* International & multi-key character composition */

  public static final int XK_Multi_key = 0xFF20;  /* Multi-key character compose */
  public static final int XK_Codeinput = 0xFF37;
  public static final int XK_SingleCandidate = 0xFF3C;
  public static final int XK_MultipleCandidate = 0xFF3D;
  public static final int XK_PreviousCandidate = 0xFF3E;

  /* Japanese keyboard support */

  public static final int XK_Kanji = 0xFF21; /* Kanji, Kanji convert */
  public static final int XK_Muhenkan = 0xFF22;  /* Cancel Conversion */
  public static final int XK_Henkan_Mode = 0xFF23;  /* Start/Stop Conversion */
  public static final int XK_Henkan = 0xFF23;  /* Alias for Henkan_Mode */
  public static final int XK_Romaji = 0xFF24;  /* to Romaji */
  public static final int XK_Hiragana = 0xFF25;  /* to Hiragana */
  public static final int XK_Katakana = 0xFF26;  /* to Katakana */
  public static final int XK_Hiragana_Katakana = 0xFF27;  /* Hiragana/Katakana toggle */
  public static final int XK_Zenkaku = 0xFF28;  /* to Zenkaku */
  public static final int XK_Hankaku = 0xFF29;  /* to Hankaku */
  public static final int XK_Zenkaku_Hankaku = 0xFF2A;  /* Zenkaku/Hankaku toggle */
  public static final int XK_Touroku = 0xFF2B;  /* Add to Dictionary */
  public static final int XK_Massyo = 0xFF2C;  /* Delete from Dictionary */
  public static final int XK_Kana_Lock = 0xFF2D;  /* Kana Lock */
  public static final int XK_Kana_Shift = 0xFF2E;  /* Kana Shift */
  public static final int XK_Eisu_Shift = 0xFF2F;  /* Alphanumeric Shift */
  public static final int XK_Eisu_toggle = 0xFF30;  /* Alphanumeric toggle */
  public static final int XK_Kanji_Bangou = 0xFF37;  /* Codeinput */
  public static final int XK_Zen_Koho = 0xFF3D; /* Multiple/All Candidate(s) */
  public static final int XK_Mae_Koho = 0xFF3E; /* Previous Candidate */

  /* 0xFF31 thru 0xFF3F are under XK_KOREAN */

  /* Cursor control & motion */

  public static final int XK_Home = 0xFF50;
  public static final int XK_Left = 0xFF51; /* Move left, left arrow */
  public static final int XK_Up = 0xFF52; /* Move up, up arrow */
  public static final int XK_Right = 0xFF53; /* Move right, right arrow */
  public static final int XK_Down = 0xFF54; /* Move down, down arrow */
  public static final int XK_Prior = 0xFF55; /* Prior, previous */
  public static final int XK_Page_Up = 0xFF55;
  public static final int XK_Next = 0xFF56; /* Next */
  public static final int XK_Page_Down = 0xFF56;
  public static final int XK_End = 0xFF57; /* EOL */
  public static final int XK_Begin = 0xFF58; /* BOL */


  /* Misc Functions */

  public static final int XK_Select = 0xFF60; /* Select, mark */
  public static final int XK_Print = 0xFF61;
  public static final int XK_Execute = 0xFF62; /* Execute, run, do */
  public static final int XK_Insert = 0xFF63; /* Insert, insert here */
  public static final int XK_Undo = 0xFF65; /* Undo, oops */
  public static final int XK_Redo = 0xFF66; /* redo, again */
  public static final int XK_Menu = 0xFF67;
  public static final int XK_Find = 0xFF68; /* Find, search */
  public static final int XK_Cancel = 0xFF69; /* Cancel, stop, abort, exit */
  public static final int XK_Help = 0xFF6A; /* Help */
  public static final int XK_Break = 0xFF6B;
  public static final int XK_Mode_switch = 0xFF7E; /* Character set switch */
  public static final int XK_script_switch = 0xFF7E;  /* Alias for mode_switch */
  public static final int XK_Num_Lock = 0xFF7F;

  /* Keypad Functions, keypad numbers cleverly chosen to map to ascii */

  public static final int XK_KP_Space = 0xFF80; /* space */
  public static final int XK_KP_Tab = 0xFF89;
  public static final int XK_KP_Enter = 0xFF8D; /* enter */
  public static final int XK_KP_F1 = 0xFF91; /* PF1, KP_A, ... */
  public static final int XK_KP_F2 = 0xFF92;
  public static final int XK_KP_F3 = 0xFF93;
  public static final int XK_KP_F4 = 0xFF94;
  public static final int XK_KP_Home = 0xFF95;
  public static final int XK_KP_Left = 0xFF96;
  public static final int XK_KP_Up = 0xFF97;
  public static final int XK_KP_Right = 0xFF98;
  public static final int XK_KP_Down = 0xFF99;
  public static final int XK_KP_Prior = 0xFF9A;
  public static final int XK_KP_Page_Up = 0xFF9A;
  public static final int XK_KP_Next = 0xFF9B;
  public static final int XK_KP_Page_Down = 0xFF9B;
  public static final int XK_KP_End = 0xFF9C;
  public static final int XK_KP_Begin = 0xFF9D;
  public static final int XK_KP_Insert = 0xFF9E;
  public static final int XK_KP_Delete = 0xFF9F;
  public static final int XK_KP_Equal = 0xFFBD; /* equals */
  public static final int XK_KP_Multiply = 0xFFAA;
  public static final int XK_KP_Add = 0xFFAB;
  public static final int XK_KP_Separator = 0xFFAC; /* separator, often comma */
  public static final int XK_KP_Subtract = 0xFFAD;
  public static final int XK_KP_Decimal = 0xFFAE;
  public static final int XK_KP_Divide = 0xFFAF;

  public static final int XK_KP_0 = 0xFFB0;
  public static final int XK_KP_1 = 0xFFB1;
  public static final int XK_KP_2 = 0xFFB2;
  public static final int XK_KP_3 = 0xFFB3;
  public static final int XK_KP_4 = 0xFFB4;
  public static final int XK_KP_5 = 0xFFB5;
  public static final int XK_KP_6 = 0xFFB6;
  public static final int XK_KP_7 = 0xFFB7;
  public static final int XK_KP_8 = 0xFFB8;
  public static final int XK_KP_9 = 0xFFB9;

  /*
   * Auxiliary Functions; note the duplicate definitions for left and right;
   * function keys;  Sun keyboards and a few other manufactures have such;
   * function key groups on the left and/or right sides of the keyboard.
   * We've not found a keyboard with more than 35 function keys total.
   */

  public static final int XK_F1 = 0xFFBE;
  public static final int XK_F2 = 0xFFBF;
  public static final int XK_F3 = 0xFFC0;
  public static final int XK_F4 = 0xFFC1;
  public static final int XK_F5 = 0xFFC2;
  public static final int XK_F6 = 0xFFC3;
  public static final int XK_F7 = 0xFFC4;
  public static final int XK_F8 = 0xFFC5;
  public static final int XK_F9 = 0xFFC6;
  public static final int XK_F10 = 0xFFC7;
  public static final int XK_F11 = 0xFFC8;
  public static final int XK_L1 = 0xFFC8;
  public static final int XK_F12 = 0xFFC9;
  public static final int XK_L2 = 0xFFC9;
  public static final int XK_F13 = 0xFFCA;
  public static final int XK_L3 = 0xFFCA;
  public static final int XK_F14 = 0xFFCB;
  public static final int XK_L4 = 0xFFCB;
  public static final int XK_F15 = 0xFFCC;
  public static final int XK_L5 = 0xFFCC;
  public static final int XK_F16 = 0xFFCD;
  public static final int XK_L6 = 0xFFCD;
  public static final int XK_F17 = 0xFFCE;
  public static final int XK_L7 = 0xFFCE;
  public static final int XK_F18 = 0xFFCF;
  public static final int XK_L8 = 0xFFCF;
  public static final int XK_F19 = 0xFFD0;
  public static final int XK_L9 = 0xFFD0;
  public static final int XK_F20 = 0xFFD1;
  public static final int XK_L10 = 0xFFD1;
  public static final int XK_F21 = 0xFFD2;
  public static final int XK_R1 = 0xFFD2;
  public static final int XK_F22 = 0xFFD3;
  public static final int XK_R2 = 0xFFD3;
  public static final int XK_F23 = 0xFFD4;
  public static final int XK_R3 = 0xFFD4;
  public static final int XK_F24 = 0xFFD5;
  public static final int XK_R4 = 0xFFD5;
  public static final int XK_F25 = 0xFFD6;
  public static final int XK_R5 = 0xFFD6;
  public static final int XK_F26 = 0xFFD7;
  public static final int XK_R6 = 0xFFD7;
  public static final int XK_F27 = 0xFFD8;
  public static final int XK_R7 = 0xFFD8;
  public static final int XK_F28 = 0xFFD9;
  public static final int XK_R8 = 0xFFD9;
  public static final int XK_F29 = 0xFFDA;
  public static final int XK_R9 = 0xFFDA;
  public static final int XK_F30 = 0xFFDB;
  public static final int XK_R10 = 0xFFDB;
  public static final int XK_F31 = 0xFFDC;
  public static final int XK_R11 = 0xFFDC;
  public static final int XK_F32 = 0xFFDD;
  public static final int XK_R12 = 0xFFDD;
  public static final int XK_F33 = 0xFFDE;
  public static final int XK_R13 = 0xFFDE;
  public static final int XK_F34 = 0xFFDF;
  public static final int XK_R14 = 0xFFDF;
  public static final int XK_F35 = 0xFFE0;
  public static final int XK_R15 = 0xFFE0;

  /* Modifiers */

  public static final int XK_Shift_L = 0xFFE1; /* Left shift */
  public static final int XK_Shift_R = 0xFFE2; /* Right shift */
  public static final int XK_Control_L = 0xFFE3; /* Left control */
  public static final int XK_Control_R = 0xFFE4; /* Right control */
  public static final int XK_Caps_Lock = 0xFFE5; /* Caps lock */
  public static final int XK_Shift_Lock = 0xFFE6; /* Shift lock */

  public static final int XK_Meta_L = 0xFFE7; /* Left meta */
  public static final int XK_Meta_R = 0xFFE8; /* Right meta */
  public static final int XK_Alt_L = 0xFFE9; /* Left alt */
  public static final int XK_Alt_R = 0xFFEA; /* Right alt */
  public static final int XK_Super_L = 0xFFEB; /* Left super */
  public static final int XK_Super_R = 0xFFEC; /* Right super */
  public static final int XK_Hyper_L = 0xFFED; /* Left hyper */
  public static final int XK_Hyper_R = 0xFFEE; /* Right hyper */

  /*
   * ISO 9995 Function and Modifier Keys;
   * Byte 3 = 0xFE;
   */

  public static final int XK_ISO_Lock = 0xFE01;
  public static final int XK_ISO_Level2_Latch = 0xFE02;
  public static final int XK_ISO_Level3_Shift = 0xFE03;
  public static final int XK_ISO_Level3_Latch = 0xFE04;
  public static final int XK_ISO_Level3_Lock = 0xFE05;
  public static final int XK_ISO_Group_Shift = 0xFF7E; /* Alias for mode_switch */
  public static final int XK_ISO_Group_Latch = 0xFE06;
  public static final int XK_ISO_Group_Lock = 0xFE07;
  public static final int XK_ISO_Next_Group = 0xFE08;
  public static final int XK_ISO_Next_Group_Lock = 0xFE09;
  public static final int XK_ISO_Prev_Group = 0xFE0A;
  public static final int XK_ISO_Prev_Group_Lock = 0xFE0B;
  public static final int XK_ISO_First_Group = 0xFE0C;
  public static final int XK_ISO_First_Group_Lock = 0xFE0D;
  public static final int XK_ISO_Last_Group = 0xFE0E;
  public static final int XK_ISO_Last_Group_Lock = 0xFE0F;

  public static final int XK_ISO_Left_Tab = 0xFE20;
  public static final int XK_ISO_Move_Line_Up = 0xFE21;
  public static final int XK_ISO_Move_Line_Down = 0xFE22;
  public static final int XK_ISO_Partial_Line_Up = 0xFE23;
  public static final int XK_ISO_Partial_Line_Down = 0xFE24;
  public static final int XK_ISO_Partial_Space_Left = 0xFE25;
  public static final int XK_ISO_Partial_Space_Right = 0xFE26;
  public static final int XK_ISO_Set_Margin_Left = 0xFE27;
  public static final int XK_ISO_Set_Margin_Right = 0xFE28;
  public static final int XK_ISO_Release_Margin_Left = 0xFE29;
  public static final int XK_ISO_Release_Margin_Right = 0xFE2A;
  public static final int XK_ISO_Release_Both_Margins = 0xFE2B;
  public static final int XK_ISO_Fast_Cursor_Left = 0xFE2C;
  public static final int XK_ISO_Fast_Cursor_Right = 0xFE2D;
  public static final int XK_ISO_Fast_Cursor_Up = 0xFE2E;
  public static final int XK_ISO_Fast_Cursor_Down = 0xFE2F;
  public static final int XK_ISO_Continuous_Underline = 0xFE30;
  public static final int XK_ISO_Discontinuous_Underline = 0xFE31;
  public static final int XK_ISO_Emphasize = 0xFE32;
  public static final int XK_ISO_Center_Object = 0xFE33;
  public static final int XK_ISO_Enter = 0xFE34;

  public static final int XK_dead_grave = 0xFE50;
  public static final int XK_dead_acute = 0xFE51;
  public static final int XK_dead_circumflex = 0xFE52;
  public static final int XK_dead_tilde = 0xFE53;
  public static final int XK_dead_macron = 0xFE54;
  public static final int XK_dead_breve = 0xFE55;
  public static final int XK_dead_abovedot = 0xFE56;
  public static final int XK_dead_diaeresis = 0xFE57;
  public static final int XK_dead_abovering = 0xFE58;
  public static final int XK_dead_doubleacute = 0xFE59;
  public static final int XK_dead_caron = 0xFE5A;
  public static final int XK_dead_cedilla = 0xFE5B;
  public static final int XK_dead_ogonek = 0xFE5C;
  public static final int XK_dead_iota = 0xFE5D;
  public static final int XK_dead_voiced_sound = 0xFE5E;
  public static final int XK_dead_semivoiced_sound = 0xFE5F;
  public static final int XK_dead_belowdot = 0xFE60;

  public static final int XK_First_Virtual_Screen = 0xFED0;
  public static final int XK_Prev_Virtual_Screen = 0xFED1;
  public static final int XK_Next_Virtual_Screen = 0xFED2;
  public static final int XK_Last_Virtual_Screen = 0xFED4;
  public static final int XK_Terminate_Server = 0xFED5;

  public static final int XK_AccessX_Enable = 0xFE70;
  public static final int XK_AccessX_Feedback_Enable = 0xFE71;
  public static final int XK_RepeatKeys_Enable = 0xFE72;
  public static final int XK_SlowKeys_Enable = 0xFE73;
  public static final int XK_BounceKeys_Enable = 0xFE74;
  public static final int XK_StickyKeys_Enable = 0xFE75;
  public static final int XK_MouseKeys_Enable = 0xFE76;
  public static final int XK_MouseKeys_Accel_Enable = 0xFE77;
  public static final int XK_Overlay1_Enable = 0xFE78;
  public static final int XK_Overlay2_Enable = 0xFE79;
  public static final int XK_AudibleBell_Enable = 0xFE7A;

  public static final int XK_Pointer_Left = 0xFEE0;
  public static final int XK_Pointer_Right = 0xFEE1;
  public static final int XK_Pointer_Up = 0xFEE2;
  public static final int XK_Pointer_Down = 0xFEE3;
  public static final int XK_Pointer_UpLeft = 0xFEE4;
  public static final int XK_Pointer_UpRight = 0xFEE5;
  public static final int XK_Pointer_DownLeft = 0xFEE6;
  public static final int XK_Pointer_DownRight = 0xFEE7;
  public static final int XK_Pointer_Button_Dflt = 0xFEE8;
  public static final int XK_Pointer_Button1 = 0xFEE9;
  public static final int XK_Pointer_Button2 = 0xFEEA;
  public static final int XK_Pointer_Button3 = 0xFEEB;
  public static final int XK_Pointer_Button4 = 0xFEEC;
  public static final int XK_Pointer_Button5 = 0xFEED;
  public static final int XK_Pointer_DblClick_Dflt = 0xFEEE;
  public static final int XK_Pointer_DblClick1 = 0xFEEF;
  public static final int XK_Pointer_DblClick2 = 0xFEF0;
  public static final int XK_Pointer_DblClick3 = 0xFEF1;
  public static final int XK_Pointer_DblClick4 = 0xFEF2;
  public static final int XK_Pointer_DblClick5 = 0xFEF3;
  public static final int XK_Pointer_Drag_Dflt = 0xFEF4;
  public static final int XK_Pointer_Drag1 = 0xFEF5;
  public static final int XK_Pointer_Drag2 = 0xFEF6;
  public static final int XK_Pointer_Drag3 = 0xFEF7;
  public static final int XK_Pointer_Drag4 = 0xFEF8;
  public static final int XK_Pointer_Drag5 = 0xFEFD;

  public static final int XK_Pointer_EnableKeys = 0xFEF9;
  public static final int XK_Pointer_Accelerate = 0xFEFA;
  public static final int XK_Pointer_DfltBtnNext = 0xFEFB;
  public static final int XK_Pointer_DfltBtnPrev = 0xFEFC;

  /*
   * 3270 Terminal Keys;
   * Byte 3 = 0xFD;
   */

  public static final int XK_3270_Duplicate = 0xFD01;
  public static final int XK_3270_FieldMark = 0xFD02;
  public static final int XK_3270_Right2 = 0xFD03;
  public static final int XK_3270_Left2 = 0xFD04;
  public static final int XK_3270_BackTab = 0xFD05;
  public static final int XK_3270_EraseEOF = 0xFD06;
  public static final int XK_3270_EraseInput = 0xFD07;
  public static final int XK_3270_Reset = 0xFD08;
  public static final int XK_3270_Quit = 0xFD09;
  public static final int XK_3270_PA1 = 0xFD0A;
  public static final int XK_3270_PA2 = 0xFD0B;
  public static final int XK_3270_PA3 = 0xFD0C;
  public static final int XK_3270_Test = 0xFD0D;
  public static final int XK_3270_Attn = 0xFD0E;
  public static final int XK_3270_CursorBlink = 0xFD0F;
  public static final int XK_3270_AltCursor = 0xFD10;
  public static final int XK_3270_KeyClick = 0xFD11;
  public static final int XK_3270_Jump = 0xFD12;
  public static final int XK_3270_Ident = 0xFD13;
  public static final int XK_3270_Rule = 0xFD14;
  public static final int XK_3270_Copy = 0xFD15;
  public static final int XK_3270_Play = 0xFD16;
  public static final int XK_3270_Setup = 0xFD17;
  public static final int XK_3270_Record = 0xFD18;
  public static final int XK_3270_ChangeScreen = 0xFD19;
  public static final int XK_3270_DeleteWord = 0xFD1A;
  public static final int XK_3270_ExSelect = 0xFD1B;
  public static final int XK_3270_CursorSelect = 0xFD1C;
  public static final int XK_3270_PrintScreen = 0xFD1D;
  public static final int XK_3270_Enter = 0xFD1E;

  /*
   *  Latin 1;
   *  Byte 3 = 0;
   */
  public static final int XK_space = 0x020;
  public static final int XK_exclam = 0x021;
  public static final int XK_quotedbl = 0x022;
  public static final int XK_numbersign = 0x023;
  public static final int XK_dollar = 0x024;
  public static final int XK_percent = 0x025;
  public static final int XK_ampersand = 0x026;
  public static final int XK_apostrophe = 0x027;
  public static final int XK_quoteright = 0x027; /* deprecated */
  public static final int XK_parenleft = 0x028;
  public static final int XK_parenright = 0x029;
  public static final int XK_asterisk = 0x02a;
  public static final int XK_plus = 0x02b;
  public static final int XK_comma = 0x02c;
  public static final int XK_minus = 0x02d;
  public static final int XK_period = 0x02e;
  public static final int XK_slash = 0x02f;
  public static final int XK_0 = 0x030;
  public static final int XK_1 = 0x031;
  public static final int XK_2 = 0x032;
  public static final int XK_3 = 0x033;
  public static final int XK_4 = 0x034;
  public static final int XK_5 = 0x035;
  public static final int XK_6 = 0x036;
  public static final int XK_7 = 0x037;
  public static final int XK_8 = 0x038;
  public static final int XK_9 = 0x039;
  public static final int XK_colon = 0x03a;
  public static final int XK_semicolon = 0x03b;
  public static final int XK_less = 0x03c;
  public static final int XK_equal = 0x03d;
  public static final int XK_greater = 0x03e;
  public static final int XK_question = 0x03f;
  public static final int XK_at = 0x040;
  public static final int XK_A = 0x041;
  public static final int XK_B = 0x042;
  public static final int XK_C = 0x043;
  public static final int XK_D = 0x044;
  public static final int XK_E = 0x045;
  public static final int XK_F = 0x046;
  public static final int XK_G = 0x047;
  public static final int XK_H = 0x048;
  public static final int XK_I = 0x049;
  public static final int XK_J = 0x04a;
  public static final int XK_K = 0x04b;
  public static final int XK_L = 0x04c;
  public static final int XK_M = 0x04d;
  public static final int XK_N = 0x04e;
  public static final int XK_O = 0x04f;
  public static final int XK_P = 0x050;
  public static final int XK_Q = 0x051;
  public static final int XK_R = 0x052;
  public static final int XK_S = 0x053;
  public static final int XK_T = 0x054;
  public static final int XK_U = 0x055;
  public static final int XK_V = 0x056;
  public static final int XK_W = 0x057;
  public static final int XK_X = 0x058;
  public static final int XK_Y = 0x059;
  public static final int XK_Z = 0x05a;
  public static final int XK_bracketleft = 0x05b;
  public static final int XK_backslash = 0x05c;
  public static final int XK_bracketright = 0x05d;
  public static final int XK_asciicircum = 0x05e;
  public static final int XK_underscore = 0x05f;
  public static final int XK_grave = 0x060;
  public static final int XK_quoteleft = 0x060; /* deprecated */
  public static final int XK_a = 0x061;
  public static final int XK_b = 0x062;
  public static final int XK_c = 0x063;
  public static final int XK_d = 0x064;
  public static final int XK_e = 0x065;
  public static final int XK_f = 0x066;
  public static final int XK_g = 0x067;
  public static final int XK_h = 0x068;
  public static final int XK_i = 0x069;
  public static final int XK_j = 0x06a;
  public static final int XK_k = 0x06b;
  public static final int XK_l = 0x06c;
  public static final int XK_m = 0x06d;
  public static final int XK_n = 0x06e;
  public static final int XK_o = 0x06f;
  public static final int XK_p = 0x070;
  public static final int XK_q = 0x071;
  public static final int XK_r = 0x072;
  public static final int XK_s = 0x073;
  public static final int XK_t = 0x074;
  public static final int XK_u = 0x075;
  public static final int XK_v = 0x076;
  public static final int XK_w = 0x077;
  public static final int XK_x = 0x078;
  public static final int XK_y = 0x079;
  public static final int XK_z = 0x07a;
  public static final int XK_braceleft = 0x07b;
  public static final int XK_bar = 0x07c;
  public static final int XK_braceright = 0x07d;
  public static final int XK_asciitilde = 0x07e;

  public static final int XK_nobreakspace = 0x0a0;
  public static final int XK_exclamdown = 0x0a1;
  public static final int XK_cent = 0x0a2;
  public static final int XK_sterling = 0x0a3;
  public static final int XK_currency = 0x0a4;
  public static final int XK_yen = 0x0a5;
  public static final int XK_brokenbar = 0x0a6;
  public static final int XK_section = 0x0a7;
  public static final int XK_diaeresis = 0x0a8;
  public static final int XK_copyright = 0x0a9;
  public static final int XK_ordfeminine = 0x0aa;
  public static final int XK_guillemotleft = 0x0ab; /* left angle quotation mark */
  public static final int XK_notsign = 0x0ac;
  public static final int XK_hyphen = 0x0ad;
  public static final int XK_registered = 0x0ae;
  public static final int XK_macron = 0x0af;
  public static final int XK_degree = 0x0b0;
  public static final int XK_plusminus = 0x0b1;
  public static final int XK_twosuperior = 0x0b2;
  public static final int XK_threesuperior = 0x0b3;
  public static final int XK_acute = 0x0b4;
  public static final int XK_mu = 0x0b5;
  public static final int XK_paragraph = 0x0b6;
  public static final int XK_periodcentered = 0x0b7;
  public static final int XK_cedilla = 0x0b8;
  public static final int XK_onesuperior = 0x0b9;
  public static final int XK_masculine = 0x0ba;
  public static final int XK_guillemotright = 0x0bb; /* right angle quotation mark */
  public static final int XK_onequarter = 0x0bc;
  public static final int XK_onehalf = 0x0bd;
  public static final int XK_threequarters = 0x0be;
  public static final int XK_questiondown = 0x0bf;
  public static final int XK_Agrave = 0x0c0;
  public static final int XK_Aacute = 0x0c1;
  public static final int XK_Acircumflex = 0x0c2;
  public static final int XK_Atilde = 0x0c3;
  public static final int XK_Adiaeresis = 0x0c4;
  public static final int XK_Aring = 0x0c5;
  public static final int XK_AE = 0x0c6;
  public static final int XK_Ccedilla = 0x0c7;
  public static final int XK_Egrave = 0x0c8;
  public static final int XK_Eacute = 0x0c9;
  public static final int XK_Ecircumflex = 0x0ca;
  public static final int XK_Ediaeresis = 0x0cb;
  public static final int XK_Igrave = 0x0cc;
  public static final int XK_Iacute = 0x0cd;
  public static final int XK_Icircumflex = 0x0ce;
  public static final int XK_Idiaeresis = 0x0cf;
  public static final int XK_ETH = 0x0d0;
  public static final int XK_Eth = 0x0d0; /* deprecated */
  public static final int XK_Ntilde = 0x0d1;
  public static final int XK_Ograve = 0x0d2;
  public static final int XK_Oacute = 0x0d3;
  public static final int XK_Ocircumflex = 0x0d4;
  public static final int XK_Otilde = 0x0d5;
  public static final int XK_Odiaeresis = 0x0d6;
  public static final int XK_multiply = 0x0d7;
  public static final int XK_Ooblique = 0x0d8;
  public static final int XK_Ugrave = 0x0d9;
  public static final int XK_Uacute = 0x0da;
  public static final int XK_Ucircumflex = 0x0db;
  public static final int XK_Udiaeresis = 0x0dc;
  public static final int XK_Yacute = 0x0dd;
  public static final int XK_THORN = 0x0de;
  public static final int XK_Thorn = 0x0de; /* deprecated */
  public static final int XK_ssharp = 0x0df;
  public static final int XK_agrave = 0x0e0;
  public static final int XK_aacute = 0x0e1;
  public static final int XK_acircumflex = 0x0e2;
  public static final int XK_atilde = 0x0e3;
  public static final int XK_adiaeresis = 0x0e4;
  public static final int XK_aring = 0x0e5;
  public static final int XK_ae = 0x0e6;
  public static final int XK_ccedilla = 0x0e7;
  public static final int XK_egrave = 0x0e8;
  public static final int XK_eacute = 0x0e9;
  public static final int XK_ecircumflex = 0x0ea;
  public static final int XK_ediaeresis = 0x0eb;
  public static final int XK_igrave = 0x0ec;
  public static final int XK_iacute = 0x0ed;
  public static final int XK_icircumflex = 0x0ee;
  public static final int XK_idiaeresis = 0x0ef;
  public static final int XK_eth = 0x0f0;
  public static final int XK_ntilde = 0x0f1;
  public static final int XK_ograve = 0x0f2;
  public static final int XK_oacute = 0x0f3;
  public static final int XK_ocircumflex = 0x0f4;
  public static final int XK_otilde = 0x0f5;
  public static final int XK_odiaeresis = 0x0f6;
  public static final int XK_division = 0x0f7;
  public static final int XK_oslash = 0x0f8;
  public static final int XK_ugrave = 0x0f9;
  public static final int XK_uacute = 0x0fa;
  public static final int XK_ucircumflex = 0x0fb;
  public static final int XK_udiaeresis = 0x0fc;
  public static final int XK_yacute = 0x0fd;
  public static final int XK_thorn = 0x0fe;
  public static final int XK_ydiaeresis = 0x0ff;

  /*
   *   Latin 2;
   *   Byte 3 = 1;
   */

  public static final int XK_Aogonek = 0x1a1;
  public static final int XK_breve = 0x1a2;
  public static final int XK_Lstroke = 0x1a3;
  public static final int XK_Lcaron = 0x1a5;
  public static final int XK_Sacute = 0x1a6;
  public static final int XK_Scaron = 0x1a9;
  public static final int XK_Scedilla = 0x1aa;
  public static final int XK_Tcaron = 0x1ab;
  public static final int XK_Zacute = 0x1ac;
  public static final int XK_Zcaron = 0x1ae;
  public static final int XK_Zabovedot = 0x1af;
  public static final int XK_aogonek = 0x1b1;
  public static final int XK_ogonek = 0x1b2;
  public static final int XK_lstroke = 0x1b3;
  public static final int XK_lcaron = 0x1b5;
  public static final int XK_sacute = 0x1b6;
  public static final int XK_caron = 0x1b7;
  public static final int XK_scaron = 0x1b9;
  public static final int XK_scedilla = 0x1ba;
  public static final int XK_tcaron = 0x1bb;
  public static final int XK_zacute = 0x1bc;
  public static final int XK_doubleacute = 0x1bd;
  public static final int XK_zcaron = 0x1be;
  public static final int XK_zabovedot = 0x1bf;
  public static final int XK_Racute = 0x1c0;
  public static final int XK_Abreve = 0x1c3;
  public static final int XK_Lacute = 0x1c5;
  public static final int XK_Cacute = 0x1c6;
  public static final int XK_Ccaron = 0x1c8;
  public static final int XK_Eogonek = 0x1ca;
  public static final int XK_Ecaron = 0x1cc;
  public static final int XK_Dcaron = 0x1cf;
  public static final int XK_Dstroke = 0x1d0;
  public static final int XK_Nacute = 0x1d1;
  public static final int XK_Ncaron = 0x1d2;
  public static final int XK_Odoubleacute = 0x1d5;
  public static final int XK_Rcaron = 0x1d8;
  public static final int XK_Uring = 0x1d9;
  public static final int XK_Udoubleacute = 0x1db;
  public static final int XK_Tcedilla = 0x1de;
  public static final int XK_racute = 0x1e0;
  public static final int XK_abreve = 0x1e3;
  public static final int XK_lacute = 0x1e5;
  public static final int XK_cacute = 0x1e6;
  public static final int XK_ccaron = 0x1e8;
  public static final int XK_eogonek = 0x1ea;
  public static final int XK_ecaron = 0x1ec;
  public static final int XK_dcaron = 0x1ef;
  public static final int XK_dstroke = 0x1f0;
  public static final int XK_nacute = 0x1f1;
  public static final int XK_ncaron = 0x1f2;
  public static final int XK_odoubleacute = 0x1f5;
  public static final int XK_udoubleacute = 0x1fb;
  public static final int XK_rcaron = 0x1f8;
  public static final int XK_uring = 0x1f9;
  public static final int XK_tcedilla = 0x1fe;
  public static final int XK_abovedot = 0x1ff;

  /*
   *   Latin 3;
   *   Byte 3 = 2;
   */

  public static final int XK_Hstroke = 0x2a1;
  public static final int XK_Hcircumflex = 0x2a6;
  public static final int XK_Iabovedot = 0x2a9;
  public static final int XK_Gbreve = 0x2ab;
  public static final int XK_Jcircumflex = 0x2ac;
  public static final int XK_hstroke = 0x2b1;
  public static final int XK_hcircumflex = 0x2b6;
  public static final int XK_idotless = 0x2b9;
  public static final int XK_gbreve = 0x2bb;
  public static final int XK_jcircumflex = 0x2bc;
  public static final int XK_Cabovedot = 0x2c5;
  public static final int XK_Ccircumflex = 0x2c6;
  public static final int XK_Gabovedot = 0x2d5;
  public static final int XK_Gcircumflex = 0x2d8;
  public static final int XK_Ubreve = 0x2dd;
  public static final int XK_Scircumflex = 0x2de;
  public static final int XK_cabovedot = 0x2e5;
  public static final int XK_ccircumflex = 0x2e6;
  public static final int XK_gabovedot = 0x2f5;
  public static final int XK_gcircumflex = 0x2f8;
  public static final int XK_ubreve = 0x2fd;
  public static final int XK_scircumflex = 0x2fe;


  /*
   *   Latin 4;
   *   Byte 3 = 3;
   */

  public static final int XK_kra = 0x3a2;
  public static final int XK_kappa = 0x3a2; /* deprecated */
  public static final int XK_Rcedilla = 0x3a3;
  public static final int XK_Itilde = 0x3a5;
  public static final int XK_Lcedilla = 0x3a6;
  public static final int XK_Emacron = 0x3aa;
  public static final int XK_Gcedilla = 0x3ab;
  public static final int XK_Tslash = 0x3ac;
  public static final int XK_rcedilla = 0x3b3;
  public static final int XK_itilde = 0x3b5;
  public static final int XK_lcedilla = 0x3b6;
  public static final int XK_emacron = 0x3ba;
  public static final int XK_gcedilla = 0x3bb;
  public static final int XK_tslash = 0x3bc;
  public static final int XK_ENG = 0x3bd;
  public static final int XK_eng = 0x3bf;
  public static final int XK_Amacron = 0x3c0;
  public static final int XK_Iogonek = 0x3c7;
  public static final int XK_Eabovedot = 0x3cc;
  public static final int XK_Imacron = 0x3cf;
  public static final int XK_Ncedilla = 0x3d1;
  public static final int XK_Omacron = 0x3d2;
  public static final int XK_Kcedilla = 0x3d3;
  public static final int XK_Uogonek = 0x3d9;
  public static final int XK_Utilde = 0x3dd;
  public static final int XK_Umacron = 0x3de;
  public static final int XK_amacron = 0x3e0;
  public static final int XK_iogonek = 0x3e7;
  public static final int XK_eabovedot = 0x3ec;
  public static final int XK_imacron = 0x3ef;
  public static final int XK_ncedilla = 0x3f1;
  public static final int XK_omacron = 0x3f2;
  public static final int XK_kcedilla = 0x3f3;
  public static final int XK_uogonek = 0x3f9;
  public static final int XK_utilde = 0x3fd;
  public static final int XK_umacron = 0x3fe;

  /*
   * Latin-9 (a.k.a. Latin-0)
   * Byte 3 = 19;
   */

  public static final int XK_OE = 0x13bc;
  public static final int XK_oe = 0x13bd;
  public static final int XK_Ydiaeresis = 0x13be;

  /*
   * Katakana;
   * Byte 3 = 4;
   */

  public static final int XK_overline = 0x47e;
  public static final int XK_kana_fullstop = 0x4a1;
  public static final int XK_kana_openingbracket = 0x4a2;
  public static final int XK_kana_closingbracket = 0x4a3;
  public static final int XK_kana_comma = 0x4a4;
  public static final int XK_kana_conjunctive = 0x4a5;
  public static final int XK_kana_middledot = 0x4a5;  /* deprecated */
  public static final int XK_kana_WO = 0x4a6;
  public static final int XK_kana_a = 0x4a7;
  public static final int XK_kana_i = 0x4a8;
  public static final int XK_kana_u = 0x4a9;
  public static final int XK_kana_e = 0x4aa;
  public static final int XK_kana_o = 0x4ab;
  public static final int XK_kana_ya = 0x4ac;
  public static final int XK_kana_yu = 0x4ad;
  public static final int XK_kana_yo = 0x4ae;
  public static final int XK_kana_tsu = 0x4af;
  public static final int XK_kana_tu = 0x4af;  /* deprecated */
  public static final int XK_prolongedsound = 0x4b0;
  public static final int XK_kana_A = 0x4b1;
  public static final int XK_kana_I = 0x4b2;
  public static final int XK_kana_U = 0x4b3;
  public static final int XK_kana_E = 0x4b4;
  public static final int XK_kana_O = 0x4b5;
  public static final int XK_kana_KA = 0x4b6;
  public static final int XK_kana_KI = 0x4b7;
  public static final int XK_kana_KU = 0x4b8;
  public static final int XK_kana_KE = 0x4b9;
  public static final int XK_kana_KO = 0x4ba;
  public static final int XK_kana_SA = 0x4bb;
  public static final int XK_kana_SHI = 0x4bc;
  public static final int XK_kana_SU = 0x4bd;
  public static final int XK_kana_SE = 0x4be;
  public static final int XK_kana_SO = 0x4bf;
  public static final int XK_kana_TA = 0x4c0;
  public static final int XK_kana_CHI = 0x4c1;
  public static final int XK_kana_TI = 0x4c1;  /* deprecated */
  public static final int XK_kana_TSU = 0x4c2;
  public static final int XK_kana_TU = 0x4c2;  /* deprecated */
  public static final int XK_kana_TE = 0x4c3;
  public static final int XK_kana_TO = 0x4c4;
  public static final int XK_kana_NA = 0x4c5;
  public static final int XK_kana_NI = 0x4c6;
  public static final int XK_kana_NU = 0x4c7;
  public static final int XK_kana_NE = 0x4c8;
  public static final int XK_kana_NO = 0x4c9;
  public static final int XK_kana_HA = 0x4ca;
  public static final int XK_kana_HI = 0x4cb;
  public static final int XK_kana_FU = 0x4cc;
  public static final int XK_kana_HU = 0x4cc;  /* deprecated */
  public static final int XK_kana_HE = 0x4cd;
  public static final int XK_kana_HO = 0x4ce;
  public static final int XK_kana_MA = 0x4cf;
  public static final int XK_kana_MI = 0x4d0;
  public static final int XK_kana_MU = 0x4d1;
  public static final int XK_kana_ME = 0x4d2;
  public static final int XK_kana_MO = 0x4d3;
  public static final int XK_kana_YA = 0x4d4;
  public static final int XK_kana_YU = 0x4d5;
  public static final int XK_kana_YO = 0x4d6;
  public static final int XK_kana_RA = 0x4d7;
  public static final int XK_kana_RI = 0x4d8;
  public static final int XK_kana_RU = 0x4d9;
  public static final int XK_kana_RE = 0x4da;
  public static final int XK_kana_RO = 0x4db;
  public static final int XK_kana_WA = 0x4dc;
  public static final int XK_kana_N = 0x4dd;
  public static final int XK_voicedsound = 0x4de;
  public static final int XK_semivoicedsound = 0x4df;
  public static final int XK_kana_switch = 0xFF7E;  /* Alias for mode_switch */

  /*
   *  Arabic;
   *  Byte 3 = 5;
   */

  public static final int XK_Arabic_comma = 0x5ac;
  public static final int XK_Arabic_semicolon = 0x5bb;
  public static final int XK_Arabic_question_mark = 0x5bf;
  public static final int XK_Arabic_hamza = 0x5c1;
  public static final int XK_Arabic_maddaonalef = 0x5c2;
  public static final int XK_Arabic_hamzaonalef = 0x5c3;
  public static final int XK_Arabic_hamzaonwaw = 0x5c4;
  public static final int XK_Arabic_hamzaunderalef = 0x5c5;
  public static final int XK_Arabic_hamzaonyeh = 0x5c6;
  public static final int XK_Arabic_alef = 0x5c7;
  public static final int XK_Arabic_beh = 0x5c8;
  public static final int XK_Arabic_tehmarbuta = 0x5c9;
  public static final int XK_Arabic_teh = 0x5ca;
  public static final int XK_Arabic_theh = 0x5cb;
  public static final int XK_Arabic_jeem = 0x5cc;
  public static final int XK_Arabic_hah = 0x5cd;
  public static final int XK_Arabic_khah = 0x5ce;
  public static final int XK_Arabic_dal = 0x5cf;
  public static final int XK_Arabic_thal = 0x5d0;
  public static final int XK_Arabic_ra = 0x5d1;
  public static final int XK_Arabic_zain = 0x5d2;
  public static final int XK_Arabic_seen = 0x5d3;
  public static final int XK_Arabic_sheen = 0x5d4;
  public static final int XK_Arabic_sad = 0x5d5;
  public static final int XK_Arabic_dad = 0x5d6;
  public static final int XK_Arabic_tah = 0x5d7;
  public static final int XK_Arabic_zah = 0x5d8;
  public static final int XK_Arabic_ain = 0x5d9;
  public static final int XK_Arabic_ghain = 0x5da;
  public static final int XK_Arabic_tatweel = 0x5e0;
  public static final int XK_Arabic_feh = 0x5e1;
  public static final int XK_Arabic_qaf = 0x5e2;
  public static final int XK_Arabic_kaf = 0x5e3;
  public static final int XK_Arabic_lam = 0x5e4;
  public static final int XK_Arabic_meem = 0x5e5;
  public static final int XK_Arabic_noon = 0x5e6;
  public static final int XK_Arabic_ha = 0x5e7;
  public static final int XK_Arabic_heh = 0x5e7;  /* deprecated */
  public static final int XK_Arabic_waw = 0x5e8;
  public static final int XK_Arabic_alefmaksura = 0x5e9;
  public static final int XK_Arabic_yeh = 0x5ea;
  public static final int XK_Arabic_fathatan = 0x5eb;
  public static final int XK_Arabic_dammatan = 0x5ec;
  public static final int XK_Arabic_kasratan = 0x5ed;
  public static final int XK_Arabic_fatha = 0x5ee;
  public static final int XK_Arabic_damma = 0x5ef;
  public static final int XK_Arabic_kasra = 0x5f0;
  public static final int XK_Arabic_shadda = 0x5f1;
  public static final int XK_Arabic_sukun = 0x5f2;
  public static final int XK_Arabic_switch = 0xFF7E;  /* Alias for mode_switch */

  /*
   * Cyrillic;
   * Byte 3 = 6;
   */
  public static final int XK_Serbian_dje = 0x6a1;
  public static final int XK_Macedonia_gje = 0x6a2;
  public static final int XK_Cyrillic_io = 0x6a3;
  public static final int XK_Ukrainian_ie = 0x6a4;
  public static final int XK_Ukranian_je = 0x6a4;  /* deprecated */
  public static final int XK_Macedonia_dse = 0x6a5;
  public static final int XK_Ukrainian_i = 0x6a6;
  public static final int XK_Ukranian_i = 0x6a6;  /* deprecated */
  public static final int XK_Ukrainian_yi = 0x6a7;
  public static final int XK_Ukranian_yi = 0x6a7;  /* deprecated */
  public static final int XK_Cyrillic_je = 0x6a8;
  public static final int XK_Serbian_je = 0x6a8;  /* deprecated */
  public static final int XK_Cyrillic_lje = 0x6a9;
  public static final int XK_Serbian_lje = 0x6a9;  /* deprecated */
  public static final int XK_Cyrillic_nje = 0x6aa;
  public static final int XK_Serbian_nje = 0x6aa;  /* deprecated */
  public static final int XK_Serbian_tshe = 0x6ab;
  public static final int XK_Macedonia_kje = 0x6ac;
  public static final int XK_Byelorussian_shortu = 0x6ae;
  public static final int XK_Cyrillic_dzhe = 0x6af;
  public static final int XK_Serbian_dze = 0x6af;  /* deprecated */
  public static final int XK_numerosign = 0x6b0;
  public static final int XK_Serbian_DJE = 0x6b1;
  public static final int XK_Macedonia_GJE = 0x6b2;
  public static final int XK_Cyrillic_IO = 0x6b3;
  public static final int XK_Ukrainian_IE = 0x6b4;
  public static final int XK_Ukranian_JE = 0x6b4;  /* deprecated */
  public static final int XK_Macedonia_DSE = 0x6b5;
  public static final int XK_Ukrainian_I = 0x6b6;
  public static final int XK_Ukranian_I = 0x6b6;  /* deprecated */
  public static final int XK_Ukrainian_YI = 0x6b7;
  public static final int XK_Ukranian_YI = 0x6b7;  /* deprecated */
  public static final int XK_Cyrillic_JE = 0x6b8;
  public static final int XK_Serbian_JE = 0x6b8;  /* deprecated */
  public static final int XK_Cyrillic_LJE = 0x6b9;
  public static final int XK_Serbian_LJE = 0x6b9;  /* deprecated */
  public static final int XK_Cyrillic_NJE = 0x6ba;
  public static final int XK_Serbian_NJE = 0x6ba;  /* deprecated */
  public static final int XK_Serbian_TSHE = 0x6bb;
  public static final int XK_Macedonia_KJE = 0x6bc;
  public static final int XK_Byelorussian_SHORTU = 0x6be;
  public static final int XK_Cyrillic_DZHE = 0x6bf;
  public static final int XK_Serbian_DZE = 0x6bf;  /* deprecated */
  public static final int XK_Cyrillic_yu = 0x6c0;
  public static final int XK_Cyrillic_a = 0x6c1;
  public static final int XK_Cyrillic_be = 0x6c2;
  public static final int XK_Cyrillic_tse = 0x6c3;
  public static final int XK_Cyrillic_de = 0x6c4;
  public static final int XK_Cyrillic_ie = 0x6c5;
  public static final int XK_Cyrillic_ef = 0x6c6;
  public static final int XK_Cyrillic_ghe = 0x6c7;
  public static final int XK_Cyrillic_ha = 0x6c8;
  public static final int XK_Cyrillic_i = 0x6c9;
  public static final int XK_Cyrillic_shorti = 0x6ca;
  public static final int XK_Cyrillic_ka = 0x6cb;
  public static final int XK_Cyrillic_el = 0x6cc;
  public static final int XK_Cyrillic_em = 0x6cd;
  public static final int XK_Cyrillic_en = 0x6ce;
  public static final int XK_Cyrillic_o = 0x6cf;
  public static final int XK_Cyrillic_pe = 0x6d0;
  public static final int XK_Cyrillic_ya = 0x6d1;
  public static final int XK_Cyrillic_er = 0x6d2;
  public static final int XK_Cyrillic_es = 0x6d3;
  public static final int XK_Cyrillic_te = 0x6d4;
  public static final int XK_Cyrillic_u = 0x6d5;
  public static final int XK_Cyrillic_zhe = 0x6d6;
  public static final int XK_Cyrillic_ve = 0x6d7;
  public static final int XK_Cyrillic_softsign = 0x6d8;
  public static final int XK_Cyrillic_yeru = 0x6d9;
  public static final int XK_Cyrillic_ze = 0x6da;
  public static final int XK_Cyrillic_sha = 0x6db;
  public static final int XK_Cyrillic_e = 0x6dc;
  public static final int XK_Cyrillic_shcha = 0x6dd;
  public static final int XK_Cyrillic_che = 0x6de;
  public static final int XK_Cyrillic_hardsign = 0x6df;
  public static final int XK_Cyrillic_YU = 0x6e0;
  public static final int XK_Cyrillic_A = 0x6e1;
  public static final int XK_Cyrillic_BE = 0x6e2;
  public static final int XK_Cyrillic_TSE = 0x6e3;
  public static final int XK_Cyrillic_DE = 0x6e4;
  public static final int XK_Cyrillic_IE = 0x6e5;
  public static final int XK_Cyrillic_EF = 0x6e6;
  public static final int XK_Cyrillic_GHE = 0x6e7;
  public static final int XK_Cyrillic_HA = 0x6e8;
  public static final int XK_Cyrillic_I = 0x6e9;
  public static final int XK_Cyrillic_SHORTI = 0x6ea;
  public static final int XK_Cyrillic_KA = 0x6eb;
  public static final int XK_Cyrillic_EL = 0x6ec;
  public static final int XK_Cyrillic_EM = 0x6ed;
  public static final int XK_Cyrillic_EN = 0x6ee;
  public static final int XK_Cyrillic_O = 0x6ef;
  public static final int XK_Cyrillic_PE = 0x6f0;
  public static final int XK_Cyrillic_YA = 0x6f1;
  public static final int XK_Cyrillic_ER = 0x6f2;
  public static final int XK_Cyrillic_ES = 0x6f3;
  public static final int XK_Cyrillic_TE = 0x6f4;
  public static final int XK_Cyrillic_U = 0x6f5;
  public static final int XK_Cyrillic_ZHE = 0x6f6;
  public static final int XK_Cyrillic_VE = 0x6f7;
  public static final int XK_Cyrillic_SOFTSIGN = 0x6f8;
  public static final int XK_Cyrillic_YERU = 0x6f9;
  public static final int XK_Cyrillic_ZE = 0x6fa;
  public static final int XK_Cyrillic_SHA = 0x6fb;
  public static final int XK_Cyrillic_E = 0x6fc;
  public static final int XK_Cyrillic_SHCHA = 0x6fd;
  public static final int XK_Cyrillic_CHE = 0x6fe;
  public static final int XK_Cyrillic_HARDSIGN = 0x6ff;

  /*
   * Greek;
   * Byte 3 = 7;
   */

  public static final int XK_Greek_ALPHAaccent = 0x7a1;
  public static final int XK_Greek_EPSILONaccent = 0x7a2;
  public static final int XK_Greek_ETAaccent = 0x7a3;
  public static final int XK_Greek_IOTAaccent = 0x7a4;
  public static final int XK_Greek_IOTAdiaeresis = 0x7a5;
  public static final int XK_Greek_OMICRONaccent = 0x7a7;
  public static final int XK_Greek_UPSILONaccent = 0x7a8;
  public static final int XK_Greek_UPSILONdieresis = 0x7a9;
  public static final int XK_Greek_OMEGAaccent = 0x7ab;
  public static final int XK_Greek_accentdieresis = 0x7ae;
  public static final int XK_Greek_horizbar = 0x7af;
  public static final int XK_Greek_alphaaccent = 0x7b1;
  public static final int XK_Greek_epsilonaccent = 0x7b2;
  public static final int XK_Greek_etaaccent = 0x7b3;
  public static final int XK_Greek_iotaaccent = 0x7b4;
  public static final int XK_Greek_iotadieresis = 0x7b5;
  public static final int XK_Greek_iotaaccentdieresis = 0x7b6;
  public static final int XK_Greek_omicronaccent = 0x7b7;
  public static final int XK_Greek_upsilonaccent = 0x7b8;
  public static final int XK_Greek_upsilondieresis = 0x7b9;
  public static final int XK_Greek_upsilonaccentdieresis = 0x7ba;
  public static final int XK_Greek_omegaaccent = 0x7bb;
  public static final int XK_Greek_ALPHA = 0x7c1;
  public static final int XK_Greek_BETA = 0x7c2;
  public static final int XK_Greek_GAMMA = 0x7c3;
  public static final int XK_Greek_DELTA = 0x7c4;
  public static final int XK_Greek_EPSILON = 0x7c5;
  public static final int XK_Greek_ZETA = 0x7c6;
  public static final int XK_Greek_ETA = 0x7c7;
  public static final int XK_Greek_THETA = 0x7c8;
  public static final int XK_Greek_IOTA = 0x7c9;
  public static final int XK_Greek_KAPPA = 0x7ca;
  public static final int XK_Greek_LAMDA = 0x7cb;
  public static final int XK_Greek_LAMBDA = 0x7cb;
  public static final int XK_Greek_MU = 0x7cc;
  public static final int XK_Greek_NU = 0x7cd;
  public static final int XK_Greek_XI = 0x7ce;
  public static final int XK_Greek_OMICRON = 0x7cf;
  public static final int XK_Greek_PI = 0x7d0;
  public static final int XK_Greek_RHO = 0x7d1;
  public static final int XK_Greek_SIGMA = 0x7d2;
  public static final int XK_Greek_TAU = 0x7d4;
  public static final int XK_Greek_UPSILON = 0x7d5;
  public static final int XK_Greek_PHI = 0x7d6;
  public static final int XK_Greek_CHI = 0x7d7;
  public static final int XK_Greek_PSI = 0x7d8;
  public static final int XK_Greek_OMEGA = 0x7d9;
  public static final int XK_Greek_alpha = 0x7e1;
  public static final int XK_Greek_beta = 0x7e2;
  public static final int XK_Greek_gamma = 0x7e3;
  public static final int XK_Greek_delta = 0x7e4;
  public static final int XK_Greek_epsilon = 0x7e5;
  public static final int XK_Greek_zeta = 0x7e6;
  public static final int XK_Greek_eta = 0x7e7;
  public static final int XK_Greek_theta = 0x7e8;
  public static final int XK_Greek_iota = 0x7e9;
  public static final int XK_Greek_kappa = 0x7ea;
  public static final int XK_Greek_lamda = 0x7eb;
  public static final int XK_Greek_lambda = 0x7eb;
  public static final int XK_Greek_mu = 0x7ec;
  public static final int XK_Greek_nu = 0x7ed;
  public static final int XK_Greek_xi = 0x7ee;
  public static final int XK_Greek_omicron = 0x7ef;
  public static final int XK_Greek_pi = 0x7f0;
  public static final int XK_Greek_rho = 0x7f1;
  public static final int XK_Greek_sigma = 0x7f2;
  public static final int XK_Greek_finalsmallsigma = 0x7f3;
  public static final int XK_Greek_tau = 0x7f4;
  public static final int XK_Greek_upsilon = 0x7f5;
  public static final int XK_Greek_phi = 0x7f6;
  public static final int XK_Greek_chi = 0x7f7;
  public static final int XK_Greek_psi = 0x7f8;
  public static final int XK_Greek_omega = 0x7f9;
  public static final int XK_Greek_switch = 0xFF7E;  /* Alias for mode_switch */

  /*
   * Technical;
   * Byte 3 = 8;
   */

  public static final int XK_leftradical = 0x8a1;
  public static final int XK_topleftradical = 0x8a2;
  public static final int XK_horizconnector = 0x8a3;
  public static final int XK_topintegral = 0x8a4;
  public static final int XK_botintegral = 0x8a5;
  public static final int XK_vertconnector = 0x8a6;
  public static final int XK_topleftsqbracket = 0x8a7;
  public static final int XK_botleftsqbracket = 0x8a8;
  public static final int XK_toprightsqbracket = 0x8a9;
  public static final int XK_botrightsqbracket = 0x8aa;
  public static final int XK_topleftparens = 0x8ab;
  public static final int XK_botleftparens = 0x8ac;
  public static final int XK_toprightparens = 0x8ad;
  public static final int XK_botrightparens = 0x8ae;
  public static final int XK_leftmiddlecurlybrace = 0x8af;
  public static final int XK_rightmiddlecurlybrace = 0x8b0;
  public static final int XK_topleftsummation = 0x8b1;
  public static final int XK_botleftsummation = 0x8b2;
  public static final int XK_topvertsummationconnector = 0x8b3;
  public static final int XK_botvertsummationconnector = 0x8b4;
  public static final int XK_toprightsummation = 0x8b5;
  public static final int XK_botrightsummation = 0x8b6;
  public static final int XK_rightmiddlesummation = 0x8b7;
  public static final int XK_lessthanequal = 0x8bc;
  public static final int XK_notequal = 0x8bd;
  public static final int XK_greaterthanequal = 0x8be;
  public static final int XK_integral = 0x8bf;
  public static final int XK_therefore = 0x8c0;
  public static final int XK_variation = 0x8c1;
  public static final int XK_infinity = 0x8c2;
  public static final int XK_nabla = 0x8c5;
  public static final int XK_approximate = 0x8c8;
  public static final int XK_similarequal = 0x8c9;
  public static final int XK_ifonlyif = 0x8cd;
  public static final int XK_implies = 0x8ce;
  public static final int XK_identical = 0x8cf;
  public static final int XK_radical = 0x8d6;
  public static final int XK_includedin = 0x8da;
  public static final int XK_includes = 0x8db;
  public static final int XK_intersection = 0x8dc;
  public static final int XK_union = 0x8dd;
  public static final int XK_logicaland = 0x8de;
  public static final int XK_logicalor = 0x8df;
  public static final int XK_partialderivative = 0x8ef;
  public static final int XK_function = 0x8f6;
  public static final int XK_leftarrow = 0x8fb;
  public static final int XK_uparrow = 0x8fc;
  public static final int XK_rightarrow = 0x8fd;
  public static final int XK_downarrow = 0x8fe;

  /*
   *  Special;
   *  Byte 3 = 9;
   */

  public static final int XK_blank = 0x9df;
  public static final int XK_soliddiamond = 0x9e0;
  public static final int XK_checkerboard = 0x9e1;
  public static final int XK_ht = 0x9e2;
  public static final int XK_ff = 0x9e3;
  public static final int XK_cr = 0x9e4;
  public static final int XK_lf = 0x9e5;
  public static final int XK_nl = 0x9e8;
  public static final int XK_vt = 0x9e9;
  public static final int XK_lowrightcorner = 0x9ea;
  public static final int XK_uprightcorner = 0x9eb;
  public static final int XK_upleftcorner = 0x9ec;
  public static final int XK_lowleftcorner = 0x9ed;
  public static final int XK_crossinglines = 0x9ee;
  public static final int XK_horizlinescan1 = 0x9ef;
  public static final int XK_horizlinescan3 = 0x9f0;
  public static final int XK_horizlinescan5 = 0x9f1;
  public static final int XK_horizlinescan7 = 0x9f2;
  public static final int XK_horizlinescan9 = 0x9f3;
  public static final int XK_leftt = 0x9f4;
  public static final int XK_rightt = 0x9f5;
  public static final int XK_bott = 0x9f6;
  public static final int XK_topt = 0x9f7;
  public static final int XK_vertbar = 0x9f8;

  /*
   *  Publishing;
   *  Byte 3 = a;
   */

  public static final int XK_emspace = 0xaa1;
  public static final int XK_enspace = 0xaa2;
  public static final int XK_em3space = 0xaa3;
  public static final int XK_em4space = 0xaa4;
  public static final int XK_digitspace = 0xaa5;
  public static final int XK_punctspace = 0xaa6;
  public static final int XK_thinspace = 0xaa7;
  public static final int XK_hairspace = 0xaa8;
  public static final int XK_emdash = 0xaa9;
  public static final int XK_endash = 0xaaa;
  public static final int XK_signifblank = 0xaac;
  public static final int XK_ellipsis = 0xaae;
  public static final int XK_doubbaselinedot = 0xaaf;
  public static final int XK_onethird = 0xab0;
  public static final int XK_twothirds = 0xab1;
  public static final int XK_onefifth = 0xab2;
  public static final int XK_twofifths = 0xab3;
  public static final int XK_threefifths = 0xab4;
  public static final int XK_fourfifths = 0xab5;
  public static final int XK_onesixth = 0xab6;
  public static final int XK_fivesixths = 0xab7;
  public static final int XK_careof = 0xab8;
  public static final int XK_figdash = 0xabb;
  public static final int XK_leftanglebracket = 0xabc;
  public static final int XK_decimalpoint = 0xabd;
  public static final int XK_rightanglebracket = 0xabe;
  public static final int XK_marker = 0xabf;
  public static final int XK_oneeighth = 0xac3;
  public static final int XK_threeeighths = 0xac4;
  public static final int XK_fiveeighths = 0xac5;
  public static final int XK_seveneighths = 0xac6;
  public static final int XK_trademark = 0xac9;
  public static final int XK_signaturemark = 0xaca;
  public static final int XK_trademarkincircle = 0xacb;
  public static final int XK_leftopentriangle = 0xacc;
  public static final int XK_rightopentriangle = 0xacd;
  public static final int XK_emopencircle = 0xace;
  public static final int XK_emopenrectangle = 0xacf;
  public static final int XK_leftsinglequotemark = 0xad0;
  public static final int XK_rightsinglequotemark = 0xad1;
  public static final int XK_leftdoublequotemark = 0xad2;
  public static final int XK_rightdoublequotemark = 0xad3;
  public static final int XK_prescription = 0xad4;
  public static final int XK_minutes = 0xad6;
  public static final int XK_seconds = 0xad7;
  public static final int XK_latincross = 0xad9;
  public static final int XK_hexagram = 0xada;
  public static final int XK_filledrectbullet = 0xadb;
  public static final int XK_filledlefttribullet = 0xadc;
  public static final int XK_filledrighttribullet = 0xadd;
  public static final int XK_emfilledcircle = 0xade;
  public static final int XK_emfilledrect = 0xadf;
  public static final int XK_enopencircbullet = 0xae0;
  public static final int XK_enopensquarebullet = 0xae1;
  public static final int XK_openrectbullet = 0xae2;
  public static final int XK_opentribulletup = 0xae3;
  public static final int XK_opentribulletdown = 0xae4;
  public static final int XK_openstar = 0xae5;
  public static final int XK_enfilledcircbullet = 0xae6;
  public static final int XK_enfilledsqbullet = 0xae7;
  public static final int XK_filledtribulletup = 0xae8;
  public static final int XK_filledtribulletdown = 0xae9;
  public static final int XK_leftpointer = 0xaea;
  public static final int XK_rightpointer = 0xaeb;
  public static final int XK_club = 0xaec;
  public static final int XK_diamond = 0xaed;
  public static final int XK_heart = 0xaee;
  public static final int XK_maltesecross = 0xaf0;
  public static final int XK_dagger = 0xaf1;
  public static final int XK_doubledagger = 0xaf2;
  public static final int XK_checkmark = 0xaf3;
  public static final int XK_ballotcross = 0xaf4;
  public static final int XK_musicalsharp = 0xaf5;
  public static final int XK_musicalflat = 0xaf6;
  public static final int XK_malesymbol = 0xaf7;
  public static final int XK_femalesymbol = 0xaf8;
  public static final int XK_telephone = 0xaf9;
  public static final int XK_telephonerecorder = 0xafa;
  public static final int XK_phonographcopyright = 0xafb;
  public static final int XK_caret = 0xafc;
  public static final int XK_singlelowquotemark = 0xafd;
  public static final int XK_doublelowquotemark = 0xafe;
  public static final int XK_cursor = 0xaff;

  /*
   *  APL;
   *  Byte 3 = b;
   */

  public static final int XK_leftcaret = 0xba3;
  public static final int XK_rightcaret = 0xba6;
  public static final int XK_downcaret = 0xba8;
  public static final int XK_upcaret = 0xba9;
  public static final int XK_overbar = 0xbc0;
  public static final int XK_downtack = 0xbc2;
  public static final int XK_upshoe = 0xbc3;
  public static final int XK_downstile = 0xbc4;
  public static final int XK_underbar = 0xbc6;
  public static final int XK_jot = 0xbca;
  public static final int XK_quad = 0xbcc;
  public static final int XK_uptack = 0xbce;
  public static final int XK_circle = 0xbcf;
  public static final int XK_upstile = 0xbd3;
  public static final int XK_downshoe = 0xbd6;
  public static final int XK_rightshoe = 0xbd8;
  public static final int XK_leftshoe = 0xbda;
  public static final int XK_lefttack = 0xbdc;
  public static final int XK_righttack = 0xbfc;

  /*
   * Hebrew;
   * Byte 3 = c;
   */

  public static final int XK_hebrew_doublelowline = 0xcdf;
  public static final int XK_hebrew_aleph = 0xce0;
  public static final int XK_hebrew_bet = 0xce1;
  public static final int XK_hebrew_beth = 0xce1;  /* deprecated */
  public static final int XK_hebrew_gimel = 0xce2;
  public static final int XK_hebrew_gimmel = 0xce2;  /* deprecated */
  public static final int XK_hebrew_dalet = 0xce3;
  public static final int XK_hebrew_daleth = 0xce3;  /* deprecated */
  public static final int XK_hebrew_he = 0xce4;
  public static final int XK_hebrew_waw = 0xce5;
  public static final int XK_hebrew_zain = 0xce6;
  public static final int XK_hebrew_zayin = 0xce6;  /* deprecated */
  public static final int XK_hebrew_chet = 0xce7;
  public static final int XK_hebrew_het = 0xce7;  /* deprecated */
  public static final int XK_hebrew_tet = 0xce8;
  public static final int XK_hebrew_teth = 0xce8;  /* deprecated */
  public static final int XK_hebrew_yod = 0xce9;
  public static final int XK_hebrew_finalkaph = 0xcea;
  public static final int XK_hebrew_kaph = 0xceb;
  public static final int XK_hebrew_lamed = 0xcec;
  public static final int XK_hebrew_finalmem = 0xced;
  public static final int XK_hebrew_mem = 0xcee;
  public static final int XK_hebrew_finalnun = 0xcef;
  public static final int XK_hebrew_nun = 0xcf0;
  public static final int XK_hebrew_samech = 0xcf1;
  public static final int XK_hebrew_samekh = 0xcf1;  /* deprecated */
  public static final int XK_hebrew_ayin = 0xcf2;
  public static final int XK_hebrew_finalpe = 0xcf3;
  public static final int XK_hebrew_pe = 0xcf4;
  public static final int XK_hebrew_finalzade = 0xcf5;
  public static final int XK_hebrew_finalzadi = 0xcf5;  /* deprecated */
  public static final int XK_hebrew_zade = 0xcf6;
  public static final int XK_hebrew_zadi = 0xcf6;  /* deprecated */
  public static final int XK_hebrew_qoph = 0xcf7;
  public static final int XK_hebrew_kuf = 0xcf7;  /* deprecated */
  public static final int XK_hebrew_resh = 0xcf8;
  public static final int XK_hebrew_shin = 0xcf9;
  public static final int XK_hebrew_taw = 0xcfa;
  public static final int XK_hebrew_taf = 0xcfa;  /* deprecated */
  public static final int XK_Hebrew_switch = 0xFF7E;  /* Alias for mode_switch */

  /*
   * Thai;
   * Byte 3 = d;
   */

  public static final int XK_Thai_kokai = 0xda1;
  public static final int XK_Thai_khokhai = 0xda2;
  public static final int XK_Thai_khokhuat = 0xda3;
  public static final int XK_Thai_khokhwai = 0xda4;
  public static final int XK_Thai_khokhon = 0xda5;
  public static final int XK_Thai_khorakhang = 0xda6;
  public static final int XK_Thai_ngongu = 0xda7;
  public static final int XK_Thai_chochan = 0xda8;
  public static final int XK_Thai_choching = 0xda9;
  public static final int XK_Thai_chochang = 0xdaa;
  public static final int XK_Thai_soso = 0xdab;
  public static final int XK_Thai_chochoe = 0xdac;
  public static final int XK_Thai_yoying = 0xdad;
  public static final int XK_Thai_dochada = 0xdae;
  public static final int XK_Thai_topatak = 0xdaf;
  public static final int XK_Thai_thothan = 0xdb0;
  public static final int XK_Thai_thonangmontho = 0xdb1;
  public static final int XK_Thai_thophuthao = 0xdb2;
  public static final int XK_Thai_nonen = 0xdb3;
  public static final int XK_Thai_dodek = 0xdb4;
  public static final int XK_Thai_totao = 0xdb5;
  public static final int XK_Thai_thothung = 0xdb6;
  public static final int XK_Thai_thothahan = 0xdb7;
  public static final int XK_Thai_thothong = 0xdb8;
  public static final int XK_Thai_nonu = 0xdb9;
  public static final int XK_Thai_bobaimai = 0xdba;
  public static final int XK_Thai_popla = 0xdbb;
  public static final int XK_Thai_phophung = 0xdbc;
  public static final int XK_Thai_fofa = 0xdbd;
  public static final int XK_Thai_phophan = 0xdbe;
  public static final int XK_Thai_fofan = 0xdbf;
  public static final int XK_Thai_phosamphao = 0xdc0;
  public static final int XK_Thai_moma = 0xdc1;
  public static final int XK_Thai_yoyak = 0xdc2;
  public static final int XK_Thai_rorua = 0xdc3;
  public static final int XK_Thai_ru = 0xdc4;
  public static final int XK_Thai_loling = 0xdc5;
  public static final int XK_Thai_lu = 0xdc6;
  public static final int XK_Thai_wowaen = 0xdc7;
  public static final int XK_Thai_sosala = 0xdc8;
  public static final int XK_Thai_sorusi = 0xdc9;
  public static final int XK_Thai_sosua = 0xdca;
  public static final int XK_Thai_hohip = 0xdcb;
  public static final int XK_Thai_lochula = 0xdcc;
  public static final int XK_Thai_oang = 0xdcd;
  public static final int XK_Thai_honokhuk = 0xdce;
  public static final int XK_Thai_paiyannoi = 0xdcf;
  public static final int XK_Thai_saraa = 0xdd0;
  public static final int XK_Thai_maihanakat = 0xdd1;
  public static final int XK_Thai_saraaa = 0xdd2;
  public static final int XK_Thai_saraam = 0xdd3;
  public static final int XK_Thai_sarai = 0xdd4;
  public static final int XK_Thai_saraii = 0xdd5;
  public static final int XK_Thai_saraue = 0xdd6;
  public static final int XK_Thai_sarauee = 0xdd7;
  public static final int XK_Thai_sarau = 0xdd8;
  public static final int XK_Thai_sarauu = 0xdd9;
  public static final int XK_Thai_phinthu = 0xdda;
  public static final int XK_Thai_maihanakat_maitho = 0xdde;
  public static final int XK_Thai_baht = 0xddf;
  public static final int XK_Thai_sarae = 0xde0;
  public static final int XK_Thai_saraae = 0xde1;
  public static final int XK_Thai_sarao = 0xde2;
  public static final int XK_Thai_saraaimaimuan = 0xde3;
  public static final int XK_Thai_saraaimaimalai = 0xde4;
  public static final int XK_Thai_lakkhangyao = 0xde5;
  public static final int XK_Thai_maiyamok = 0xde6;
  public static final int XK_Thai_maitaikhu = 0xde7;
  public static final int XK_Thai_maiek = 0xde8;
  public static final int XK_Thai_maitho = 0xde9;
  public static final int XK_Thai_maitri = 0xdea;
  public static final int XK_Thai_maichattawa = 0xdeb;
  public static final int XK_Thai_thanthakhat = 0xdec;
  public static final int XK_Thai_nikhahit = 0xded;
  public static final int XK_Thai_leksun = 0xdf0;
  public static final int XK_Thai_leknung = 0xdf1;
  public static final int XK_Thai_leksong = 0xdf2;
  public static final int XK_Thai_leksam = 0xdf3;
  public static final int XK_Thai_leksi = 0xdf4;
  public static final int XK_Thai_lekha = 0xdf5;
  public static final int XK_Thai_lekhok = 0xdf6;
  public static final int XK_Thai_lekchet = 0xdf7;
  public static final int XK_Thai_lekpaet = 0xdf8;
  public static final int XK_Thai_lekkao = 0xdf9;

  /*
   *   Korean;
   *   Byte 3 = e;
   */

  public static final int XK_Hangul = 0xff31;    /* Hangul start/stop(toggle) */
  public static final int XK_Hangul_Start = 0xff32;    /* Hangul start */
  public static final int XK_Hangul_End = 0xff33;    /* Hangul end, English start */
  public static final int XK_Hangul_Hanja = 0xff34;    /* Start Hangul->Hanja Conversion */
  public static final int XK_Hangul_Jamo = 0xff35;    /* Hangul Jamo mode */
  public static final int XK_Hangul_Romaja = 0xff36;    /* Hangul Romaja mode */
  public static final int XK_Hangul_Codeinput = 0xff37;    /* Hangul code input mode */
  public static final int XK_Hangul_Jeonja = 0xff38;    /* Jeonja mode */
  public static final int XK_Hangul_Banja = 0xff39;    /* Banja mode */
  public static final int XK_Hangul_PreHanja = 0xff3a;    /* Pre Hanja conversion */
  public static final int XK_Hangul_PostHanja = 0xff3b;    /* Post Hanja conversion */
  public static final int XK_Hangul_SingleCandidate = 0xff3c;    /* Single candidate */
  public static final int XK_Hangul_MultipleCandidate = 0xff3d;    /* Multiple candidate */
  public static final int XK_Hangul_PreviousCandidate = 0xff3e;    /* Previous candidate */
  public static final int XK_Hangul_Special = 0xff3f;    /* Special symbols */
  public static final int XK_Hangul_switch = 0xFF7E;    /* Alias for mode_switch */

  /* Hangul Consonant Characters */
  public static final int XK_Hangul_Kiyeog = 0xea1;
  public static final int XK_Hangul_SsangKiyeog = 0xea2;
  public static final int XK_Hangul_KiyeogSios = 0xea3;
  public static final int XK_Hangul_Nieun = 0xea4;
  public static final int XK_Hangul_NieunJieuj = 0xea5;
  public static final int XK_Hangul_NieunHieuh = 0xea6;
  public static final int XK_Hangul_Dikeud = 0xea7;
  public static final int XK_Hangul_SsangDikeud = 0xea8;
  public static final int XK_Hangul_Rieul = 0xea9;
  public static final int XK_Hangul_RieulKiyeog = 0xeaa;
  public static final int XK_Hangul_RieulMieum = 0xeab;
  public static final int XK_Hangul_RieulPieub = 0xeac;
  public static final int XK_Hangul_RieulSios = 0xead;
  public static final int XK_Hangul_RieulTieut = 0xeae;
  public static final int XK_Hangul_RieulPhieuf = 0xeaf;
  public static final int XK_Hangul_RieulHieuh = 0xeb0;
  public static final int XK_Hangul_Mieum = 0xeb1;
  public static final int XK_Hangul_Pieub = 0xeb2;
  public static final int XK_Hangul_SsangPieub = 0xeb3;
  public static final int XK_Hangul_PieubSios = 0xeb4;
  public static final int XK_Hangul_Sios = 0xeb5;
  public static final int XK_Hangul_SsangSios = 0xeb6;
  public static final int XK_Hangul_Ieung = 0xeb7;
  public static final int XK_Hangul_Jieuj = 0xeb8;
  public static final int XK_Hangul_SsangJieuj = 0xeb9;
  public static final int XK_Hangul_Cieuc = 0xeba;
  public static final int XK_Hangul_Khieuq = 0xebb;
  public static final int XK_Hangul_Tieut = 0xebc;
  public static final int XK_Hangul_Phieuf = 0xebd;
  public static final int XK_Hangul_Hieuh = 0xebe;

  /* Hangul Vowel Characters */
  public static final int XK_Hangul_A = 0xebf;
  public static final int XK_Hangul_AE = 0xec0;
  public static final int XK_Hangul_YA = 0xec1;
  public static final int XK_Hangul_YAE = 0xec2;
  public static final int XK_Hangul_EO = 0xec3;
  public static final int XK_Hangul_E = 0xec4;
  public static final int XK_Hangul_YEO = 0xec5;
  public static final int XK_Hangul_YE = 0xec6;
  public static final int XK_Hangul_O = 0xec7;
  public static final int XK_Hangul_WA = 0xec8;
  public static final int XK_Hangul_WAE = 0xec9;
  public static final int XK_Hangul_OE = 0xeca;
  public static final int XK_Hangul_YO = 0xecb;
  public static final int XK_Hangul_U = 0xecc;
  public static final int XK_Hangul_WEO = 0xecd;
  public static final int XK_Hangul_WE = 0xece;
  public static final int XK_Hangul_WI = 0xecf;
  public static final int XK_Hangul_YU = 0xed0;
  public static final int XK_Hangul_EU = 0xed1;
  public static final int XK_Hangul_YI = 0xed2;
  public static final int XK_Hangul_I = 0xed3;

  /* Hangul syllable-final (JongSeong) Characters */
  public static final int XK_Hangul_J_Kiyeog = 0xed4;
  public static final int XK_Hangul_J_SsangKiyeog = 0xed5;
  public static final int XK_Hangul_J_KiyeogSios = 0xed6;
  public static final int XK_Hangul_J_Nieun = 0xed7;
  public static final int XK_Hangul_J_NieunJieuj = 0xed8;
  public static final int XK_Hangul_J_NieunHieuh = 0xed9;
  public static final int XK_Hangul_J_Dikeud = 0xeda;
  public static final int XK_Hangul_J_Rieul = 0xedb;
  public static final int XK_Hangul_J_RieulKiyeog = 0xedc;
  public static final int XK_Hangul_J_RieulMieum = 0xedd;
  public static final int XK_Hangul_J_RieulPieub = 0xede;
  public static final int XK_Hangul_J_RieulSios = 0xedf;
  public static final int XK_Hangul_J_RieulTieut = 0xee0;
  public static final int XK_Hangul_J_RieulPhieuf = 0xee1;
  public static final int XK_Hangul_J_RieulHieuh = 0xee2;
  public static final int XK_Hangul_J_Mieum = 0xee3;
  public static final int XK_Hangul_J_Pieub = 0xee4;
  public static final int XK_Hangul_J_PieubSios = 0xee5;
  public static final int XK_Hangul_J_Sios = 0xee6;
  public static final int XK_Hangul_J_SsangSios = 0xee7;
  public static final int XK_Hangul_J_Ieung = 0xee8;
  public static final int XK_Hangul_J_Jieuj = 0xee9;
  public static final int XK_Hangul_J_Cieuc = 0xeea;
  public static final int XK_Hangul_J_Khieuq = 0xeeb;
  public static final int XK_Hangul_J_Tieut = 0xeec;
  public static final int XK_Hangul_J_Phieuf = 0xeed;
  public static final int XK_Hangul_J_Hieuh = 0xeee;

  /* Ancient Hangul Consonant Characters */
  public static final int XK_Hangul_RieulYeorinHieuh = 0xeef;
  public static final int XK_Hangul_SunkyeongeumMieum = 0xef0;
  public static final int XK_Hangul_SunkyeongeumPieub = 0xef1;
  public static final int XK_Hangul_PanSios = 0xef2;
  public static final int XK_Hangul_KkogjiDalrinIeung = 0xef3;
  public static final int XK_Hangul_SunkyeongeumPhieuf = 0xef4;
  public static final int XK_Hangul_YeorinHieuh = 0xef5;

  /* Ancient Hangul Vowel Characters */
  public static final int XK_Hangul_AraeA = 0xef6;
  public static final int XK_Hangul_AraeAE = 0xef7;

  /* Ancient Hangul syllable-final (JongSeong) Characters */
  public static final int XK_Hangul_J_PanSios = 0xef8;
  public static final int XK_Hangul_J_KkogjiDalrinIeung = 0xef9;
  public static final int XK_Hangul_J_YeorinHieuh = 0xefa;

  /* Korean currency symbol */
  public static final int XK_Korean_Won = 0xeff;

  public static final int XK_EcuSign = 0x20a0;
  public static final int XK_ColonSign = 0x20a1;
  public static final int XK_CruzeiroSign = 0x20a2;
  public static final int XK_FFrancSign = 0x20a3;
  public static final int XK_LiraSign = 0x20a4;
  public static final int XK_MillSign = 0x20a5;
  public static final int XK_NairaSign = 0x20a6;
  public static final int XK_PesetaSign = 0x20a7;
  public static final int XK_RupeeSign = 0x20a8;
  public static final int XK_WonSign = 0x20a9;
  public static final int XK_NewSheqelSign = 0x20aa;
  public static final int XK_DongSign = 0x20ab;
  public static final int XK_EuroSign = 0x20ac;

}