-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathxkbname.h
2402 lines (2402 loc) · 145 KB
/
xkbname.h
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
{ .code = XKB_KEY_NoSymbol , .name = "NoSymbol" },
{ .code = XKB_KEY_VoidSymbol , .name = "VoidSymbol" },
{ .code = XKB_KEY_BackSpace , .name = "BackSpace" },
{ .code = XKB_KEY_Tab , .name = "Tab" },
{ .code = XKB_KEY_Linefeed , .name = "Linefeed" },
{ .code = XKB_KEY_Clear , .name = "Clear" },
{ .code = XKB_KEY_Return , .name = "Return" },
{ .code = XKB_KEY_Pause , .name = "Pause" },
{ .code = XKB_KEY_Scroll_Lock , .name = "Scroll_Lock" },
{ .code = XKB_KEY_Sys_Req , .name = "Sys_Req" },
{ .code = XKB_KEY_Escape , .name = "Escape" },
{ .code = XKB_KEY_Delete , .name = "Delete" },
{ .code = XKB_KEY_Multi_key , .name = "Multi_key" },
{ .code = XKB_KEY_Codeinput , .name = "Codeinput" },
{ .code = XKB_KEY_SingleCandidate , .name = "SingleCandidate" },
{ .code = XKB_KEY_MultipleCandidate, .name = "MultipleCandidate" },
{ .code = XKB_KEY_PreviousCandidate, .name = "PreviousCandidate" },
{ .code = XKB_KEY_Kanji , .name = "Kanji" },
{ .code = XKB_KEY_Muhenkan , .name = "Muhenkan" },
{ .code = XKB_KEY_Henkan_Mode , .name = "Henkan_Mode" },
{ .code = XKB_KEY_Henkan , .name = "Henkan" },
{ .code = XKB_KEY_Romaji , .name = "Romaji" },
{ .code = XKB_KEY_Hiragana , .name = "Hiragana" },
{ .code = XKB_KEY_Katakana , .name = "Katakana" },
{ .code = XKB_KEY_Hiragana_Katakana, .name = "Hiragana_Katakana" },
{ .code = XKB_KEY_Zenkaku , .name = "Zenkaku" },
{ .code = XKB_KEY_Hankaku , .name = "Hankaku" },
{ .code = XKB_KEY_Zenkaku_Hankaku , .name = "Zenkaku_Hankaku" },
{ .code = XKB_KEY_Touroku , .name = "Touroku" },
{ .code = XKB_KEY_Massyo , .name = "Massyo" },
{ .code = XKB_KEY_Kana_Lock , .name = "Kana_Lock" },
{ .code = XKB_KEY_Kana_Shift , .name = "Kana_Shift" },
{ .code = XKB_KEY_Eisu_Shift , .name = "Eisu_Shift" },
{ .code = XKB_KEY_Eisu_toggle , .name = "Eisu_toggle" },
{ .code = XKB_KEY_Kanji_Bangou , .name = "Kanji_Bangou" },
{ .code = XKB_KEY_Zen_Koho , .name = "Zen_Koho" },
{ .code = XKB_KEY_Mae_Koho , .name = "Mae_Koho" },
{ .code = XKB_KEY_Home , .name = "Home" },
{ .code = XKB_KEY_Left , .name = "Left" },
{ .code = XKB_KEY_Up , .name = "Up" },
{ .code = XKB_KEY_Right , .name = "Right" },
{ .code = XKB_KEY_Down , .name = "Down" },
{ .code = XKB_KEY_Prior , .name = "Prior" },
{ .code = XKB_KEY_Page_Up , .name = "Page_Up" },
{ .code = XKB_KEY_Next , .name = "Next" },
{ .code = XKB_KEY_Page_Down , .name = "Page_Down" },
{ .code = XKB_KEY_End , .name = "End" },
{ .code = XKB_KEY_Begin , .name = "Begin" },
{ .code = XKB_KEY_Select , .name = "Select" },
{ .code = XKB_KEY_Print , .name = "Print" },
{ .code = XKB_KEY_Execute , .name = "Execute" },
{ .code = XKB_KEY_Insert , .name = "Insert" },
{ .code = XKB_KEY_Undo , .name = "Undo" },
{ .code = XKB_KEY_Redo , .name = "Redo" },
{ .code = XKB_KEY_Menu , .name = "Menu" },
{ .code = XKB_KEY_Find , .name = "Find" },
{ .code = XKB_KEY_Cancel , .name = "Cancel" },
{ .code = XKB_KEY_Help , .name = "Help" },
{ .code = XKB_KEY_Break , .name = "Break" },
{ .code = XKB_KEY_Mode_switch , .name = "Mode_switch" },
{ .code = XKB_KEY_script_switch , .name = "script_switch" },
{ .code = XKB_KEY_Num_Lock , .name = "Num_Lock" },
{ .code = XKB_KEY_KP_Space , .name = "KP_Space" },
{ .code = XKB_KEY_KP_Tab , .name = "KP_Tab" },
{ .code = XKB_KEY_KP_Enter , .name = "KP_Enter" },
{ .code = XKB_KEY_KP_F1 , .name = "KP_F1" },
{ .code = XKB_KEY_KP_F2 , .name = "KP_F2" },
{ .code = XKB_KEY_KP_F3 , .name = "KP_F3" },
{ .code = XKB_KEY_KP_F4 , .name = "KP_F4" },
{ .code = XKB_KEY_KP_Home , .name = "KP_Home" },
{ .code = XKB_KEY_KP_Left , .name = "KP_Left" },
{ .code = XKB_KEY_KP_Up , .name = "KP_Up" },
{ .code = XKB_KEY_KP_Right , .name = "KP_Right" },
{ .code = XKB_KEY_KP_Down , .name = "KP_Down" },
{ .code = XKB_KEY_KP_Prior , .name = "KP_Prior" },
{ .code = XKB_KEY_KP_Page_Up , .name = "KP_Page_Up" },
{ .code = XKB_KEY_KP_Next , .name = "KP_Next" },
{ .code = XKB_KEY_KP_Page_Down , .name = "KP_Page_Down" },
{ .code = XKB_KEY_KP_End , .name = "KP_End" },
{ .code = XKB_KEY_KP_Begin , .name = "KP_Begin" },
{ .code = XKB_KEY_KP_Insert , .name = "KP_Insert" },
{ .code = XKB_KEY_KP_Delete , .name = "KP_Delete" },
{ .code = XKB_KEY_KP_Equal , .name = "KP_Equal" },
{ .code = XKB_KEY_KP_Multiply , .name = "KP_Multiply" },
{ .code = XKB_KEY_KP_Add , .name = "KP_Add" },
{ .code = XKB_KEY_KP_Separator , .name = "KP_Separator" },
{ .code = XKB_KEY_KP_Subtract , .name = "KP_Subtract" },
{ .code = XKB_KEY_KP_Decimal , .name = "KP_Decimal" },
{ .code = XKB_KEY_KP_Divide , .name = "KP_Divide" },
{ .code = XKB_KEY_KP_0 , .name = "KP_0" },
{ .code = XKB_KEY_KP_1 , .name = "KP_1" },
{ .code = XKB_KEY_KP_2 , .name = "KP_2" },
{ .code = XKB_KEY_KP_3 , .name = "KP_3" },
{ .code = XKB_KEY_KP_4 , .name = "KP_4" },
{ .code = XKB_KEY_KP_5 , .name = "KP_5" },
{ .code = XKB_KEY_KP_6 , .name = "KP_6" },
{ .code = XKB_KEY_KP_7 , .name = "KP_7" },
{ .code = XKB_KEY_KP_8 , .name = "KP_8" },
{ .code = XKB_KEY_KP_9 , .name = "KP_9" },
{ .code = XKB_KEY_F1 , .name = "F1" },
{ .code = XKB_KEY_F2 , .name = "F2" },
{ .code = XKB_KEY_F3 , .name = "F3" },
{ .code = XKB_KEY_F4 , .name = "F4" },
{ .code = XKB_KEY_F5 , .name = "F5" },
{ .code = XKB_KEY_F6 , .name = "F6" },
{ .code = XKB_KEY_F7 , .name = "F7" },
{ .code = XKB_KEY_F8 , .name = "F8" },
{ .code = XKB_KEY_F9 , .name = "F9" },
{ .code = XKB_KEY_F10 , .name = "F10" },
{ .code = XKB_KEY_F11 , .name = "F11" },
{ .code = XKB_KEY_L1 , .name = "L1" },
{ .code = XKB_KEY_F12 , .name = "F12" },
{ .code = XKB_KEY_L2 , .name = "L2" },
{ .code = XKB_KEY_F13 , .name = "F13" },
{ .code = XKB_KEY_L3 , .name = "L3" },
{ .code = XKB_KEY_F14 , .name = "F14" },
{ .code = XKB_KEY_L4 , .name = "L4" },
{ .code = XKB_KEY_F15 , .name = "F15" },
{ .code = XKB_KEY_L5 , .name = "L5" },
{ .code = XKB_KEY_F16 , .name = "F16" },
{ .code = XKB_KEY_L6 , .name = "L6" },
{ .code = XKB_KEY_F17 , .name = "F17" },
{ .code = XKB_KEY_L7 , .name = "L7" },
{ .code = XKB_KEY_F18 , .name = "F18" },
{ .code = XKB_KEY_L8 , .name = "L8" },
{ .code = XKB_KEY_F19 , .name = "F19" },
{ .code = XKB_KEY_L9 , .name = "L9" },
{ .code = XKB_KEY_F20 , .name = "F20" },
{ .code = XKB_KEY_L10 , .name = "L10" },
{ .code = XKB_KEY_F21 , .name = "F21" },
{ .code = XKB_KEY_R1 , .name = "R1" },
{ .code = XKB_KEY_F22 , .name = "F22" },
{ .code = XKB_KEY_R2 , .name = "R2" },
{ .code = XKB_KEY_F23 , .name = "F23" },
{ .code = XKB_KEY_R3 , .name = "R3" },
{ .code = XKB_KEY_F24 , .name = "F24" },
{ .code = XKB_KEY_R4 , .name = "R4" },
{ .code = XKB_KEY_F25 , .name = "F25" },
{ .code = XKB_KEY_R5 , .name = "R5" },
{ .code = XKB_KEY_F26 , .name = "F26" },
{ .code = XKB_KEY_R6 , .name = "R6" },
{ .code = XKB_KEY_F27 , .name = "F27" },
{ .code = XKB_KEY_R7 , .name = "R7" },
{ .code = XKB_KEY_F28 , .name = "F28" },
{ .code = XKB_KEY_R8 , .name = "R8" },
{ .code = XKB_KEY_F29 , .name = "F29" },
{ .code = XKB_KEY_R9 , .name = "R9" },
{ .code = XKB_KEY_F30 , .name = "F30" },
{ .code = XKB_KEY_R10 , .name = "R10" },
{ .code = XKB_KEY_F31 , .name = "F31" },
{ .code = XKB_KEY_R11 , .name = "R11" },
{ .code = XKB_KEY_F32 , .name = "F32" },
{ .code = XKB_KEY_R12 , .name = "R12" },
{ .code = XKB_KEY_F33 , .name = "F33" },
{ .code = XKB_KEY_R13 , .name = "R13" },
{ .code = XKB_KEY_F34 , .name = "F34" },
{ .code = XKB_KEY_R14 , .name = "R14" },
{ .code = XKB_KEY_F35 , .name = "F35" },
{ .code = XKB_KEY_R15 , .name = "R15" },
{ .code = XKB_KEY_Shift_L , .name = "Shift_L" },
{ .code = XKB_KEY_Shift_R , .name = "Shift_R" },
{ .code = XKB_KEY_Control_L , .name = "Control_L" },
{ .code = XKB_KEY_Control_R , .name = "Control_R" },
{ .code = XKB_KEY_Caps_Lock , .name = "Caps_Lock" },
{ .code = XKB_KEY_Shift_Lock , .name = "Shift_Lock" },
{ .code = XKB_KEY_Meta_L , .name = "Meta_L" },
{ .code = XKB_KEY_Meta_R , .name = "Meta_R" },
{ .code = XKB_KEY_Alt_L , .name = "Alt_L" },
{ .code = XKB_KEY_Alt_R , .name = "Alt_R" },
{ .code = XKB_KEY_Super_L , .name = "Super_L" },
{ .code = XKB_KEY_Super_R , .name = "Super_R" },
{ .code = XKB_KEY_Hyper_L , .name = "Hyper_L" },
{ .code = XKB_KEY_Hyper_R , .name = "Hyper_R" },
{ .code = XKB_KEY_ISO_Lock , .name = "ISO_Lock" },
{ .code = XKB_KEY_ISO_Level2_Latch, .name = "ISO_Level2_Latch" },
{ .code = XKB_KEY_ISO_Level3_Shift, .name = "ISO_Level3_Shift" },
{ .code = XKB_KEY_ISO_Level3_Latch, .name = "ISO_Level3_Latch" },
{ .code = XKB_KEY_ISO_Level3_Lock , .name = "ISO_Level3_Lock" },
{ .code = XKB_KEY_ISO_Level5_Shift, .name = "ISO_Level5_Shift" },
{ .code = XKB_KEY_ISO_Level5_Latch, .name = "ISO_Level5_Latch" },
{ .code = XKB_KEY_ISO_Level5_Lock , .name = "ISO_Level5_Lock" },
{ .code = XKB_KEY_ISO_Group_Shift , .name = "ISO_Group_Shift" },
{ .code = XKB_KEY_ISO_Group_Latch , .name = "ISO_Group_Latch" },
{ .code = XKB_KEY_ISO_Group_Lock , .name = "ISO_Group_Lock" },
{ .code = XKB_KEY_ISO_Next_Group , .name = "ISO_Next_Group" },
{ .code = XKB_KEY_ISO_Next_Group_Lock, .name = "ISO_Next_Group_Lock" },
{ .code = XKB_KEY_ISO_Prev_Group , .name = "ISO_Prev_Group" },
{ .code = XKB_KEY_ISO_Prev_Group_Lock, .name = "ISO_Prev_Group_Lock" },
{ .code = XKB_KEY_ISO_First_Group , .name = "ISO_First_Group" },
{ .code = XKB_KEY_ISO_First_Group_Lock, .name = "ISO_First_Group_Lock" },
{ .code = XKB_KEY_ISO_Last_Group , .name = "ISO_Last_Group" },
{ .code = XKB_KEY_ISO_Last_Group_Lock, .name = "ISO_Last_Group_Lock" },
{ .code = XKB_KEY_ISO_Left_Tab , .name = "ISO_Left_Tab" },
{ .code = XKB_KEY_ISO_Move_Line_Up, .name = "ISO_Move_Line_Up" },
{ .code = XKB_KEY_ISO_Move_Line_Down, .name = "ISO_Move_Line_Down" },
{ .code = XKB_KEY_ISO_Partial_Line_Up, .name = "ISO_Partial_Line_Up" },
{ .code = XKB_KEY_ISO_Partial_Line_Down, .name = "ISO_Partial_Line_Down" },
{ .code = XKB_KEY_ISO_Partial_Space_Left, .name = "ISO_Partial_Space_Left" },
{ .code = XKB_KEY_ISO_Partial_Space_Right, .name = "ISO_Partial_Space_Right" },
{ .code = XKB_KEY_ISO_Set_Margin_Left, .name = "ISO_Set_Margin_Left" },
{ .code = XKB_KEY_ISO_Set_Margin_Right, .name = "ISO_Set_Margin_Right" },
{ .code = XKB_KEY_ISO_Release_Margin_Left, .name = "ISO_Release_Margin_Left" },
{ .code = XKB_KEY_ISO_Release_Margin_Right, .name = "ISO_Release_Margin_Right" },
{ .code = XKB_KEY_ISO_Release_Both_Margins, .name = "ISO_Release_Both_Margins" },
{ .code = XKB_KEY_ISO_Fast_Cursor_Left, .name = "ISO_Fast_Cursor_Left" },
{ .code = XKB_KEY_ISO_Fast_Cursor_Right, .name = "ISO_Fast_Cursor_Right" },
{ .code = XKB_KEY_ISO_Fast_Cursor_Up, .name = "ISO_Fast_Cursor_Up" },
{ .code = XKB_KEY_ISO_Fast_Cursor_Down, .name = "ISO_Fast_Cursor_Down" },
{ .code = XKB_KEY_ISO_Continuous_Underline, .name = "ISO_Continuous_Underline" },
{ .code = XKB_KEY_ISO_Discontinuous_Underline, .name = "ISO_Discontinuous_Underline" },
{ .code = XKB_KEY_ISO_Emphasize , .name = "ISO_Emphasize" },
{ .code = XKB_KEY_ISO_Center_Object, .name = "ISO_Center_Object" },
{ .code = XKB_KEY_ISO_Enter , .name = "ISO_Enter" },
{ .code = XKB_KEY_dead_grave , .name = "dead_grave" },
{ .code = XKB_KEY_dead_acute , .name = "dead_acute" },
{ .code = XKB_KEY_dead_circumflex , .name = "dead_circumflex" },
{ .code = XKB_KEY_dead_tilde , .name = "dead_tilde" },
{ .code = XKB_KEY_dead_perispomeni, .name = "dead_perispomeni" },
{ .code = XKB_KEY_dead_macron , .name = "dead_macron" },
{ .code = XKB_KEY_dead_breve , .name = "dead_breve" },
{ .code = XKB_KEY_dead_abovedot , .name = "dead_abovedot" },
{ .code = XKB_KEY_dead_diaeresis , .name = "dead_diaeresis" },
{ .code = XKB_KEY_dead_abovering , .name = "dead_abovering" },
{ .code = XKB_KEY_dead_doubleacute, .name = "dead_doubleacute" },
{ .code = XKB_KEY_dead_caron , .name = "dead_caron" },
{ .code = XKB_KEY_dead_cedilla , .name = "dead_cedilla" },
{ .code = XKB_KEY_dead_ogonek , .name = "dead_ogonek" },
{ .code = XKB_KEY_dead_iota , .name = "dead_iota" },
{ .code = XKB_KEY_dead_voiced_sound, .name = "dead_voiced_sound" },
{ .code = XKB_KEY_dead_semivoiced_sound, .name = "dead_semivoiced_sound" },
{ .code = XKB_KEY_dead_belowdot , .name = "dead_belowdot" },
{ .code = XKB_KEY_dead_hook , .name = "dead_hook" },
{ .code = XKB_KEY_dead_horn , .name = "dead_horn" },
{ .code = XKB_KEY_dead_stroke , .name = "dead_stroke" },
{ .code = XKB_KEY_dead_abovecomma , .name = "dead_abovecomma" },
{ .code = XKB_KEY_dead_psili , .name = "dead_psili" },
{ .code = XKB_KEY_dead_abovereversedcomma, .name = "dead_abovereversedcomma" },
{ .code = XKB_KEY_dead_dasia , .name = "dead_dasia" },
{ .code = XKB_KEY_dead_doublegrave, .name = "dead_doublegrave" },
{ .code = XKB_KEY_dead_belowring , .name = "dead_belowring" },
{ .code = XKB_KEY_dead_belowmacron, .name = "dead_belowmacron" },
{ .code = XKB_KEY_dead_belowcircumflex, .name = "dead_belowcircumflex" },
{ .code = XKB_KEY_dead_belowtilde , .name = "dead_belowtilde" },
{ .code = XKB_KEY_dead_belowbreve , .name = "dead_belowbreve" },
{ .code = XKB_KEY_dead_belowdiaeresis, .name = "dead_belowdiaeresis" },
{ .code = XKB_KEY_dead_invertedbreve, .name = "dead_invertedbreve" },
{ .code = XKB_KEY_dead_belowcomma , .name = "dead_belowcomma" },
{ .code = XKB_KEY_dead_currency , .name = "dead_currency" },
{ .code = XKB_KEY_dead_lowline , .name = "dead_lowline" },
{ .code = XKB_KEY_dead_aboveverticalline, .name = "dead_aboveverticalline" },
{ .code = XKB_KEY_dead_belowverticalline, .name = "dead_belowverticalline" },
{ .code = XKB_KEY_dead_longsolidusoverlay, .name = "dead_longsolidusoverlay" },
{ .code = XKB_KEY_dead_a , .name = "dead_a" },
{ .code = XKB_KEY_dead_A , .name = "dead_A" },
{ .code = XKB_KEY_dead_e , .name = "dead_e" },
{ .code = XKB_KEY_dead_E , .name = "dead_E" },
{ .code = XKB_KEY_dead_i , .name = "dead_i" },
{ .code = XKB_KEY_dead_I , .name = "dead_I" },
{ .code = XKB_KEY_dead_o , .name = "dead_o" },
{ .code = XKB_KEY_dead_O , .name = "dead_O" },
{ .code = XKB_KEY_dead_u , .name = "dead_u" },
{ .code = XKB_KEY_dead_U , .name = "dead_U" },
{ .code = XKB_KEY_dead_small_schwa, .name = "dead_small_schwa" },
{ .code = XKB_KEY_dead_capital_schwa, .name = "dead_capital_schwa" },
{ .code = XKB_KEY_dead_greek , .name = "dead_greek" },
{ .code = XKB_KEY_First_Virtual_Screen, .name = "First_Virtual_Screen" },
{ .code = XKB_KEY_Prev_Virtual_Screen, .name = "Prev_Virtual_Screen" },
{ .code = XKB_KEY_Next_Virtual_Screen, .name = "Next_Virtual_Screen" },
{ .code = XKB_KEY_Last_Virtual_Screen, .name = "Last_Virtual_Screen" },
{ .code = XKB_KEY_Terminate_Server, .name = "Terminate_Server" },
{ .code = XKB_KEY_AccessX_Enable , .name = "AccessX_Enable" },
{ .code = XKB_KEY_AccessX_Feedback_Enable, .name = "AccessX_Feedback_Enable" },
{ .code = XKB_KEY_RepeatKeys_Enable, .name = "RepeatKeys_Enable" },
{ .code = XKB_KEY_SlowKeys_Enable , .name = "SlowKeys_Enable" },
{ .code = XKB_KEY_BounceKeys_Enable, .name = "BounceKeys_Enable" },
{ .code = XKB_KEY_StickyKeys_Enable, .name = "StickyKeys_Enable" },
{ .code = XKB_KEY_MouseKeys_Enable, .name = "MouseKeys_Enable" },
{ .code = XKB_KEY_MouseKeys_Accel_Enable, .name = "MouseKeys_Accel_Enable" },
{ .code = XKB_KEY_Overlay1_Enable , .name = "Overlay1_Enable" },
{ .code = XKB_KEY_Overlay2_Enable , .name = "Overlay2_Enable" },
{ .code = XKB_KEY_AudibleBell_Enable, .name = "AudibleBell_Enable" },
{ .code = XKB_KEY_Pointer_Left , .name = "Pointer_Left" },
{ .code = XKB_KEY_Pointer_Right , .name = "Pointer_Right" },
{ .code = XKB_KEY_Pointer_Up , .name = "Pointer_Up" },
{ .code = XKB_KEY_Pointer_Down , .name = "Pointer_Down" },
{ .code = XKB_KEY_Pointer_UpLeft , .name = "Pointer_UpLeft" },
{ .code = XKB_KEY_Pointer_UpRight , .name = "Pointer_UpRight" },
{ .code = XKB_KEY_Pointer_DownLeft, .name = "Pointer_DownLeft" },
{ .code = XKB_KEY_Pointer_DownRight, .name = "Pointer_DownRight" },
{ .code = XKB_KEY_Pointer_Button_Dflt, .name = "Pointer_Button_Dflt" },
{ .code = XKB_KEY_Pointer_Button1 , .name = "Pointer_Button1" },
{ .code = XKB_KEY_Pointer_Button2 , .name = "Pointer_Button2" },
{ .code = XKB_KEY_Pointer_Button3 , .name = "Pointer_Button3" },
{ .code = XKB_KEY_Pointer_Button4 , .name = "Pointer_Button4" },
{ .code = XKB_KEY_Pointer_Button5 , .name = "Pointer_Button5" },
{ .code = XKB_KEY_Pointer_DblClick_Dflt, .name = "Pointer_DblClick_Dflt" },
{ .code = XKB_KEY_Pointer_DblClick1, .name = "Pointer_DblClick1" },
{ .code = XKB_KEY_Pointer_DblClick2, .name = "Pointer_DblClick2" },
{ .code = XKB_KEY_Pointer_DblClick3, .name = "Pointer_DblClick3" },
{ .code = XKB_KEY_Pointer_DblClick4, .name = "Pointer_DblClick4" },
{ .code = XKB_KEY_Pointer_DblClick5, .name = "Pointer_DblClick5" },
{ .code = XKB_KEY_Pointer_Drag_Dflt, .name = "Pointer_Drag_Dflt" },
{ .code = XKB_KEY_Pointer_Drag1 , .name = "Pointer_Drag1" },
{ .code = XKB_KEY_Pointer_Drag2 , .name = "Pointer_Drag2" },
{ .code = XKB_KEY_Pointer_Drag3 , .name = "Pointer_Drag3" },
{ .code = XKB_KEY_Pointer_Drag4 , .name = "Pointer_Drag4" },
{ .code = XKB_KEY_Pointer_Drag5 , .name = "Pointer_Drag5" },
{ .code = XKB_KEY_Pointer_EnableKeys, .name = "Pointer_EnableKeys" },
{ .code = XKB_KEY_Pointer_Accelerate, .name = "Pointer_Accelerate" },
{ .code = XKB_KEY_Pointer_DfltBtnNext, .name = "Pointer_DfltBtnNext" },
{ .code = XKB_KEY_Pointer_DfltBtnPrev, .name = "Pointer_DfltBtnPrev" },
{ .code = XKB_KEY_ch , .name = "ch" },
{ .code = XKB_KEY_Ch , .name = "Ch" },
{ .code = XKB_KEY_CH , .name = "CH" },
{ .code = XKB_KEY_c_h , .name = "c_h" },
{ .code = XKB_KEY_C_h , .name = "C_h" },
{ .code = XKB_KEY_C_H , .name = "C_H" },
{ .code = XKB_KEY_3270_Duplicate , .name = "3270_Duplicate" },
{ .code = XKB_KEY_3270_FieldMark , .name = "3270_FieldMark" },
{ .code = XKB_KEY_3270_Right2 , .name = "3270_Right2" },
{ .code = XKB_KEY_3270_Left2 , .name = "3270_Left2" },
{ .code = XKB_KEY_3270_BackTab , .name = "3270_BackTab" },
{ .code = XKB_KEY_3270_EraseEOF , .name = "3270_EraseEOF" },
{ .code = XKB_KEY_3270_EraseInput , .name = "3270_EraseInput" },
{ .code = XKB_KEY_3270_Reset , .name = "3270_Reset" },
{ .code = XKB_KEY_3270_Quit , .name = "3270_Quit" },
{ .code = XKB_KEY_3270_PA1 , .name = "3270_PA1" },
{ .code = XKB_KEY_3270_PA2 , .name = "3270_PA2" },
{ .code = XKB_KEY_3270_PA3 , .name = "3270_PA3" },
{ .code = XKB_KEY_3270_Test , .name = "3270_Test" },
{ .code = XKB_KEY_3270_Attn , .name = "3270_Attn" },
{ .code = XKB_KEY_3270_CursorBlink, .name = "3270_CursorBlink" },
{ .code = XKB_KEY_3270_AltCursor , .name = "3270_AltCursor" },
{ .code = XKB_KEY_3270_KeyClick , .name = "3270_KeyClick" },
{ .code = XKB_KEY_3270_Jump , .name = "3270_Jump" },
{ .code = XKB_KEY_3270_Ident , .name = "3270_Ident" },
{ .code = XKB_KEY_3270_Rule , .name = "3270_Rule" },
{ .code = XKB_KEY_3270_Copy , .name = "3270_Copy" },
{ .code = XKB_KEY_3270_Play , .name = "3270_Play" },
{ .code = XKB_KEY_3270_Setup , .name = "3270_Setup" },
{ .code = XKB_KEY_3270_Record , .name = "3270_Record" },
{ .code = XKB_KEY_3270_ChangeScreen, .name = "3270_ChangeScreen" },
{ .code = XKB_KEY_3270_DeleteWord , .name = "3270_DeleteWord" },
{ .code = XKB_KEY_3270_ExSelect , .name = "3270_ExSelect" },
{ .code = XKB_KEY_3270_CursorSelect, .name = "3270_CursorSelect" },
{ .code = XKB_KEY_3270_PrintScreen, .name = "3270_PrintScreen" },
{ .code = XKB_KEY_3270_Enter , .name = "3270_Enter" },
{ .code = XKB_KEY_space , .name = "space" },
{ .code = XKB_KEY_exclam , .name = "exclam" },
{ .code = XKB_KEY_quotedbl , .name = "quotedbl" },
{ .code = XKB_KEY_numbersign , .name = "numbersign" },
{ .code = XKB_KEY_dollar , .name = "dollar" },
{ .code = XKB_KEY_percent , .name = "percent" },
{ .code = XKB_KEY_ampersand , .name = "ampersand" },
{ .code = XKB_KEY_apostrophe , .name = "apostrophe" },
{ .code = XKB_KEY_quoteright , .name = "quoteright" },
{ .code = XKB_KEY_parenleft , .name = "parenleft" },
{ .code = XKB_KEY_parenright , .name = "parenright" },
{ .code = XKB_KEY_asterisk , .name = "asterisk" },
{ .code = XKB_KEY_plus , .name = "plus" },
{ .code = XKB_KEY_comma , .name = "comma" },
{ .code = XKB_KEY_minus , .name = "minus" },
{ .code = XKB_KEY_period , .name = "period" },
{ .code = XKB_KEY_slash , .name = "slash" },
{ .code = XKB_KEY_0 , .name = "0" },
{ .code = XKB_KEY_1 , .name = "1" },
{ .code = XKB_KEY_2 , .name = "2" },
{ .code = XKB_KEY_3 , .name = "3" },
{ .code = XKB_KEY_4 , .name = "4" },
{ .code = XKB_KEY_5 , .name = "5" },
{ .code = XKB_KEY_6 , .name = "6" },
{ .code = XKB_KEY_7 , .name = "7" },
{ .code = XKB_KEY_8 , .name = "8" },
{ .code = XKB_KEY_9 , .name = "9" },
{ .code = XKB_KEY_colon , .name = "colon" },
{ .code = XKB_KEY_semicolon , .name = "semicolon" },
{ .code = XKB_KEY_less , .name = "less" },
{ .code = XKB_KEY_equal , .name = "equal" },
{ .code = XKB_KEY_greater , .name = "greater" },
{ .code = XKB_KEY_question , .name = "question" },
{ .code = XKB_KEY_at , .name = "at" },
{ .code = XKB_KEY_A , .name = "A" },
{ .code = XKB_KEY_B , .name = "B" },
{ .code = XKB_KEY_C , .name = "C" },
{ .code = XKB_KEY_D , .name = "D" },
{ .code = XKB_KEY_E , .name = "E" },
{ .code = XKB_KEY_F , .name = "F" },
{ .code = XKB_KEY_G , .name = "G" },
{ .code = XKB_KEY_H , .name = "H" },
{ .code = XKB_KEY_I , .name = "I" },
{ .code = XKB_KEY_J , .name = "J" },
{ .code = XKB_KEY_K , .name = "K" },
{ .code = XKB_KEY_L , .name = "L" },
{ .code = XKB_KEY_M , .name = "M" },
{ .code = XKB_KEY_N , .name = "N" },
{ .code = XKB_KEY_O , .name = "O" },
{ .code = XKB_KEY_P , .name = "P" },
{ .code = XKB_KEY_Q , .name = "Q" },
{ .code = XKB_KEY_R , .name = "R" },
{ .code = XKB_KEY_S , .name = "S" },
{ .code = XKB_KEY_T , .name = "T" },
{ .code = XKB_KEY_U , .name = "U" },
{ .code = XKB_KEY_V , .name = "V" },
{ .code = XKB_KEY_W , .name = "W" },
{ .code = XKB_KEY_X , .name = "X" },
{ .code = XKB_KEY_Y , .name = "Y" },
{ .code = XKB_KEY_Z , .name = "Z" },
{ .code = XKB_KEY_bracketleft , .name = "bracketleft" },
{ .code = XKB_KEY_backslash , .name = "backslash" },
{ .code = XKB_KEY_bracketright , .name = "bracketright" },
{ .code = XKB_KEY_asciicircum , .name = "asciicircum" },
{ .code = XKB_KEY_underscore , .name = "underscore" },
{ .code = XKB_KEY_grave , .name = "grave" },
{ .code = XKB_KEY_quoteleft , .name = "quoteleft" },
{ .code = XKB_KEY_a , .name = "a" },
{ .code = XKB_KEY_b , .name = "b" },
{ .code = XKB_KEY_c , .name = "c" },
{ .code = XKB_KEY_d , .name = "d" },
{ .code = XKB_KEY_e , .name = "e" },
{ .code = XKB_KEY_f , .name = "f" },
{ .code = XKB_KEY_g , .name = "g" },
{ .code = XKB_KEY_h , .name = "h" },
{ .code = XKB_KEY_i , .name = "i" },
{ .code = XKB_KEY_j , .name = "j" },
{ .code = XKB_KEY_k , .name = "k" },
{ .code = XKB_KEY_l , .name = "l" },
{ .code = XKB_KEY_m , .name = "m" },
{ .code = XKB_KEY_n , .name = "n" },
{ .code = XKB_KEY_o , .name = "o" },
{ .code = XKB_KEY_p , .name = "p" },
{ .code = XKB_KEY_q , .name = "q" },
{ .code = XKB_KEY_r , .name = "r" },
{ .code = XKB_KEY_s , .name = "s" },
{ .code = XKB_KEY_t , .name = "t" },
{ .code = XKB_KEY_u , .name = "u" },
{ .code = XKB_KEY_v , .name = "v" },
{ .code = XKB_KEY_w , .name = "w" },
{ .code = XKB_KEY_x , .name = "x" },
{ .code = XKB_KEY_y , .name = "y" },
{ .code = XKB_KEY_z , .name = "z" },
{ .code = XKB_KEY_braceleft , .name = "braceleft" },
{ .code = XKB_KEY_bar , .name = "bar" },
{ .code = XKB_KEY_braceright , .name = "braceright" },
{ .code = XKB_KEY_asciitilde , .name = "asciitilde" },
{ .code = XKB_KEY_nobreakspace , .name = "nobreakspace" },
{ .code = XKB_KEY_exclamdown , .name = "exclamdown" },
{ .code = XKB_KEY_cent , .name = "cent" },
{ .code = XKB_KEY_sterling , .name = "sterling" },
{ .code = XKB_KEY_currency , .name = "currency" },
{ .code = XKB_KEY_yen , .name = "yen" },
{ .code = XKB_KEY_brokenbar , .name = "brokenbar" },
{ .code = XKB_KEY_section , .name = "section" },
{ .code = XKB_KEY_diaeresis , .name = "diaeresis" },
{ .code = XKB_KEY_copyright , .name = "copyright" },
{ .code = XKB_KEY_ordfeminine , .name = "ordfeminine" },
{ .code = XKB_KEY_guillemotleft , .name = "guillemotleft" },
{ .code = XKB_KEY_notsign , .name = "notsign" },
{ .code = XKB_KEY_hyphen , .name = "hyphen" },
{ .code = XKB_KEY_registered , .name = "registered" },
{ .code = XKB_KEY_macron , .name = "macron" },
{ .code = XKB_KEY_degree , .name = "degree" },
{ .code = XKB_KEY_plusminus , .name = "plusminus" },
{ .code = XKB_KEY_twosuperior , .name = "twosuperior" },
{ .code = XKB_KEY_threesuperior , .name = "threesuperior" },
{ .code = XKB_KEY_acute , .name = "acute" },
{ .code = XKB_KEY_mu , .name = "mu" },
{ .code = XKB_KEY_paragraph , .name = "paragraph" },
{ .code = XKB_KEY_periodcentered , .name = "periodcentered" },
{ .code = XKB_KEY_cedilla , .name = "cedilla" },
{ .code = XKB_KEY_onesuperior , .name = "onesuperior" },
{ .code = XKB_KEY_masculine , .name = "masculine" },
{ .code = XKB_KEY_guillemotright , .name = "guillemotright" },
{ .code = XKB_KEY_onequarter , .name = "onequarter" },
{ .code = XKB_KEY_onehalf , .name = "onehalf" },
{ .code = XKB_KEY_threequarters , .name = "threequarters" },
{ .code = XKB_KEY_questiondown , .name = "questiondown" },
{ .code = XKB_KEY_Agrave , .name = "Agrave" },
{ .code = XKB_KEY_Aacute , .name = "Aacute" },
{ .code = XKB_KEY_Acircumflex , .name = "Acircumflex" },
{ .code = XKB_KEY_Atilde , .name = "Atilde" },
{ .code = XKB_KEY_Adiaeresis , .name = "Adiaeresis" },
{ .code = XKB_KEY_Aring , .name = "Aring" },
{ .code = XKB_KEY_AE , .name = "AE" },
{ .code = XKB_KEY_Ccedilla , .name = "Ccedilla" },
{ .code = XKB_KEY_Egrave , .name = "Egrave" },
{ .code = XKB_KEY_Eacute , .name = "Eacute" },
{ .code = XKB_KEY_Ecircumflex , .name = "Ecircumflex" },
{ .code = XKB_KEY_Ediaeresis , .name = "Ediaeresis" },
{ .code = XKB_KEY_Igrave , .name = "Igrave" },
{ .code = XKB_KEY_Iacute , .name = "Iacute" },
{ .code = XKB_KEY_Icircumflex , .name = "Icircumflex" },
{ .code = XKB_KEY_Idiaeresis , .name = "Idiaeresis" },
{ .code = XKB_KEY_ETH , .name = "ETH" },
{ .code = XKB_KEY_Eth , .name = "Eth" },
{ .code = XKB_KEY_Ntilde , .name = "Ntilde" },
{ .code = XKB_KEY_Ograve , .name = "Ograve" },
{ .code = XKB_KEY_Oacute , .name = "Oacute" },
{ .code = XKB_KEY_Ocircumflex , .name = "Ocircumflex" },
{ .code = XKB_KEY_Otilde , .name = "Otilde" },
{ .code = XKB_KEY_Odiaeresis , .name = "Odiaeresis" },
{ .code = XKB_KEY_multiply , .name = "multiply" },
{ .code = XKB_KEY_Oslash , .name = "Oslash" },
{ .code = XKB_KEY_Ooblique , .name = "Ooblique" },
{ .code = XKB_KEY_Ugrave , .name = "Ugrave" },
{ .code = XKB_KEY_Uacute , .name = "Uacute" },
{ .code = XKB_KEY_Ucircumflex , .name = "Ucircumflex" },
{ .code = XKB_KEY_Udiaeresis , .name = "Udiaeresis" },
{ .code = XKB_KEY_Yacute , .name = "Yacute" },
{ .code = XKB_KEY_THORN , .name = "THORN" },
{ .code = XKB_KEY_Thorn , .name = "Thorn" },
{ .code = XKB_KEY_ssharp , .name = "ssharp" },
{ .code = XKB_KEY_agrave , .name = "agrave" },
{ .code = XKB_KEY_aacute , .name = "aacute" },
{ .code = XKB_KEY_acircumflex , .name = "acircumflex" },
{ .code = XKB_KEY_atilde , .name = "atilde" },
{ .code = XKB_KEY_adiaeresis , .name = "adiaeresis" },
{ .code = XKB_KEY_aring , .name = "aring" },
{ .code = XKB_KEY_ae , .name = "ae" },
{ .code = XKB_KEY_ccedilla , .name = "ccedilla" },
{ .code = XKB_KEY_egrave , .name = "egrave" },
{ .code = XKB_KEY_eacute , .name = "eacute" },
{ .code = XKB_KEY_ecircumflex , .name = "ecircumflex" },
{ .code = XKB_KEY_ediaeresis , .name = "ediaeresis" },
{ .code = XKB_KEY_igrave , .name = "igrave" },
{ .code = XKB_KEY_iacute , .name = "iacute" },
{ .code = XKB_KEY_icircumflex , .name = "icircumflex" },
{ .code = XKB_KEY_idiaeresis , .name = "idiaeresis" },
{ .code = XKB_KEY_eth , .name = "eth" },
{ .code = XKB_KEY_ntilde , .name = "ntilde" },
{ .code = XKB_KEY_ograve , .name = "ograve" },
{ .code = XKB_KEY_oacute , .name = "oacute" },
{ .code = XKB_KEY_ocircumflex , .name = "ocircumflex" },
{ .code = XKB_KEY_otilde , .name = "otilde" },
{ .code = XKB_KEY_odiaeresis , .name = "odiaeresis" },
{ .code = XKB_KEY_division , .name = "division" },
{ .code = XKB_KEY_oslash , .name = "oslash" },
{ .code = XKB_KEY_ooblique , .name = "ooblique" },
{ .code = XKB_KEY_ugrave , .name = "ugrave" },
{ .code = XKB_KEY_uacute , .name = "uacute" },
{ .code = XKB_KEY_ucircumflex , .name = "ucircumflex" },
{ .code = XKB_KEY_udiaeresis , .name = "udiaeresis" },
{ .code = XKB_KEY_yacute , .name = "yacute" },
{ .code = XKB_KEY_thorn , .name = "thorn" },
{ .code = XKB_KEY_ydiaeresis , .name = "ydiaeresis" },
{ .code = XKB_KEY_Aogonek , .name = "Aogonek" },
{ .code = XKB_KEY_breve , .name = "breve" },
{ .code = XKB_KEY_Lstroke , .name = "Lstroke" },
{ .code = XKB_KEY_Lcaron , .name = "Lcaron" },
{ .code = XKB_KEY_Sacute , .name = "Sacute" },
{ .code = XKB_KEY_Scaron , .name = "Scaron" },
{ .code = XKB_KEY_Scedilla , .name = "Scedilla" },
{ .code = XKB_KEY_Tcaron , .name = "Tcaron" },
{ .code = XKB_KEY_Zacute , .name = "Zacute" },
{ .code = XKB_KEY_Zcaron , .name = "Zcaron" },
{ .code = XKB_KEY_Zabovedot , .name = "Zabovedot" },
{ .code = XKB_KEY_aogonek , .name = "aogonek" },
{ .code = XKB_KEY_ogonek , .name = "ogonek" },
{ .code = XKB_KEY_lstroke , .name = "lstroke" },
{ .code = XKB_KEY_lcaron , .name = "lcaron" },
{ .code = XKB_KEY_sacute , .name = "sacute" },
{ .code = XKB_KEY_caron , .name = "caron" },
{ .code = XKB_KEY_scaron , .name = "scaron" },
{ .code = XKB_KEY_scedilla , .name = "scedilla" },
{ .code = XKB_KEY_tcaron , .name = "tcaron" },
{ .code = XKB_KEY_zacute , .name = "zacute" },
{ .code = XKB_KEY_doubleacute , .name = "doubleacute" },
{ .code = XKB_KEY_zcaron , .name = "zcaron" },
{ .code = XKB_KEY_zabovedot , .name = "zabovedot" },
{ .code = XKB_KEY_Racute , .name = "Racute" },
{ .code = XKB_KEY_Abreve , .name = "Abreve" },
{ .code = XKB_KEY_Lacute , .name = "Lacute" },
{ .code = XKB_KEY_Cacute , .name = "Cacute" },
{ .code = XKB_KEY_Ccaron , .name = "Ccaron" },
{ .code = XKB_KEY_Eogonek , .name = "Eogonek" },
{ .code = XKB_KEY_Ecaron , .name = "Ecaron" },
{ .code = XKB_KEY_Dcaron , .name = "Dcaron" },
{ .code = XKB_KEY_Dstroke , .name = "Dstroke" },
{ .code = XKB_KEY_Nacute , .name = "Nacute" },
{ .code = XKB_KEY_Ncaron , .name = "Ncaron" },
{ .code = XKB_KEY_Odoubleacute , .name = "Odoubleacute" },
{ .code = XKB_KEY_Rcaron , .name = "Rcaron" },
{ .code = XKB_KEY_Uring , .name = "Uring" },
{ .code = XKB_KEY_Udoubleacute , .name = "Udoubleacute" },
{ .code = XKB_KEY_Tcedilla , .name = "Tcedilla" },
{ .code = XKB_KEY_racute , .name = "racute" },
{ .code = XKB_KEY_abreve , .name = "abreve" },
{ .code = XKB_KEY_lacute , .name = "lacute" },
{ .code = XKB_KEY_cacute , .name = "cacute" },
{ .code = XKB_KEY_ccaron , .name = "ccaron" },
{ .code = XKB_KEY_eogonek , .name = "eogonek" },
{ .code = XKB_KEY_ecaron , .name = "ecaron" },
{ .code = XKB_KEY_dcaron , .name = "dcaron" },
{ .code = XKB_KEY_dstroke , .name = "dstroke" },
{ .code = XKB_KEY_nacute , .name = "nacute" },
{ .code = XKB_KEY_ncaron , .name = "ncaron" },
{ .code = XKB_KEY_odoubleacute , .name = "odoubleacute" },
{ .code = XKB_KEY_rcaron , .name = "rcaron" },
{ .code = XKB_KEY_uring , .name = "uring" },
{ .code = XKB_KEY_udoubleacute , .name = "udoubleacute" },
{ .code = XKB_KEY_tcedilla , .name = "tcedilla" },
{ .code = XKB_KEY_abovedot , .name = "abovedot" },
{ .code = XKB_KEY_Hstroke , .name = "Hstroke" },
{ .code = XKB_KEY_Hcircumflex , .name = "Hcircumflex" },
{ .code = XKB_KEY_Iabovedot , .name = "Iabovedot" },
{ .code = XKB_KEY_Gbreve , .name = "Gbreve" },
{ .code = XKB_KEY_Jcircumflex , .name = "Jcircumflex" },
{ .code = XKB_KEY_hstroke , .name = "hstroke" },
{ .code = XKB_KEY_hcircumflex , .name = "hcircumflex" },
{ .code = XKB_KEY_idotless , .name = "idotless" },
{ .code = XKB_KEY_gbreve , .name = "gbreve" },
{ .code = XKB_KEY_jcircumflex , .name = "jcircumflex" },
{ .code = XKB_KEY_Cabovedot , .name = "Cabovedot" },
{ .code = XKB_KEY_Ccircumflex , .name = "Ccircumflex" },
{ .code = XKB_KEY_Gabovedot , .name = "Gabovedot" },
{ .code = XKB_KEY_Gcircumflex , .name = "Gcircumflex" },
{ .code = XKB_KEY_Ubreve , .name = "Ubreve" },
{ .code = XKB_KEY_Scircumflex , .name = "Scircumflex" },
{ .code = XKB_KEY_cabovedot , .name = "cabovedot" },
{ .code = XKB_KEY_ccircumflex , .name = "ccircumflex" },
{ .code = XKB_KEY_gabovedot , .name = "gabovedot" },
{ .code = XKB_KEY_gcircumflex , .name = "gcircumflex" },
{ .code = XKB_KEY_ubreve , .name = "ubreve" },
{ .code = XKB_KEY_scircumflex , .name = "scircumflex" },
{ .code = XKB_KEY_kra , .name = "kra" },
{ .code = XKB_KEY_kappa , .name = "kappa" },
{ .code = XKB_KEY_Rcedilla , .name = "Rcedilla" },
{ .code = XKB_KEY_Itilde , .name = "Itilde" },
{ .code = XKB_KEY_Lcedilla , .name = "Lcedilla" },
{ .code = XKB_KEY_Emacron , .name = "Emacron" },
{ .code = XKB_KEY_Gcedilla , .name = "Gcedilla" },
{ .code = XKB_KEY_Tslash , .name = "Tslash" },
{ .code = XKB_KEY_rcedilla , .name = "rcedilla" },
{ .code = XKB_KEY_itilde , .name = "itilde" },
{ .code = XKB_KEY_lcedilla , .name = "lcedilla" },
{ .code = XKB_KEY_emacron , .name = "emacron" },
{ .code = XKB_KEY_gcedilla , .name = "gcedilla" },
{ .code = XKB_KEY_tslash , .name = "tslash" },
{ .code = XKB_KEY_ENG , .name = "ENG" },
{ .code = XKB_KEY_eng , .name = "eng" },
{ .code = XKB_KEY_Amacron , .name = "Amacron" },
{ .code = XKB_KEY_Iogonek , .name = "Iogonek" },
{ .code = XKB_KEY_Eabovedot , .name = "Eabovedot" },
{ .code = XKB_KEY_Imacron , .name = "Imacron" },
{ .code = XKB_KEY_Ncedilla , .name = "Ncedilla" },
{ .code = XKB_KEY_Omacron , .name = "Omacron" },
{ .code = XKB_KEY_Kcedilla , .name = "Kcedilla" },
{ .code = XKB_KEY_Uogonek , .name = "Uogonek" },
{ .code = XKB_KEY_Utilde , .name = "Utilde" },
{ .code = XKB_KEY_Umacron , .name = "Umacron" },
{ .code = XKB_KEY_amacron , .name = "amacron" },
{ .code = XKB_KEY_iogonek , .name = "iogonek" },
{ .code = XKB_KEY_eabovedot , .name = "eabovedot" },
{ .code = XKB_KEY_imacron , .name = "imacron" },
{ .code = XKB_KEY_ncedilla , .name = "ncedilla" },
{ .code = XKB_KEY_omacron , .name = "omacron" },
{ .code = XKB_KEY_kcedilla , .name = "kcedilla" },
{ .code = XKB_KEY_uogonek , .name = "uogonek" },
{ .code = XKB_KEY_utilde , .name = "utilde" },
{ .code = XKB_KEY_umacron , .name = "umacron" },
{ .code = XKB_KEY_Wcircumflex , .name = "Wcircumflex" },
{ .code = XKB_KEY_wcircumflex , .name = "wcircumflex" },
{ .code = XKB_KEY_Ycircumflex , .name = "Ycircumflex" },
{ .code = XKB_KEY_ycircumflex , .name = "ycircumflex" },
{ .code = XKB_KEY_Babovedot , .name = "Babovedot" },
{ .code = XKB_KEY_babovedot , .name = "babovedot" },
{ .code = XKB_KEY_Dabovedot , .name = "Dabovedot" },
{ .code = XKB_KEY_dabovedot , .name = "dabovedot" },
{ .code = XKB_KEY_Fabovedot , .name = "Fabovedot" },
{ .code = XKB_KEY_fabovedot , .name = "fabovedot" },
{ .code = XKB_KEY_Mabovedot , .name = "Mabovedot" },
{ .code = XKB_KEY_mabovedot , .name = "mabovedot" },
{ .code = XKB_KEY_Pabovedot , .name = "Pabovedot" },
{ .code = XKB_KEY_pabovedot , .name = "pabovedot" },
{ .code = XKB_KEY_Sabovedot , .name = "Sabovedot" },
{ .code = XKB_KEY_sabovedot , .name = "sabovedot" },
{ .code = XKB_KEY_Tabovedot , .name = "Tabovedot" },
{ .code = XKB_KEY_tabovedot , .name = "tabovedot" },
{ .code = XKB_KEY_Wgrave , .name = "Wgrave" },
{ .code = XKB_KEY_wgrave , .name = "wgrave" },
{ .code = XKB_KEY_Wacute , .name = "Wacute" },
{ .code = XKB_KEY_wacute , .name = "wacute" },
{ .code = XKB_KEY_Wdiaeresis , .name = "Wdiaeresis" },
{ .code = XKB_KEY_wdiaeresis , .name = "wdiaeresis" },
{ .code = XKB_KEY_Ygrave , .name = "Ygrave" },
{ .code = XKB_KEY_ygrave , .name = "ygrave" },
{ .code = XKB_KEY_OE , .name = "OE" },
{ .code = XKB_KEY_oe , .name = "oe" },
{ .code = XKB_KEY_Ydiaeresis , .name = "Ydiaeresis" },
{ .code = XKB_KEY_overline , .name = "overline" },
{ .code = XKB_KEY_kana_fullstop , .name = "kana_fullstop" },
{ .code = XKB_KEY_kana_openingbracket, .name = "kana_openingbracket" },
{ .code = XKB_KEY_kana_closingbracket, .name = "kana_closingbracket" },
{ .code = XKB_KEY_kana_comma , .name = "kana_comma" },
{ .code = XKB_KEY_kana_conjunctive, .name = "kana_conjunctive" },
{ .code = XKB_KEY_kana_middledot , .name = "kana_middledot" },
{ .code = XKB_KEY_kana_WO , .name = "kana_WO" },
{ .code = XKB_KEY_kana_a , .name = "kana_a" },
{ .code = XKB_KEY_kana_i , .name = "kana_i" },
{ .code = XKB_KEY_kana_u , .name = "kana_u" },
{ .code = XKB_KEY_kana_e , .name = "kana_e" },
{ .code = XKB_KEY_kana_o , .name = "kana_o" },
{ .code = XKB_KEY_kana_ya , .name = "kana_ya" },
{ .code = XKB_KEY_kana_yu , .name = "kana_yu" },
{ .code = XKB_KEY_kana_yo , .name = "kana_yo" },
{ .code = XKB_KEY_kana_tsu , .name = "kana_tsu" },
{ .code = XKB_KEY_kana_tu , .name = "kana_tu" },
{ .code = XKB_KEY_prolongedsound , .name = "prolongedsound" },
{ .code = XKB_KEY_kana_A , .name = "kana_A" },
{ .code = XKB_KEY_kana_I , .name = "kana_I" },
{ .code = XKB_KEY_kana_U , .name = "kana_U" },
{ .code = XKB_KEY_kana_E , .name = "kana_E" },
{ .code = XKB_KEY_kana_O , .name = "kana_O" },
{ .code = XKB_KEY_kana_KA , .name = "kana_KA" },
{ .code = XKB_KEY_kana_KI , .name = "kana_KI" },
{ .code = XKB_KEY_kana_KU , .name = "kana_KU" },
{ .code = XKB_KEY_kana_KE , .name = "kana_KE" },
{ .code = XKB_KEY_kana_KO , .name = "kana_KO" },
{ .code = XKB_KEY_kana_SA , .name = "kana_SA" },
{ .code = XKB_KEY_kana_SHI , .name = "kana_SHI" },
{ .code = XKB_KEY_kana_SU , .name = "kana_SU" },
{ .code = XKB_KEY_kana_SE , .name = "kana_SE" },
{ .code = XKB_KEY_kana_SO , .name = "kana_SO" },
{ .code = XKB_KEY_kana_TA , .name = "kana_TA" },
{ .code = XKB_KEY_kana_CHI , .name = "kana_CHI" },
{ .code = XKB_KEY_kana_TI , .name = "kana_TI" },
{ .code = XKB_KEY_kana_TSU , .name = "kana_TSU" },
{ .code = XKB_KEY_kana_TU , .name = "kana_TU" },
{ .code = XKB_KEY_kana_TE , .name = "kana_TE" },
{ .code = XKB_KEY_kana_TO , .name = "kana_TO" },
{ .code = XKB_KEY_kana_NA , .name = "kana_NA" },
{ .code = XKB_KEY_kana_NI , .name = "kana_NI" },
{ .code = XKB_KEY_kana_NU , .name = "kana_NU" },
{ .code = XKB_KEY_kana_NE , .name = "kana_NE" },
{ .code = XKB_KEY_kana_NO , .name = "kana_NO" },
{ .code = XKB_KEY_kana_HA , .name = "kana_HA" },
{ .code = XKB_KEY_kana_HI , .name = "kana_HI" },
{ .code = XKB_KEY_kana_FU , .name = "kana_FU" },
{ .code = XKB_KEY_kana_HU , .name = "kana_HU" },
{ .code = XKB_KEY_kana_HE , .name = "kana_HE" },
{ .code = XKB_KEY_kana_HO , .name = "kana_HO" },
{ .code = XKB_KEY_kana_MA , .name = "kana_MA" },
{ .code = XKB_KEY_kana_MI , .name = "kana_MI" },
{ .code = XKB_KEY_kana_MU , .name = "kana_MU" },
{ .code = XKB_KEY_kana_ME , .name = "kana_ME" },
{ .code = XKB_KEY_kana_MO , .name = "kana_MO" },
{ .code = XKB_KEY_kana_YA , .name = "kana_YA" },
{ .code = XKB_KEY_kana_YU , .name = "kana_YU" },
{ .code = XKB_KEY_kana_YO , .name = "kana_YO" },
{ .code = XKB_KEY_kana_RA , .name = "kana_RA" },
{ .code = XKB_KEY_kana_RI , .name = "kana_RI" },
{ .code = XKB_KEY_kana_RU , .name = "kana_RU" },
{ .code = XKB_KEY_kana_RE , .name = "kana_RE" },
{ .code = XKB_KEY_kana_RO , .name = "kana_RO" },
{ .code = XKB_KEY_kana_WA , .name = "kana_WA" },
{ .code = XKB_KEY_kana_N , .name = "kana_N" },
{ .code = XKB_KEY_voicedsound , .name = "voicedsound" },
{ .code = XKB_KEY_semivoicedsound , .name = "semivoicedsound" },
{ .code = XKB_KEY_kana_switch , .name = "kana_switch" },
{ .code = XKB_KEY_Farsi_0 , .name = "Farsi_0" },
{ .code = XKB_KEY_Farsi_1 , .name = "Farsi_1" },
{ .code = XKB_KEY_Farsi_2 , .name = "Farsi_2" },
{ .code = XKB_KEY_Farsi_3 , .name = "Farsi_3" },
{ .code = XKB_KEY_Farsi_4 , .name = "Farsi_4" },
{ .code = XKB_KEY_Farsi_5 , .name = "Farsi_5" },
{ .code = XKB_KEY_Farsi_6 , .name = "Farsi_6" },
{ .code = XKB_KEY_Farsi_7 , .name = "Farsi_7" },
{ .code = XKB_KEY_Farsi_8 , .name = "Farsi_8" },
{ .code = XKB_KEY_Farsi_9 , .name = "Farsi_9" },
{ .code = XKB_KEY_Arabic_percent , .name = "Arabic_percent" },
{ .code = XKB_KEY_Arabic_superscript_alef, .name = "Arabic_superscript_alef" },
{ .code = XKB_KEY_Arabic_tteh , .name = "Arabic_tteh" },
{ .code = XKB_KEY_Arabic_peh , .name = "Arabic_peh" },
{ .code = XKB_KEY_Arabic_tcheh , .name = "Arabic_tcheh" },
{ .code = XKB_KEY_Arabic_ddal , .name = "Arabic_ddal" },
{ .code = XKB_KEY_Arabic_rreh , .name = "Arabic_rreh" },
{ .code = XKB_KEY_Arabic_comma , .name = "Arabic_comma" },
{ .code = XKB_KEY_Arabic_fullstop , .name = "Arabic_fullstop" },
{ .code = XKB_KEY_Arabic_0 , .name = "Arabic_0" },
{ .code = XKB_KEY_Arabic_1 , .name = "Arabic_1" },
{ .code = XKB_KEY_Arabic_2 , .name = "Arabic_2" },
{ .code = XKB_KEY_Arabic_3 , .name = "Arabic_3" },
{ .code = XKB_KEY_Arabic_4 , .name = "Arabic_4" },
{ .code = XKB_KEY_Arabic_5 , .name = "Arabic_5" },
{ .code = XKB_KEY_Arabic_6 , .name = "Arabic_6" },
{ .code = XKB_KEY_Arabic_7 , .name = "Arabic_7" },
{ .code = XKB_KEY_Arabic_8 , .name = "Arabic_8" },
{ .code = XKB_KEY_Arabic_9 , .name = "Arabic_9" },
{ .code = XKB_KEY_Arabic_semicolon, .name = "Arabic_semicolon" },
{ .code = XKB_KEY_Arabic_question_mark, .name = "Arabic_question_mark" },
{ .code = XKB_KEY_Arabic_hamza , .name = "Arabic_hamza" },
{ .code = XKB_KEY_Arabic_maddaonalef, .name = "Arabic_maddaonalef" },
{ .code = XKB_KEY_Arabic_hamzaonalef, .name = "Arabic_hamzaonalef" },
{ .code = XKB_KEY_Arabic_hamzaonwaw, .name = "Arabic_hamzaonwaw" },
{ .code = XKB_KEY_Arabic_hamzaunderalef, .name = "Arabic_hamzaunderalef" },
{ .code = XKB_KEY_Arabic_hamzaonyeh, .name = "Arabic_hamzaonyeh" },
{ .code = XKB_KEY_Arabic_alef , .name = "Arabic_alef" },
{ .code = XKB_KEY_Arabic_beh , .name = "Arabic_beh" },
{ .code = XKB_KEY_Arabic_tehmarbuta, .name = "Arabic_tehmarbuta" },
{ .code = XKB_KEY_Arabic_teh , .name = "Arabic_teh" },
{ .code = XKB_KEY_Arabic_theh , .name = "Arabic_theh" },
{ .code = XKB_KEY_Arabic_jeem , .name = "Arabic_jeem" },
{ .code = XKB_KEY_Arabic_hah , .name = "Arabic_hah" },
{ .code = XKB_KEY_Arabic_khah , .name = "Arabic_khah" },
{ .code = XKB_KEY_Arabic_dal , .name = "Arabic_dal" },
{ .code = XKB_KEY_Arabic_thal , .name = "Arabic_thal" },
{ .code = XKB_KEY_Arabic_ra , .name = "Arabic_ra" },
{ .code = XKB_KEY_Arabic_zain , .name = "Arabic_zain" },
{ .code = XKB_KEY_Arabic_seen , .name = "Arabic_seen" },
{ .code = XKB_KEY_Arabic_sheen , .name = "Arabic_sheen" },
{ .code = XKB_KEY_Arabic_sad , .name = "Arabic_sad" },
{ .code = XKB_KEY_Arabic_dad , .name = "Arabic_dad" },
{ .code = XKB_KEY_Arabic_tah , .name = "Arabic_tah" },
{ .code = XKB_KEY_Arabic_zah , .name = "Arabic_zah" },
{ .code = XKB_KEY_Arabic_ain , .name = "Arabic_ain" },
{ .code = XKB_KEY_Arabic_ghain , .name = "Arabic_ghain" },
{ .code = XKB_KEY_Arabic_tatweel , .name = "Arabic_tatweel" },
{ .code = XKB_KEY_Arabic_feh , .name = "Arabic_feh" },
{ .code = XKB_KEY_Arabic_qaf , .name = "Arabic_qaf" },
{ .code = XKB_KEY_Arabic_kaf , .name = "Arabic_kaf" },
{ .code = XKB_KEY_Arabic_lam , .name = "Arabic_lam" },
{ .code = XKB_KEY_Arabic_meem , .name = "Arabic_meem" },
{ .code = XKB_KEY_Arabic_noon , .name = "Arabic_noon" },
{ .code = XKB_KEY_Arabic_ha , .name = "Arabic_ha" },
{ .code = XKB_KEY_Arabic_heh , .name = "Arabic_heh" },
{ .code = XKB_KEY_Arabic_waw , .name = "Arabic_waw" },
{ .code = XKB_KEY_Arabic_alefmaksura, .name = "Arabic_alefmaksura" },
{ .code = XKB_KEY_Arabic_yeh , .name = "Arabic_yeh" },
{ .code = XKB_KEY_Arabic_fathatan , .name = "Arabic_fathatan" },
{ .code = XKB_KEY_Arabic_dammatan , .name = "Arabic_dammatan" },
{ .code = XKB_KEY_Arabic_kasratan , .name = "Arabic_kasratan" },
{ .code = XKB_KEY_Arabic_fatha , .name = "Arabic_fatha" },
{ .code = XKB_KEY_Arabic_damma , .name = "Arabic_damma" },
{ .code = XKB_KEY_Arabic_kasra , .name = "Arabic_kasra" },
{ .code = XKB_KEY_Arabic_shadda , .name = "Arabic_shadda" },
{ .code = XKB_KEY_Arabic_sukun , .name = "Arabic_sukun" },
{ .code = XKB_KEY_Arabic_madda_above, .name = "Arabic_madda_above" },
{ .code = XKB_KEY_Arabic_hamza_above, .name = "Arabic_hamza_above" },
{ .code = XKB_KEY_Arabic_hamza_below, .name = "Arabic_hamza_below" },
{ .code = XKB_KEY_Arabic_jeh , .name = "Arabic_jeh" },
{ .code = XKB_KEY_Arabic_veh , .name = "Arabic_veh" },
{ .code = XKB_KEY_Arabic_keheh , .name = "Arabic_keheh" },
{ .code = XKB_KEY_Arabic_gaf , .name = "Arabic_gaf" },
{ .code = XKB_KEY_Arabic_noon_ghunna, .name = "Arabic_noon_ghunna" },
{ .code = XKB_KEY_Arabic_heh_doachashmee, .name = "Arabic_heh_doachashmee" },
{ .code = XKB_KEY_Farsi_yeh , .name = "Farsi_yeh" },
{ .code = XKB_KEY_Arabic_farsi_yeh, .name = "Arabic_farsi_yeh" },
{ .code = XKB_KEY_Arabic_yeh_baree, .name = "Arabic_yeh_baree" },
{ .code = XKB_KEY_Arabic_heh_goal , .name = "Arabic_heh_goal" },
{ .code = XKB_KEY_Arabic_switch , .name = "Arabic_switch" },
{ .code = XKB_KEY_Cyrillic_GHE_bar, .name = "Cyrillic_GHE_bar" },
{ .code = XKB_KEY_Cyrillic_ghe_bar, .name = "Cyrillic_ghe_bar" },
{ .code = XKB_KEY_Cyrillic_ZHE_descender, .name = "Cyrillic_ZHE_descender" },
{ .code = XKB_KEY_Cyrillic_zhe_descender, .name = "Cyrillic_zhe_descender" },
{ .code = XKB_KEY_Cyrillic_KA_descender, .name = "Cyrillic_KA_descender" },
{ .code = XKB_KEY_Cyrillic_ka_descender, .name = "Cyrillic_ka_descender" },
{ .code = XKB_KEY_Cyrillic_KA_vertstroke, .name = "Cyrillic_KA_vertstroke" },
{ .code = XKB_KEY_Cyrillic_ka_vertstroke, .name = "Cyrillic_ka_vertstroke" },
{ .code = XKB_KEY_Cyrillic_EN_descender, .name = "Cyrillic_EN_descender" },
{ .code = XKB_KEY_Cyrillic_en_descender, .name = "Cyrillic_en_descender" },
{ .code = XKB_KEY_Cyrillic_U_straight, .name = "Cyrillic_U_straight" },
{ .code = XKB_KEY_Cyrillic_u_straight, .name = "Cyrillic_u_straight" },
{ .code = XKB_KEY_Cyrillic_U_straight_bar, .name = "Cyrillic_U_straight_bar" },
{ .code = XKB_KEY_Cyrillic_u_straight_bar, .name = "Cyrillic_u_straight_bar" },
{ .code = XKB_KEY_Cyrillic_HA_descender, .name = "Cyrillic_HA_descender" },
{ .code = XKB_KEY_Cyrillic_ha_descender, .name = "Cyrillic_ha_descender" },
{ .code = XKB_KEY_Cyrillic_CHE_descender, .name = "Cyrillic_CHE_descender" },
{ .code = XKB_KEY_Cyrillic_che_descender, .name = "Cyrillic_che_descender" },
{ .code = XKB_KEY_Cyrillic_CHE_vertstroke, .name = "Cyrillic_CHE_vertstroke" },
{ .code = XKB_KEY_Cyrillic_che_vertstroke, .name = "Cyrillic_che_vertstroke" },
{ .code = XKB_KEY_Cyrillic_SHHA , .name = "Cyrillic_SHHA" },
{ .code = XKB_KEY_Cyrillic_shha , .name = "Cyrillic_shha" },
{ .code = XKB_KEY_Cyrillic_SCHWA , .name = "Cyrillic_SCHWA" },
{ .code = XKB_KEY_Cyrillic_schwa , .name = "Cyrillic_schwa" },
{ .code = XKB_KEY_Cyrillic_I_macron, .name = "Cyrillic_I_macron" },
{ .code = XKB_KEY_Cyrillic_i_macron, .name = "Cyrillic_i_macron" },
{ .code = XKB_KEY_Cyrillic_O_bar , .name = "Cyrillic_O_bar" },
{ .code = XKB_KEY_Cyrillic_o_bar , .name = "Cyrillic_o_bar" },
{ .code = XKB_KEY_Cyrillic_U_macron, .name = "Cyrillic_U_macron" },
{ .code = XKB_KEY_Cyrillic_u_macron, .name = "Cyrillic_u_macron" },
{ .code = XKB_KEY_Serbian_dje , .name = "Serbian_dje" },
{ .code = XKB_KEY_Macedonia_gje , .name = "Macedonia_gje" },
{ .code = XKB_KEY_Cyrillic_io , .name = "Cyrillic_io" },
{ .code = XKB_KEY_Ukrainian_ie , .name = "Ukrainian_ie" },
{ .code = XKB_KEY_Ukranian_je , .name = "Ukranian_je" },
{ .code = XKB_KEY_Macedonia_dse , .name = "Macedonia_dse" },
{ .code = XKB_KEY_Ukrainian_i , .name = "Ukrainian_i" },
{ .code = XKB_KEY_Ukranian_i , .name = "Ukranian_i" },
{ .code = XKB_KEY_Ukrainian_yi , .name = "Ukrainian_yi" },
{ .code = XKB_KEY_Ukranian_yi , .name = "Ukranian_yi" },
{ .code = XKB_KEY_Cyrillic_je , .name = "Cyrillic_je" },
{ .code = XKB_KEY_Serbian_je , .name = "Serbian_je" },
{ .code = XKB_KEY_Cyrillic_lje , .name = "Cyrillic_lje" },
{ .code = XKB_KEY_Serbian_lje , .name = "Serbian_lje" },
{ .code = XKB_KEY_Cyrillic_nje , .name = "Cyrillic_nje" },
{ .code = XKB_KEY_Serbian_nje , .name = "Serbian_nje" },
{ .code = XKB_KEY_Serbian_tshe , .name = "Serbian_tshe" },
{ .code = XKB_KEY_Macedonia_kje , .name = "Macedonia_kje" },
{ .code = XKB_KEY_Ukrainian_ghe_with_upturn, .name = "Ukrainian_ghe_with_upturn" },
{ .code = XKB_KEY_Byelorussian_shortu, .name = "Byelorussian_shortu" },
{ .code = XKB_KEY_Cyrillic_dzhe , .name = "Cyrillic_dzhe" },
{ .code = XKB_KEY_Serbian_dze , .name = "Serbian_dze" },
{ .code = XKB_KEY_numerosign , .name = "numerosign" },
{ .code = XKB_KEY_Serbian_DJE , .name = "Serbian_DJE" },
{ .code = XKB_KEY_Macedonia_GJE , .name = "Macedonia_GJE" },
{ .code = XKB_KEY_Cyrillic_IO , .name = "Cyrillic_IO" },
{ .code = XKB_KEY_Ukrainian_IE , .name = "Ukrainian_IE" },
{ .code = XKB_KEY_Ukranian_JE , .name = "Ukranian_JE" },
{ .code = XKB_KEY_Macedonia_DSE , .name = "Macedonia_DSE" },
{ .code = XKB_KEY_Ukrainian_I , .name = "Ukrainian_I" },
{ .code = XKB_KEY_Ukranian_I , .name = "Ukranian_I" },
{ .code = XKB_KEY_Ukrainian_YI , .name = "Ukrainian_YI" },
{ .code = XKB_KEY_Ukranian_YI , .name = "Ukranian_YI" },
{ .code = XKB_KEY_Cyrillic_JE , .name = "Cyrillic_JE" },
{ .code = XKB_KEY_Serbian_JE , .name = "Serbian_JE" },
{ .code = XKB_KEY_Cyrillic_LJE , .name = "Cyrillic_LJE" },
{ .code = XKB_KEY_Serbian_LJE , .name = "Serbian_LJE" },
{ .code = XKB_KEY_Cyrillic_NJE , .name = "Cyrillic_NJE" },
{ .code = XKB_KEY_Serbian_NJE , .name = "Serbian_NJE" },
{ .code = XKB_KEY_Serbian_TSHE , .name = "Serbian_TSHE" },
{ .code = XKB_KEY_Macedonia_KJE , .name = "Macedonia_KJE" },
{ .code = XKB_KEY_Ukrainian_GHE_WITH_UPTURN, .name = "Ukrainian_GHE_WITH_UPTURN" },
{ .code = XKB_KEY_Byelorussian_SHORTU, .name = "Byelorussian_SHORTU" },
{ .code = XKB_KEY_Cyrillic_DZHE , .name = "Cyrillic_DZHE" },
{ .code = XKB_KEY_Serbian_DZE , .name = "Serbian_DZE" },
{ .code = XKB_KEY_Cyrillic_yu , .name = "Cyrillic_yu" },
{ .code = XKB_KEY_Cyrillic_a , .name = "Cyrillic_a" },
{ .code = XKB_KEY_Cyrillic_be , .name = "Cyrillic_be" },
{ .code = XKB_KEY_Cyrillic_tse , .name = "Cyrillic_tse" },
{ .code = XKB_KEY_Cyrillic_de , .name = "Cyrillic_de" },
{ .code = XKB_KEY_Cyrillic_ie , .name = "Cyrillic_ie" },
{ .code = XKB_KEY_Cyrillic_ef , .name = "Cyrillic_ef" },
{ .code = XKB_KEY_Cyrillic_ghe , .name = "Cyrillic_ghe" },
{ .code = XKB_KEY_Cyrillic_ha , .name = "Cyrillic_ha" },
{ .code = XKB_KEY_Cyrillic_i , .name = "Cyrillic_i" },
{ .code = XKB_KEY_Cyrillic_shorti , .name = "Cyrillic_shorti" },
{ .code = XKB_KEY_Cyrillic_ka , .name = "Cyrillic_ka" },
{ .code = XKB_KEY_Cyrillic_el , .name = "Cyrillic_el" },
{ .code = XKB_KEY_Cyrillic_em , .name = "Cyrillic_em" },
{ .code = XKB_KEY_Cyrillic_en , .name = "Cyrillic_en" },
{ .code = XKB_KEY_Cyrillic_o , .name = "Cyrillic_o" },
{ .code = XKB_KEY_Cyrillic_pe , .name = "Cyrillic_pe" },
{ .code = XKB_KEY_Cyrillic_ya , .name = "Cyrillic_ya" },
{ .code = XKB_KEY_Cyrillic_er , .name = "Cyrillic_er" },
{ .code = XKB_KEY_Cyrillic_es , .name = "Cyrillic_es" },
{ .code = XKB_KEY_Cyrillic_te , .name = "Cyrillic_te" },
{ .code = XKB_KEY_Cyrillic_u , .name = "Cyrillic_u" },
{ .code = XKB_KEY_Cyrillic_zhe , .name = "Cyrillic_zhe" },
{ .code = XKB_KEY_Cyrillic_ve , .name = "Cyrillic_ve" },
{ .code = XKB_KEY_Cyrillic_softsign, .name = "Cyrillic_softsign" },
{ .code = XKB_KEY_Cyrillic_yeru , .name = "Cyrillic_yeru" },
{ .code = XKB_KEY_Cyrillic_ze , .name = "Cyrillic_ze" },
{ .code = XKB_KEY_Cyrillic_sha , .name = "Cyrillic_sha" },
{ .code = XKB_KEY_Cyrillic_e , .name = "Cyrillic_e" },
{ .code = XKB_KEY_Cyrillic_shcha , .name = "Cyrillic_shcha" },
{ .code = XKB_KEY_Cyrillic_che , .name = "Cyrillic_che" },
{ .code = XKB_KEY_Cyrillic_hardsign, .name = "Cyrillic_hardsign" },
{ .code = XKB_KEY_Cyrillic_YU , .name = "Cyrillic_YU" },
{ .code = XKB_KEY_Cyrillic_A , .name = "Cyrillic_A" },
{ .code = XKB_KEY_Cyrillic_BE , .name = "Cyrillic_BE" },
{ .code = XKB_KEY_Cyrillic_TSE , .name = "Cyrillic_TSE" },
{ .code = XKB_KEY_Cyrillic_DE , .name = "Cyrillic_DE" },
{ .code = XKB_KEY_Cyrillic_IE , .name = "Cyrillic_IE" },
{ .code = XKB_KEY_Cyrillic_EF , .name = "Cyrillic_EF" },
{ .code = XKB_KEY_Cyrillic_GHE , .name = "Cyrillic_GHE" },
{ .code = XKB_KEY_Cyrillic_HA , .name = "Cyrillic_HA" },
{ .code = XKB_KEY_Cyrillic_I , .name = "Cyrillic_I" },
{ .code = XKB_KEY_Cyrillic_SHORTI , .name = "Cyrillic_SHORTI" },
{ .code = XKB_KEY_Cyrillic_KA , .name = "Cyrillic_KA" },
{ .code = XKB_KEY_Cyrillic_EL , .name = "Cyrillic_EL" },
{ .code = XKB_KEY_Cyrillic_EM , .name = "Cyrillic_EM" },
{ .code = XKB_KEY_Cyrillic_EN , .name = "Cyrillic_EN" },
{ .code = XKB_KEY_Cyrillic_O , .name = "Cyrillic_O" },
{ .code = XKB_KEY_Cyrillic_PE , .name = "Cyrillic_PE" },
{ .code = XKB_KEY_Cyrillic_YA , .name = "Cyrillic_YA" },
{ .code = XKB_KEY_Cyrillic_ER , .name = "Cyrillic_ER" },
{ .code = XKB_KEY_Cyrillic_ES , .name = "Cyrillic_ES" },
{ .code = XKB_KEY_Cyrillic_TE , .name = "Cyrillic_TE" },
{ .code = XKB_KEY_Cyrillic_U , .name = "Cyrillic_U" },
{ .code = XKB_KEY_Cyrillic_ZHE , .name = "Cyrillic_ZHE" },
{ .code = XKB_KEY_Cyrillic_VE , .name = "Cyrillic_VE" },
{ .code = XKB_KEY_Cyrillic_SOFTSIGN, .name = "Cyrillic_SOFTSIGN" },
{ .code = XKB_KEY_Cyrillic_YERU , .name = "Cyrillic_YERU" },
{ .code = XKB_KEY_Cyrillic_ZE , .name = "Cyrillic_ZE" },
{ .code = XKB_KEY_Cyrillic_SHA , .name = "Cyrillic_SHA" },
{ .code = XKB_KEY_Cyrillic_E , .name = "Cyrillic_E" },
{ .code = XKB_KEY_Cyrillic_SHCHA , .name = "Cyrillic_SHCHA" },
{ .code = XKB_KEY_Cyrillic_CHE , .name = "Cyrillic_CHE" },
{ .code = XKB_KEY_Cyrillic_HARDSIGN, .name = "Cyrillic_HARDSIGN" },
{ .code = XKB_KEY_Greek_ALPHAaccent, .name = "Greek_ALPHAaccent" },
{ .code = XKB_KEY_Greek_EPSILONaccent, .name = "Greek_EPSILONaccent" },
{ .code = XKB_KEY_Greek_ETAaccent , .name = "Greek_ETAaccent" },
{ .code = XKB_KEY_Greek_IOTAaccent, .name = "Greek_IOTAaccent" },
{ .code = XKB_KEY_Greek_IOTAdieresis, .name = "Greek_IOTAdieresis" },
{ .code = XKB_KEY_Greek_IOTAdiaeresis, .name = "Greek_IOTAdiaeresis" },
{ .code = XKB_KEY_Greek_OMICRONaccent, .name = "Greek_OMICRONaccent" },
{ .code = XKB_KEY_Greek_UPSILONaccent, .name = "Greek_UPSILONaccent" },
{ .code = XKB_KEY_Greek_UPSILONdieresis, .name = "Greek_UPSILONdieresis" },
{ .code = XKB_KEY_Greek_OMEGAaccent, .name = "Greek_OMEGAaccent" },
{ .code = XKB_KEY_Greek_accentdieresis, .name = "Greek_accentdieresis" },
{ .code = XKB_KEY_Greek_horizbar , .name = "Greek_horizbar" },