8f80fcc1031d18fd23191d80a1cb73dd17648293
[platform/upstream/libxkbcommon.git] / test / data / keymaps / stringcomp.data
1 xkb_keymap {
2 xkb_keycodes "evdev_aliases(qwerty)" {
3         minimum = 8;
4         maximum = 255;
5         <ESC>                = 9;
6         <AE01>               = 10;
7         <AE02>               = 11;
8         <AE03>               = 12;
9         <AE04>               = 13;
10         <AE05>               = 14;
11         <AE06>               = 15;
12         <AE07>               = 16;
13         <AE08>               = 17;
14         <AE09>               = 18;
15         <AE10>               = 19;
16         <AE11>               = 20;
17         <AE12>               = 21;
18         <BKSP>               = 22;
19         <TAB>                = 23;
20         <AD01>               = 24;
21         <AD02>               = 25;
22         <AD03>               = 26;
23         <AD04>               = 27;
24         <AD05>               = 28;
25         <AD06>               = 29;
26         <AD07>               = 30;
27         <AD08>               = 31;
28         <AD09>               = 32;
29         <AD10>               = 33;
30         <AD11>               = 34;
31         <AD12>               = 35;
32         <RTRN>               = 36;
33         <LCTL>               = 37;
34         <AC01>               = 38;
35         <AC02>               = 39;
36         <AC03>               = 40;
37         <AC04>               = 41;
38         <AC05>               = 42;
39         <AC06>               = 43;
40         <AC07>               = 44;
41         <AC08>               = 45;
42         <AC09>               = 46;
43         <AC10>               = 47;
44         <AC11>               = 48;
45         <TLDE>               = 49;
46         <LFSH>               = 50;
47         <BKSL>               = 51;
48         <AB01>               = 52;
49         <AB02>               = 53;
50         <AB03>               = 54;
51         <AB04>               = 55;
52         <AB05>               = 56;
53         <AB06>               = 57;
54         <AB07>               = 58;
55         <AB08>               = 59;
56         <AB09>               = 60;
57         <AB10>               = 61;
58         <RTSH>               = 62;
59         <KPMU>               = 63;
60         <LALT>               = 64;
61         <SPCE>               = 65;
62         <CAPS>               = 66;
63         <FK01>               = 67;
64         <FK02>               = 68;
65         <FK03>               = 69;
66         <FK04>               = 70;
67         <FK05>               = 71;
68         <FK06>               = 72;
69         <FK07>               = 73;
70         <FK08>               = 74;
71         <FK09>               = 75;
72         <FK10>               = 76;
73         <NMLK>               = 77;
74         <SCLK>               = 78;
75         <KP7>                = 79;
76         <KP8>                = 80;
77         <KP9>                = 81;
78         <KPSU>               = 82;
79         <KP4>                = 83;
80         <KP5>                = 84;
81         <KP6>                = 85;
82         <KPAD>               = 86;
83         <KP1>                = 87;
84         <KP2>                = 88;
85         <KP3>                = 89;
86         <KP0>                = 90;
87         <KPDL>               = 91;
88         <LVL3>               = 92;
89         <LSGT>               = 94;
90         <FK11>               = 95;
91         <FK12>               = 96;
92         <AB11>               = 97;
93         <KATA>               = 98;
94         <HIRA>               = 99;
95         <HENK>               = 100;
96         <HKTG>               = 101;
97         <MUHE>               = 102;
98         <JPCM>               = 103;
99         <KPEN>               = 104;
100         <RCTL>               = 105;
101         <KPDV>               = 106;
102         <PRSC>               = 107;
103         <RALT>               = 108;
104         <LNFD>               = 109;
105         <HOME>               = 110;
106         <UP>                 = 111;
107         <PGUP>               = 112;
108         <LEFT>               = 113;
109         <RGHT>               = 114;
110         <END>                = 115;
111         <DOWN>               = 116;
112         <PGDN>               = 117;
113         <INS>                = 118;
114         <DELE>               = 119;
115         <I120>               = 120;
116         <MUTE>               = 121;
117         <VOL->               = 122;
118         <VOL+>               = 123;
119         <POWR>               = 124;
120         <KPEQ>               = 125;
121         <I126>               = 126;
122         <PAUS>               = 127;
123         <I128>               = 128;
124         <I129>               = 129;
125         <HNGL>               = 130;
126         <HJCV>               = 131;
127         <AE13>               = 132;
128         <LWIN>               = 133;
129         <RWIN>               = 134;
130         <COMP>               = 135;
131         <STOP>               = 136;
132         <AGAI>               = 137;
133         <PROP>               = 138;
134         <UNDO>               = 139;
135         <FRNT>               = 140;
136         <COPY>               = 141;
137         <OPEN>               = 142;
138         <PAST>               = 143;
139         <FIND>               = 144;
140         <CUT>                = 145;
141         <HELP>               = 146;
142         <I147>               = 147;
143         <I148>               = 148;
144         <I149>               = 149;
145         <I150>               = 150;
146         <I151>               = 151;
147         <I152>               = 152;
148         <I153>               = 153;
149         <I154>               = 154;
150         <I155>               = 155;
151         <I156>               = 156;
152         <I157>               = 157;
153         <I158>               = 158;
154         <I159>               = 159;
155         <I160>               = 160;
156         <I161>               = 161;
157         <I162>               = 162;
158         <I163>               = 163;
159         <I164>               = 164;
160         <I165>               = 165;
161         <I166>               = 166;
162         <I167>               = 167;
163         <I168>               = 168;
164         <I169>               = 169;
165         <I170>               = 170;
166         <I171>               = 171;
167         <I172>               = 172;
168         <I173>               = 173;
169         <I174>               = 174;
170         <I175>               = 175;
171         <I176>               = 176;
172         <I177>               = 177;
173         <I178>               = 178;
174         <I179>               = 179;
175         <I180>               = 180;
176         <I181>               = 181;
177         <I182>               = 182;
178         <I183>               = 183;
179         <I184>               = 184;
180         <I185>               = 185;
181         <I186>               = 186;
182         <I187>               = 187;
183         <I188>               = 188;
184         <I189>               = 189;
185         <I190>               = 190;
186         <FK13>               = 191;
187         <FK14>               = 192;
188         <FK15>               = 193;
189         <FK16>               = 194;
190         <FK17>               = 195;
191         <FK18>               = 196;
192         <FK19>               = 197;
193         <FK20>               = 198;
194         <FK21>               = 199;
195         <FK22>               = 200;
196         <FK23>               = 201;
197         <FK24>               = 202;
198         <MDSW>               = 203;
199         <ALT>                = 204;
200         <META>               = 205;
201         <SUPR>               = 206;
202         <HYPR>               = 207;
203         <I208>               = 208;
204         <I209>               = 209;
205         <I210>               = 210;
206         <I211>               = 211;
207         <I212>               = 212;
208         <I213>               = 213;
209         <I214>               = 214;
210         <I215>               = 215;
211         <I216>               = 216;
212         <I217>               = 217;
213         <I218>               = 218;
214         <I219>               = 219;
215         <I220>               = 220;
216         <I221>               = 221;
217         <I222>               = 222;
218         <I223>               = 223;
219         <I224>               = 224;
220         <I225>               = 225;
221         <I226>               = 226;
222         <I227>               = 227;
223         <I228>               = 228;
224         <I229>               = 229;
225         <I230>               = 230;
226         <I231>               = 231;
227         <I232>               = 232;
228         <I233>               = 233;
229         <I234>               = 234;
230         <I235>               = 235;
231         <I236>               = 236;
232         <I237>               = 237;
233         <I238>               = 238;
234         <I239>               = 239;
235         <I240>               = 240;
236         <I241>               = 241;
237         <I242>               = 242;
238         <I243>               = 243;
239         <I244>               = 244;
240         <I245>               = 245;
241         <I246>               = 246;
242         <I247>               = 247;
243         <I248>               = 248;
244         <I249>               = 249;
245         <I250>               = 250;
246         <I251>               = 251;
247         <I252>               = 252;
248         <I253>               = 253;
249         indicator 1 = "Caps Lock";
250         indicator 2 = "Num Lock";
251         indicator 3 = "Scroll Lock";
252         indicator 4 = "Compose";
253         indicator 5 = "Kana";
254         indicator 6 = "Sleep";
255         indicator 7 = "Suspend";
256         indicator 8 = "Mute";
257         indicator 9 = "Misc";
258         indicator 10 = "Mail";
259         indicator 11 = "Charging";
260         indicator 12 = "Shift Lock";
261         indicator 13 = "Group 2";
262         indicator 14 = "Mouse Keys";
263         alias <AC12>         = <BKSL>;
264         alias <MENU>         = <COMP>;
265         alias <HZTG>         = <TLDE>;
266         alias <LMTA>         = <LWIN>;
267         alias <RMTA>         = <RWIN>;
268         alias <ALGR>         = <RALT>;
269         alias <KPPT>         = <I129>;
270         alias <LatQ>         = <AD01>;
271         alias <LatW>         = <AD02>;
272         alias <LatE>         = <AD03>;
273         alias <LatR>         = <AD04>;
274         alias <LatT>         = <AD05>;
275         alias <LatY>         = <AD06>;
276         alias <LatU>         = <AD07>;
277         alias <LatI>         = <AD08>;
278         alias <LatO>         = <AD09>;
279         alias <LatP>         = <AD10>;
280         alias <LatA>         = <AC01>;
281         alias <LatS>         = <AC02>;
282         alias <LatD>         = <AC03>;
283         alias <LatF>         = <AC04>;
284         alias <LatG>         = <AC05>;
285         alias <LatH>         = <AC06>;
286         alias <LatJ>         = <AC07>;
287         alias <LatK>         = <AC08>;
288         alias <LatL>         = <AC09>;
289         alias <LatZ>         = <AB01>;
290         alias <LatX>         = <AB02>;
291         alias <LatC>         = <AB03>;
292         alias <LatV>         = <AB04>;
293         alias <LatB>         = <AB05>;
294         alias <LatN>         = <AB06>;
295         alias <LatM>         = <AB07>;
296 };
297
298 xkb_types "complete" {
299         virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
300
301         type "ONE_LEVEL" {
302                 modifiers= none;
303                 level_name[Level1]= "Any";
304         };
305         type "TWO_LEVEL" {
306                 modifiers= Shift;
307                 map[Shift]= Level2;
308                 level_name[Level1]= "Base";
309                 level_name[Level2]= "Shift";
310         };
311         type "ALPHABETIC" {
312                 modifiers= Shift+Lock;
313                 map[Shift]= Level2;
314                 map[Lock]= Level2;
315                 level_name[Level1]= "Base";
316                 level_name[Level2]= "Caps";
317         };
318         type "SHIFT+ALT" {
319                 modifiers= Shift+Alt;
320                 map[Shift+Alt]= Level2;
321                 level_name[Level1]= "Base";
322                 level_name[Level2]= "Shift+Alt";
323         };
324         type "PC_CONTROL_LEVEL2" {
325                 modifiers= Control;
326                 map[Control]= Level2;
327                 level_name[Level1]= "Base";
328                 level_name[Level2]= "Control";
329         };
330         type "PC_LCONTROL_LEVEL2" {
331                 modifiers= LControl;
332                 map[LControl]= Level2;
333                 level_name[Level1]= "Base";
334                 level_name[Level2]= "LControl";
335         };
336         type "PC_RCONTROL_LEVEL2" {
337                 modifiers= RControl;
338                 map[RControl]= Level2;
339                 level_name[Level1]= "Base";
340                 level_name[Level2]= "RControl";
341         };
342         type "PC_ALT_LEVEL2" {
343                 modifiers= Alt;
344                 map[Alt]= Level2;
345                 level_name[Level1]= "Base";
346                 level_name[Level2]= "Alt";
347         };
348         type "PC_LALT_LEVEL2" {
349                 modifiers= LAlt;
350                 map[LAlt]= Level2;
351                 level_name[Level1]= "Base";
352                 level_name[Level2]= "LAlt";
353         };
354         type "PC_RALT_LEVEL2" {
355                 modifiers= RAlt;
356                 map[RAlt]= Level2;
357                 level_name[Level1]= "Base";
358                 level_name[Level2]= "RAlt";
359         };
360         type "CTRL+ALT" {
361                 modifiers= Shift+Control+Alt+LevelThree;
362                 map[Shift]= Level2;
363                 map[LevelThree]= Level3;
364                 map[Shift+LevelThree]= Level4;
365                 map[Control+Alt]= Level5;
366                 level_name[Level1]= "Base";
367                 level_name[Level2]= "Shift";
368                 level_name[Level3]= "Alt Base";
369                 level_name[Level4]= "Shift Alt";
370                 level_name[Level5]= "Ctrl+Alt";
371         };
372         type "LOCAL_EIGHT_LEVEL" {
373                 modifiers= Shift+Lock+Control+LevelThree;
374                 map[Shift]= Level2;
375                 map[Lock]= Level2;
376                 map[LevelThree]= Level3;
377                 map[Shift+Lock+LevelThree]= Level3;
378                 map[Shift+LevelThree]= Level4;
379                 map[Lock+LevelThree]= Level4;
380                 map[Control]= Level5;
381                 map[Shift+Lock+Control]= Level5;
382                 map[Shift+Control]= Level6;
383                 map[Lock+Control]= Level6;
384                 map[Control+LevelThree]= Level7;
385                 map[Shift+Lock+Control+LevelThree]= Level7;
386                 map[Shift+Control+LevelThree]= Level8;
387                 map[Lock+Control+LevelThree]= Level8;
388                 level_name[Level1]= "Base";
389                 level_name[Level2]= "Shift";
390                 level_name[Level3]= "Level3";
391                 level_name[Level4]= "Shift Level3";
392                 level_name[Level5]= "Ctrl";
393                 level_name[Level6]= "Shift Ctrl";
394                 level_name[Level7]= "Level3 Ctrl";
395                 level_name[Level8]= "Shift Level3 Ctrl";
396         };
397         type "THREE_LEVEL" {
398                 modifiers= Shift+LevelThree;
399                 map[Shift]= Level2;
400                 map[LevelThree]= Level3;
401                 map[Shift+LevelThree]= Level3;
402                 level_name[Level1]= "Base";
403                 level_name[Level2]= "Shift";
404                 level_name[Level3]= "Level3";
405         };
406         type "EIGHT_LEVEL" {
407                 modifiers= Shift+LevelThree+LevelFive;
408                 map[Shift]= Level2;
409                 map[LevelThree]= Level3;
410                 map[Shift+LevelThree]= Level4;
411                 map[LevelFive]= Level5;
412                 map[Shift+LevelFive]= Level6;
413                 map[LevelThree+LevelFive]= Level7;
414                 map[Shift+LevelThree+LevelFive]= Level8;
415                 level_name[Level1]= "Base";
416                 level_name[Level2]= "Shift";
417                 level_name[Level3]= "Alt Base";
418                 level_name[Level4]= "Shift Alt";
419                 level_name[Level5]= "X";
420                 level_name[Level6]= "X Shift";
421                 level_name[Level7]= "X Alt Base";
422                 level_name[Level8]= "X Shift Alt";
423         };
424         type "EIGHT_LEVEL_ALPHABETIC" {
425                 modifiers= Shift+Lock+LevelThree+LevelFive;
426                 map[Shift]= Level2;
427                 map[Lock]= Level2;
428                 map[LevelThree]= Level3;
429                 map[Shift+LevelThree]= Level4;
430                 map[Lock+LevelThree]= Level4;
431                 map[Shift+Lock+LevelThree]= Level3;
432                 map[LevelFive]= Level5;
433                 map[Shift+LevelFive]= Level6;
434                 map[Lock+LevelFive]= Level6;
435                 map[LevelThree+LevelFive]= Level7;
436                 map[Shift+LevelThree+LevelFive]= Level8;
437                 map[Lock+LevelThree+LevelFive]= Level8;
438                 map[Shift+Lock+LevelThree+LevelFive]= Level7;
439                 level_name[Level1]= "Base";
440                 level_name[Level2]= "Shift";
441                 level_name[Level3]= "Alt Base";
442                 level_name[Level4]= "Shift Alt";
443                 level_name[Level5]= "X";
444                 level_name[Level6]= "X Shift";
445                 level_name[Level7]= "X Alt Base";
446                 level_name[Level8]= "X Shift Alt";
447         };
448         type "EIGHT_LEVEL_SEMIALPHABETIC" {
449                 modifiers= Shift+Lock+LevelThree+LevelFive;
450                 map[Shift]= Level2;
451                 map[Lock]= Level2;
452                 map[LevelThree]= Level3;
453                 map[Shift+LevelThree]= Level4;
454                 map[Lock+LevelThree]= Level3;
455                 preserve[Lock+LevelThree]= Lock;
456                 map[Shift+Lock+LevelThree]= Level4;
457                 preserve[Shift+Lock+LevelThree]= Lock;
458                 map[LevelFive]= Level5;
459                 map[Shift+LevelFive]= Level6;
460                 map[Lock+LevelFive]= Level6;
461                 preserve[Lock+LevelFive]= Lock;
462                 map[LevelThree+LevelFive]= Level7;
463                 map[Shift+LevelThree+LevelFive]= Level8;
464                 map[Lock+LevelThree+LevelFive]= Level7;
465                 preserve[Lock+LevelThree+LevelFive]= Lock;
466                 map[Shift+Lock+LevelThree+LevelFive]= Level8;
467                 preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
468                 map[Shift+Lock+LevelFive]= Level1;
469                 preserve[Shift+Lock+LevelFive]= Lock;
470                 level_name[Level1]= "Base";
471                 level_name[Level2]= "Shift";
472                 level_name[Level3]= "Alt Base";
473                 level_name[Level4]= "Shift Alt";
474                 level_name[Level5]= "X";
475                 level_name[Level6]= "X Shift";
476                 level_name[Level7]= "X Alt Base";
477                 level_name[Level8]= "X Shift Alt";
478         };
479         type "FOUR_LEVEL" {
480                 modifiers= Shift+LevelThree;
481                 map[Shift]= Level2;
482                 map[LevelThree]= Level3;
483                 map[Shift+LevelThree]= Level4;
484                 level_name[Level1]= "Base";
485                 level_name[Level2]= "Shift";
486                 level_name[Level3]= "Alt Base";
487                 level_name[Level4]= "Shift Alt";
488         };
489         type "FOUR_LEVEL_ALPHABETIC" {
490                 modifiers= Shift+Lock+LevelThree;
491                 map[Shift]= Level2;
492                 map[Lock]= Level2;
493                 map[LevelThree]= Level3;
494                 map[Shift+LevelThree]= Level4;
495                 map[Lock+LevelThree]= Level4;
496                 map[Shift+Lock+LevelThree]= Level3;
497                 level_name[Level1]= "Base";
498                 level_name[Level2]= "Shift";
499                 level_name[Level3]= "Alt Base";
500                 level_name[Level4]= "Shift Alt";
501         };
502         type "FOUR_LEVEL_SEMIALPHABETIC" {
503                 modifiers= Shift+Lock+LevelThree;
504                 map[Shift]= Level2;
505                 map[Lock]= Level2;
506                 map[LevelThree]= Level3;
507                 map[Shift+LevelThree]= Level4;
508                 map[Lock+LevelThree]= Level3;
509                 preserve[Lock+LevelThree]= Lock;
510                 map[Shift+Lock+LevelThree]= Level4;
511                 preserve[Shift+Lock+LevelThree]= Lock;
512                 level_name[Level1]= "Base";
513                 level_name[Level2]= "Shift";
514                 level_name[Level3]= "Alt Base";
515                 level_name[Level4]= "Shift Alt";
516         };
517         type "FOUR_LEVEL_MIXED_KEYPAD" {
518                 modifiers= Shift+NumLock+LevelThree;
519                 map[NumLock]= Level2;
520                 map[Shift]= Level2;
521                 map[LevelThree]= Level3;
522                 map[NumLock+LevelThree]= Level3;
523                 map[Shift+LevelThree]= Level4;
524                 map[Shift+NumLock+LevelThree]= Level4;
525                 level_name[Level1]= "Base";
526                 level_name[Level2]= "Number";
527                 level_name[Level3]= "Alt Base";
528                 level_name[Level4]= "Shift Alt";
529         };
530         type "FOUR_LEVEL_X" {
531                 modifiers= Shift+Control+Alt+LevelThree;
532                 map[LevelThree]= Level2;
533                 map[Shift+LevelThree]= Level3;
534                 map[Control+Alt]= Level4;
535                 level_name[Level1]= "Base";
536                 level_name[Level2]= "Alt Base";
537                 level_name[Level3]= "Shift Alt";
538                 level_name[Level4]= "Ctrl+Alt";
539         };
540         type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
541                 modifiers= Shift+Lock+LevelThree;
542                 map[Shift]= Level2;
543                 map[Lock]= Level4;
544                 preserve[Lock]= Lock;
545                 map[LevelThree]= Level3;
546                 map[Shift+LevelThree]= Level4;
547                 map[Lock+LevelThree]= Level3;
548                 preserve[Lock+LevelThree]= Lock;
549                 map[Shift+Lock+LevelThree]= Level3;
550                 level_name[Level1]= "Base";
551                 level_name[Level2]= "Shift";
552                 level_name[Level3]= "AltGr Base";
553                 level_name[Level4]= "Shift AltGr";
554         };
555         type "FOUR_LEVEL_PLUS_LOCK" {
556                 modifiers= Shift+Lock+LevelThree;
557                 map[Shift]= Level2;
558                 map[LevelThree]= Level3;
559                 map[Shift+LevelThree]= Level4;
560                 map[Lock]= Level5;
561                 map[Shift+Lock]= Level2;
562                 map[Lock+LevelThree]= Level3;
563                 map[Shift+Lock+LevelThree]= Level4;
564                 level_name[Level1]= "Base";
565                 level_name[Level2]= "Shift";
566                 level_name[Level3]= "Alt Base";
567                 level_name[Level4]= "Shift Alt";
568                 level_name[Level5]= "Lock";
569         };
570         type "KEYPAD" {
571                 modifiers= Shift+NumLock;
572                 map[Shift]= Level2;
573                 map[NumLock]= Level2;
574                 level_name[Level1]= "Base";
575                 level_name[Level2]= "Number";
576         };
577         type "FOUR_LEVEL_KEYPAD" {
578                 modifiers= Shift+NumLock+LevelThree;
579                 map[Shift]= Level2;
580                 map[NumLock]= Level2;
581                 map[LevelThree]= Level3;
582                 map[Shift+LevelThree]= Level4;
583                 map[NumLock+LevelThree]= Level4;
584                 map[Shift+NumLock+LevelThree]= Level3;
585                 level_name[Level1]= "Base";
586                 level_name[Level2]= "Number";
587                 level_name[Level3]= "Alt Base";
588                 level_name[Level4]= "Alt Number";
589         };
590 };
591
592 xkb_compatibility "complete_caps(caps_lock)_4_misc(assign_shift_left_action)_4_level5(level5_lock)_4" {
593         virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
594
595         interpret.useModMapMods= AnyLevel;
596         interpret.repeat= False;
597         interpret ISO_Level2_Latch+Exactly(Shift) {
598                 useModMapMods=level1;
599                 action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
600         };
601         interpret Shift_Lock+AnyOf(Shift+Lock) {
602                 action= LockMods(modifiers=Shift);
603         };
604         interpret Num_Lock+AnyOf(all) {
605                 virtualModifier= NumLock;
606                 action= LockMods(modifiers=NumLock);
607         };
608         interpret ISO_Lock+AnyOf(all) {
609                 action= NoAction();
610         };
611         interpret ISO_Level3_Shift+AnyOf(all) {
612                 virtualModifier= LevelThree;
613                 useModMapMods=level1;
614                 action= SetMods(modifiers=LevelThree,clearLocks);
615         };
616         interpret ISO_Level3_Latch+AnyOf(all) {
617                 virtualModifier= LevelThree;
618                 useModMapMods=level1;
619                 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
620         };
621         interpret ISO_Level3_Lock+AnyOf(all) {
622                 virtualModifier= LevelThree;
623                 useModMapMods=level1;
624                 action= LockMods(modifiers=LevelThree);
625         };
626         interpret Alt_L+AnyOf(all) {
627                 virtualModifier= Alt;
628                 action= SetMods(modifiers=modMapMods,clearLocks);
629         };
630         interpret Alt_R+AnyOf(all) {
631                 virtualModifier= Alt;
632                 action= SetMods(modifiers=modMapMods,clearLocks);
633         };
634         interpret Meta_L+AnyOf(all) {
635                 virtualModifier= Meta;
636                 action= SetMods(modifiers=modMapMods,clearLocks);
637         };
638         interpret Meta_R+AnyOf(all) {
639                 virtualModifier= Meta;
640                 action= SetMods(modifiers=modMapMods,clearLocks);
641         };
642         interpret Super_L+AnyOf(all) {
643                 virtualModifier= Super;
644                 action= SetMods(modifiers=modMapMods,clearLocks);
645         };
646         interpret Super_R+AnyOf(all) {
647                 virtualModifier= Super;
648                 action= SetMods(modifiers=modMapMods,clearLocks);
649         };
650         interpret Hyper_L+AnyOf(all) {
651                 virtualModifier= Hyper;
652                 action= SetMods(modifiers=modMapMods,clearLocks);
653         };
654         interpret Hyper_R+AnyOf(all) {
655                 virtualModifier= Hyper;
656                 action= SetMods(modifiers=modMapMods,clearLocks);
657         };
658         interpret Scroll_Lock+AnyOf(all) {
659                 virtualModifier= ScrollLock;
660                 action= LockMods(modifiers=modMapMods);
661         };
662         interpret ISO_Level5_Shift+AnyOf(all) {
663                 virtualModifier= LevelFive;
664                 useModMapMods=level1;
665                 action= SetMods(modifiers=LevelFive,clearLocks);
666         };
667         interpret ISO_Level5_Latch+AnyOf(all) {
668                 virtualModifier= LevelFive;
669                 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
670         };
671         interpret ISO_Level5_Lock+AnyOf(all) {
672                 virtualModifier= LevelFive;
673                 action= LockMods(modifiers=LevelFive);
674         };
675         interpret Mode_switch+AnyOfOrNone(all) {
676                 virtualModifier= AltGr;
677                 useModMapMods=level1;
678                 action= SetGroup(group=+1);
679         };
680         interpret ISO_Level3_Shift+AnyOfOrNone(all) {
681                 action= SetMods(modifiers=LevelThree,clearLocks);
682         };
683         interpret ISO_Level3_Latch+AnyOfOrNone(all) {
684                 action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
685         };
686         interpret ISO_Level3_Lock+AnyOfOrNone(all) {
687                 action= LockMods(modifiers=LevelThree);
688         };
689         interpret ISO_Group_Latch+AnyOfOrNone(all) {
690                 virtualModifier= AltGr;
691                 useModMapMods=level1;
692                 action= LatchGroup(group=2);
693         };
694         interpret ISO_Next_Group+AnyOfOrNone(all) {
695                 virtualModifier= AltGr;
696                 useModMapMods=level1;
697                 action= LockGroup(group=+1);
698         };
699         interpret ISO_Prev_Group+AnyOfOrNone(all) {
700                 virtualModifier= AltGr;
701                 useModMapMods=level1;
702                 action= LockGroup(group=-1);
703         };
704         interpret ISO_First_Group+AnyOfOrNone(all) {
705                 action= LockGroup(group=1);
706         };
707         interpret ISO_Last_Group+AnyOfOrNone(all) {
708                 action= LockGroup(group=2);
709         };
710         interpret KP_1+AnyOfOrNone(all) {
711                 repeat= True;
712                 action= MovePtr(x=-1,y=+1);
713         };
714         interpret KP_End+AnyOfOrNone(all) {
715                 repeat= True;
716                 action= MovePtr(x=-1,y=+1);
717         };
718         interpret KP_2+AnyOfOrNone(all) {
719                 repeat= True;
720                 action= MovePtr(x=+0,y=+1);
721         };
722         interpret KP_Down+AnyOfOrNone(all) {
723                 repeat= True;
724                 action= MovePtr(x=+0,y=+1);
725         };
726         interpret KP_3+AnyOfOrNone(all) {
727                 repeat= True;
728                 action= MovePtr(x=+1,y=+1);
729         };
730         interpret KP_Next+AnyOfOrNone(all) {
731                 repeat= True;
732                 action= MovePtr(x=+1,y=+1);
733         };
734         interpret KP_4+AnyOfOrNone(all) {
735                 repeat= True;
736                 action= MovePtr(x=-1,y=+0);
737         };
738         interpret KP_Left+AnyOfOrNone(all) {
739                 repeat= True;
740                 action= MovePtr(x=-1,y=+0);
741         };
742         interpret KP_6+AnyOfOrNone(all) {
743                 repeat= True;
744                 action= MovePtr(x=+1,y=+0);
745         };
746         interpret KP_Right+AnyOfOrNone(all) {
747                 repeat= True;
748                 action= MovePtr(x=+1,y=+0);
749         };
750         interpret KP_7+AnyOfOrNone(all) {
751                 repeat= True;
752                 action= MovePtr(x=-1,y=-1);
753         };
754         interpret KP_Home+AnyOfOrNone(all) {
755                 repeat= True;
756                 action= MovePtr(x=-1,y=-1);
757         };
758         interpret KP_8+AnyOfOrNone(all) {
759                 repeat= True;
760                 action= MovePtr(x=+0,y=-1);
761         };
762         interpret KP_Up+AnyOfOrNone(all) {
763                 repeat= True;
764                 action= MovePtr(x=+0,y=-1);
765         };
766         interpret KP_9+AnyOfOrNone(all) {
767                 repeat= True;
768                 action= MovePtr(x=+1,y=-1);
769         };
770         interpret KP_Prior+AnyOfOrNone(all) {
771                 repeat= True;
772                 action= MovePtr(x=+1,y=-1);
773         };
774         interpret KP_5+AnyOfOrNone(all) {
775                 repeat= True;
776                 action= PtrBtn(button=default);
777         };
778         interpret KP_Begin+AnyOfOrNone(all) {
779                 repeat= True;
780                 action= PtrBtn(button=default);
781         };
782         interpret KP_F2+AnyOfOrNone(all) {
783                 repeat= True;
784                 action= SetPtrDflt(affect=button,button=1);
785         };
786         interpret KP_Divide+AnyOfOrNone(all) {
787                 repeat= True;
788                 action= SetPtrDflt(affect=button,button=1);
789         };
790         interpret KP_F3+AnyOfOrNone(all) {
791                 repeat= True;
792                 action= SetPtrDflt(affect=button,button=2);
793         };
794         interpret KP_Multiply+AnyOfOrNone(all) {
795                 repeat= True;
796                 action= SetPtrDflt(affect=button,button=2);
797         };
798         interpret KP_F4+AnyOfOrNone(all) {
799                 repeat= True;
800                 action= SetPtrDflt(affect=button,button=3);
801         };
802         interpret KP_Subtract+AnyOfOrNone(all) {
803                 repeat= True;
804                 action= SetPtrDflt(affect=button,button=3);
805         };
806         interpret KP_Separator+AnyOfOrNone(all) {
807                 repeat= True;
808                 action= PtrBtn(button=default,count=2);
809         };
810         interpret KP_Add+AnyOfOrNone(all) {
811                 repeat= True;
812                 action= PtrBtn(button=default,count=2);
813         };
814         interpret KP_0+AnyOfOrNone(all) {
815                 repeat= True;
816                 action= LockPtrBtn(button=default,affect=lock);
817         };
818         interpret KP_Insert+AnyOfOrNone(all) {
819                 repeat= True;
820                 action= LockPtrBtn(button=default,affect=lock);
821         };
822         interpret KP_Decimal+AnyOfOrNone(all) {
823                 repeat= True;
824                 action= LockPtrBtn(button=default,affect=unlock);
825         };
826         interpret KP_Delete+AnyOfOrNone(all) {
827                 repeat= True;
828                 action= LockPtrBtn(button=default,affect=unlock);
829         };
830         interpret F25+AnyOfOrNone(all) {
831                 repeat= True;
832                 action= SetPtrDflt(affect=button,button=1);
833         };
834         interpret F26+AnyOfOrNone(all) {
835                 repeat= True;
836                 action= SetPtrDflt(affect=button,button=2);
837         };
838         interpret F27+AnyOfOrNone(all) {
839                 repeat= True;
840                 action= MovePtr(x=-1,y=-1);
841         };
842         interpret F29+AnyOfOrNone(all) {
843                 repeat= True;
844                 action= MovePtr(x=+1,y=-1);
845         };
846         interpret F31+AnyOfOrNone(all) {
847                 repeat= True;
848                 action= PtrBtn(button=default);
849         };
850         interpret F33+AnyOfOrNone(all) {
851                 repeat= True;
852                 action= MovePtr(x=-1,y=+1);
853         };
854         interpret F35+AnyOfOrNone(all) {
855                 repeat= True;
856                 action= MovePtr(x=+1,y=+1);
857         };
858         interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
859                 action= PtrBtn(button=default);
860         };
861         interpret Pointer_Button1+AnyOfOrNone(all) {
862                 action= PtrBtn(button=1);
863         };
864         interpret Pointer_Button2+AnyOfOrNone(all) {
865                 action= PtrBtn(button=2);
866         };
867         interpret Pointer_Button3+AnyOfOrNone(all) {
868                 action= PtrBtn(button=3);
869         };
870         interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
871                 action= PtrBtn(button=default,count=2);
872         };
873         interpret Pointer_DblClick1+AnyOfOrNone(all) {
874                 action= PtrBtn(button=1,count=2);
875         };
876         interpret Pointer_DblClick2+AnyOfOrNone(all) {
877                 action= PtrBtn(button=2,count=2);
878         };
879         interpret Pointer_DblClick3+AnyOfOrNone(all) {
880                 action= PtrBtn(button=3,count=2);
881         };
882         interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
883                 action= LockPtrBtn(button=default,affect=both);
884         };
885         interpret Pointer_Drag1+AnyOfOrNone(all) {
886                 action= LockPtrBtn(button=1,affect=both);
887         };
888         interpret Pointer_Drag2+AnyOfOrNone(all) {
889                 action= LockPtrBtn(button=2,affect=both);
890         };
891         interpret Pointer_Drag3+AnyOfOrNone(all) {
892                 action= LockPtrBtn(button=3,affect=both);
893         };
894         interpret Pointer_EnableKeys+AnyOfOrNone(all) {
895                 action= LockControls(controls=MouseKeys);
896         };
897         interpret Pointer_Accelerate+AnyOfOrNone(all) {
898                 action= LockControls(controls=MouseKeysAccel);
899         };
900         interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
901                 action= SetPtrDflt(affect=button,button=+1);
902         };
903         interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
904                 action= SetPtrDflt(affect=button,button=-1);
905         };
906         interpret AccessX_Enable+AnyOfOrNone(all) {
907                 action= LockControls(controls=AccessXKeys);
908         };
909         interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
910                 action= LockControls(controls=AccessXFeedback);
911         };
912         interpret RepeatKeys_Enable+AnyOfOrNone(all) {
913                 action= LockControls(controls=RepeatKeys);
914         };
915         interpret SlowKeys_Enable+AnyOfOrNone(all) {
916                 action= LockControls(controls=SlowKeys);
917         };
918         interpret BounceKeys_Enable+AnyOfOrNone(all) {
919                 action= LockControls(controls=BounceKeys);
920         };
921         interpret StickyKeys_Enable+AnyOfOrNone(all) {
922                 action= LockControls(controls=StickyKeys);
923         };
924         interpret MouseKeys_Enable+AnyOfOrNone(all) {
925                 action= LockControls(controls=MouseKeys);
926         };
927         interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
928                 action= LockControls(controls=MouseKeysAccel);
929         };
930         interpret Overlay1_Enable+AnyOfOrNone(all) {
931                 action= LockControls(controls=none);
932         };
933         interpret Overlay2_Enable+AnyOfOrNone(all) {
934                 action= LockControls(controls=none);
935         };
936         interpret AudibleBell_Enable+AnyOfOrNone(all) {
937                 action= LockControls(controls=AudibleBell);
938         };
939         interpret Terminate_Server+AnyOfOrNone(all) {
940                 action= Terminate();
941         };
942         interpret Alt_L+AnyOfOrNone(all) {
943                 action= SetMods(modifiers=Alt,clearLocks);
944         };
945         interpret Alt_R+AnyOfOrNone(all) {
946                 action= SetMods(modifiers=Alt,clearLocks);
947         };
948         interpret Meta_L+AnyOfOrNone(all) {
949                 action= SetMods(modifiers=Meta,clearLocks);
950         };
951         interpret Meta_R+AnyOfOrNone(all) {
952                 action= SetMods(modifiers=Meta,clearLocks);
953         };
954         interpret Super_L+AnyOfOrNone(all) {
955                 action= SetMods(modifiers=Super,clearLocks);
956         };
957         interpret Super_R+AnyOfOrNone(all) {
958                 action= SetMods(modifiers=Super,clearLocks);
959         };
960         interpret Hyper_L+AnyOfOrNone(all) {
961                 action= SetMods(modifiers=Hyper,clearLocks);
962         };
963         interpret Hyper_R+AnyOfOrNone(all) {
964                 action= SetMods(modifiers=Hyper,clearLocks);
965         };
966         interpret Shift_L+AnyOfOrNone(all) {
967                 action= SetMods(modifiers=Shift);
968         };
969         interpret XF86Switch_VT_1+AnyOfOrNone(all) {
970                 repeat= True;
971                 action= SwitchScreen(screen=1,!same);
972         };
973         interpret XF86Switch_VT_2+AnyOfOrNone(all) {
974                 repeat= True;
975                 action= SwitchScreen(screen=2,!same);
976         };
977         interpret XF86Switch_VT_3+AnyOfOrNone(all) {
978                 repeat= True;
979                 action= SwitchScreen(screen=3,!same);
980         };
981         interpret XF86Switch_VT_4+AnyOfOrNone(all) {
982                 repeat= True;
983                 action= SwitchScreen(screen=4,!same);
984         };
985         interpret XF86Switch_VT_5+AnyOfOrNone(all) {
986                 repeat= True;
987                 action= SwitchScreen(screen=5,!same);
988         };
989         interpret XF86Switch_VT_6+AnyOfOrNone(all) {
990                 repeat= True;
991                 action= SwitchScreen(screen=6,!same);
992         };
993         interpret XF86Switch_VT_7+AnyOfOrNone(all) {
994                 repeat= True;
995                 action= SwitchScreen(screen=7,!same);
996         };
997         interpret XF86Switch_VT_8+AnyOfOrNone(all) {
998                 repeat= True;
999                 action= SwitchScreen(screen=8,!same);
1000         };
1001         interpret XF86Switch_VT_9+AnyOfOrNone(all) {
1002                 repeat= True;
1003                 action= SwitchScreen(screen=9,!same);
1004         };
1005         interpret XF86Switch_VT_10+AnyOfOrNone(all) {
1006                 repeat= True;
1007                 action= SwitchScreen(screen=10,!same);
1008         };
1009         interpret XF86Switch_VT_11+AnyOfOrNone(all) {
1010                 repeat= True;
1011                 action= SwitchScreen(screen=11,!same);
1012         };
1013         interpret XF86Switch_VT_12+AnyOfOrNone(all) {
1014                 repeat= True;
1015                 action= SwitchScreen(screen=12,!same);
1016         };
1017         interpret XF86LogGrabInfo+AnyOfOrNone(all) {
1018                 repeat= True;
1019                 action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
1020         };
1021         interpret XF86LogWindowTree+AnyOfOrNone(all) {
1022                 repeat= True;
1023                 action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
1024         };
1025         interpret XF86Next_VMode+AnyOfOrNone(all) {
1026                 repeat= True;
1027                 action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
1028         };
1029         interpret XF86Prev_VMode+AnyOfOrNone(all) {
1030                 repeat= True;
1031                 action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
1032         };
1033         interpret ISO_Level5_Shift+AnyOfOrNone(all) {
1034                 action= SetMods(modifiers=LevelFive,clearLocks);
1035         };
1036         interpret ISO_Level5_Latch+AnyOfOrNone(all) {
1037                 action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
1038         };
1039         interpret ISO_Level5_Lock+AnyOfOrNone(all) {
1040                 action= LockMods(modifiers=NumLock);
1041         };
1042         interpret Caps_Lock+AnyOfOrNone(all) {
1043                 action= LockMods(modifiers=Lock);
1044         };
1045         interpret Any+Exactly(Lock) {
1046                 action= LockMods(modifiers=Lock);
1047         };
1048         interpret Any+AnyOf(all) {
1049                 action= SetMods(modifiers=modMapMods,clearLocks);
1050         };
1051         indicator "Caps Lock" {
1052                 whichModState= locked;
1053                 modifiers= Lock;
1054         };
1055         indicator "Num Lock" {
1056                 whichModState= locked;
1057                 modifiers= NumLock;
1058         };
1059         indicator "Scroll Lock" {
1060                 whichModState= locked;
1061                 modifiers= ScrollLock;
1062         };
1063         indicator "Shift Lock" {
1064                 whichModState= locked;
1065                 modifiers= Shift;
1066         };
1067         indicator "Group 2" {
1068                 groups= 0xfe;
1069         };
1070         indicator "Mouse Keys" {
1071                 controls= MouseKeys;
1072         };
1073 };
1074
1075 xkb_symbols "pc_us_ru_2_ca(multix)_3_de(neo)_4_inet(evdev)" {
1076         name[group1]="English (US)";
1077         name[group2]="Russian";
1078         name[group3]="Canadian Multilingual";
1079         name[group4]="German (Neo 2)";
1080
1081         key <ESC>                {      [          Escape ] };
1082         key <AE01>               {
1083                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1084                 type[group4]= "EIGHT_LEVEL",
1085                 symbols[Group1]= [               1,          exclam ],
1086                 symbols[Group2]= [               1,          exclam ],
1087                 symbols[Group3]= [               1,          exclam,       plusminus,        NoSymbol,     onesuperior,      exclamdown,        NoSymbol,        NoSymbol ],
1088                 symbols[Group4]= [               1,          degree,     onesuperior,    onesubscript,     ordfeminine,        NoSymbol,         notsign,        NoSymbol ]
1089         };
1090         key <AE02>               {
1091                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1092                 type[group4]= "EIGHT_LEVEL",
1093                 symbols[Group1]= [               2,              at ],
1094                 symbols[Group2]= [               2,        quotedbl ],
1095                 symbols[Group3]= [               2,              at,              at,        NoSymbol,     twosuperior,        NoSymbol,        NoSymbol,        NoSymbol ],
1096                 symbols[Group4]= [               2,         section,     twosuperior,    twosubscript,       masculine,        NoSymbol,       logicalor,        NoSymbol ]
1097         };
1098         key <AE03>               {
1099                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1100                 type[group4]= "EIGHT_LEVEL",
1101                 symbols[Group1]= [               3,      numbersign ],
1102                 symbols[Group2]= [               3,      numerosign ],
1103                 symbols[Group3]= [               3,      numbersign,        sterling,        NoSymbol,   threesuperior,        sterling,        NoSymbol,        NoSymbol ],
1104                 symbols[Group4]= [               3,           U2113,   threesuperior,  threesubscript,      numerosign,        NoSymbol,      logicaland,        NoSymbol ]
1105         };
1106         key <AE04>               {
1107                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1108                 type[group4]= "EIGHT_LEVEL",
1109                 symbols[Group1]= [               4,          dollar ],
1110                 symbols[Group2]= [               4,       semicolon ],
1111                 symbols[Group3]= [               4,          dollar,            cent,        NoSymbol,      onequarter,        currency,        NoSymbol,        NoSymbol ],
1112                 symbols[Group4]= [               4,  guillemotright,           U203A,    femalesymbol,        NoSymbol,        NoSymbol,           U22A5,        NoSymbol ]
1113         };
1114         key <AE05>               {
1115                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1116                 type[group4]= "EIGHT_LEVEL",
1117                 symbols[Group1]= [               5,         percent ],
1118                 symbols[Group2]= [               5,         percent ],
1119                 symbols[Group3]= [               5,         percent,        currency,        NoSymbol,         onehalf,    threeeighths,        NoSymbol,        NoSymbol ],
1120                 symbols[Group4]= [               5,   guillemotleft,           U2039,      malesymbol,  periodcentered,        NoSymbol,           U2221,        NoSymbol ]
1121         };
1122         key <AE06>               {
1123                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1124                 type[group4]= "EIGHT_LEVEL",
1125                 symbols[Group1]= [ { H, E, L, L, O },     asciicircum ],
1126                 symbols[Group2]= [               6,           colon ],
1127                 symbols[Group3]= [               6,        question,         notsign,        NoSymbol,   threequarters,     fiveeighths,        NoSymbol,        NoSymbol ],
1128                 symbols[Group4]= [               6,          dollar,            cent,           U26A5,        sterling,        NoSymbol,           U2225,        NoSymbol ]
1129         };
1130         key <AE07>               {
1131                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1132                 type[group4]= "EIGHT_LEVEL",
1133                 symbols[Group1]= [ { Y, E, S, space, T, H, I, S, space, I, S, space, D, O, G },       ampersand ],
1134                 symbols[Group2]= [               7,        question ],
1135                 symbols[Group3]= [               7,       ampersand,       braceleft,        NoSymbol,        NoSymbol,    seveneighths,        NoSymbol,        NoSymbol ],
1136                 symbols[Group4]= [               7,        EuroSign,             yen,           U03F0,        currency,        NoSymbol,      rightarrow,        NoSymbol ]
1137         };
1138         key <AE08>               {
1139                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1140                 type[group4]= "EIGHT_LEVEL",
1141                 symbols[Group1]= [               8,        asterisk ],
1142                 symbols[Group2]= [               8,        asterisk ],
1143                 symbols[Group3]= [               8,        asterisk,      braceright,        NoSymbol,        NoSymbol,       trademark,        NoSymbol,        NoSymbol ],
1144                 symbols[Group4]= [               8, doublelowquotemark, singlelowquotemark,           U27E8,             Tab,    ISO_Left_Tab,           U221E,        NoSymbol ]
1145         };
1146         key <AE09>               {
1147                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1148                 type[group4]= "EIGHT_LEVEL",
1149                 symbols[Group1]= [               9,       parenleft ],
1150                 symbols[Group2]= [               9,       parenleft ],
1151                 symbols[Group3]= [               9,       parenleft,     bracketleft,        NoSymbol,        NoSymbol,       plusminus,        NoSymbol,        NoSymbol ],
1152                 symbols[Group4]= [               9, leftdoublequotemark, leftsinglequotemark,           U27E9,       KP_Divide,       KP_Divide,       variation,        NoSymbol ]
1153         };
1154         key <AE10>               {
1155                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1156                 type[group4]= "EIGHT_LEVEL",
1157                 symbols[Group1]= [               0,      parenright ],
1158                 symbols[Group2]= [               0,      parenright ],
1159                 symbols[Group3]= [               0,      parenright,    bracketright,        NoSymbol,        NoSymbol,        NoSymbol,        NoSymbol,        NoSymbol ],
1160                 symbols[Group4]= [               0, rightdoublequotemark, rightsinglequotemark,   zerosubscript,     KP_Multiply,     KP_Multiply,        emptyset,        NoSymbol ]
1161         };
1162         key <AE11>               {
1163                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1164                 type[group4]= "EIGHT_LEVEL",
1165                 symbols[Group1]= [           minus,      underscore ],
1166                 symbols[Group2]= [           minus,      underscore ],
1167                 symbols[Group3]= [           minus,      underscore,         onehalf,        NoSymbol,        NoSymbol,    questiondown,        NoSymbol,        NoSymbol ],
1168                 symbols[Group4]= [           minus,          emdash,        NoSymbol,           U2011,     KP_Subtract,     KP_Subtract,          hyphen,        NoSymbol ]
1169         };
1170         key <AE12>               {
1171                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1172                 type[group4]= "EIGHT_LEVEL",
1173                 symbols[Group1]= [           equal,            plus ],
1174                 symbols[Group2]= [           equal,            plus ],
1175                 symbols[Group3]= [           equal,            plus,         notsign,        NoSymbol,    dead_cedilla,     dead_ogonek,        NoSymbol,        NoSymbol ],
1176                 symbols[Group4]= [      dead_grave,    dead_cedilla,  dead_abovering, dead_abovereversedcomma,  dead_diaeresis,        NoSymbol,     dead_macron,        NoSymbol ]
1177         };
1178         key <BKSP>               {      [       BackSpace,       BackSpace ] };
1179         key <TAB>                {
1180                 type[group4]= "EIGHT_LEVEL",
1181                 symbols[Group1]= [             Tab,    ISO_Left_Tab ],
1182                 symbols[Group2]= [             Tab,    ISO_Left_Tab ],
1183                 symbols[Group3]= [             Tab,    ISO_Left_Tab ],
1184                 symbols[Group4]= [             Tab,    ISO_Left_Tab,       Multi_key, ISO_Level5_Lock,        NoSymbol,        NoSymbol,        NoSymbol, ISO_Level5_Lock ]
1185         };
1186         key <AD01>               {
1187                 type[group1]= "ALPHABETIC",
1188                 type[group2]= "ALPHABETIC",
1189                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1190                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1191                 symbols[Group1]= [               q,               Q ],
1192                 symbols[Group2]= [ Cyrillic_shorti, Cyrillic_SHORTI ],
1193                 symbols[Group3]= [               q,               Q,        NoSymbol,        NoSymbol,        NoSymbol,     Greek_OMEGA,        NoSymbol,        NoSymbol ],
1194                 symbols[Group4]= [               x,               X,        ellipsis,        Greek_xi,           Prior,           Prior,        Greek_XI,        NoSymbol ]
1195         };
1196         key <AD02>               {
1197                 type[group1]= "ALPHABETIC",
1198                 type[group2]= "ALPHABETIC",
1199                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1200                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1201                 symbols[Group1]= [               w,               W ],
1202                 symbols[Group2]= [    Cyrillic_tse,    Cyrillic_TSE ],
1203                 symbols[Group3]= [               w,               W,        NoSymbol,        NoSymbol,         lstroke,         Lstroke,        NoSymbol,        NoSymbol ],
1204                 symbols[Group4]= [               v,               V,      underscore,        NoSymbol,       BackSpace,       BackSpace,         radical,        NoSymbol ]
1205         };
1206         key <AD03>               {
1207                 type[group1]= "ALPHABETIC",
1208                 type[group2]= "ALPHABETIC",
1209                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1210                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1211                 symbols[Group1]= [               e,               E ],
1212                 symbols[Group2]= [      Cyrillic_u,      Cyrillic_U ],
1213                 symbols[Group3]= [               e,               E,        NoSymbol,        NoSymbol,              oe,              OE,        NoSymbol,        NoSymbol ],
1214                 symbols[Group4]= [               l,               L,     bracketleft,     Greek_lamda,              Up,              Up,     Greek_LAMDA,        NoSymbol ]
1215         };
1216         key <AD04>               {
1217                 type[group1]= "ALPHABETIC",
1218                 type[group2]= "ALPHABETIC",
1219                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1220                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1221                 symbols[Group1]= [               r,               R ],
1222                 symbols[Group2]= [     Cyrillic_ka,     Cyrillic_KA ],
1223                 symbols[Group3]= [               r,               R,        NoSymbol,        NoSymbol,       paragraph,      registered,        NoSymbol,        NoSymbol ],
1224                 symbols[Group4]= [               c,               C,    bracketright,       Greek_chi,          Delete,          Delete,           U2102,        NoSymbol ]
1225         };
1226         key <AD05>               {
1227                 type[group1]= "ALPHABETIC",
1228                 type[group2]= "ALPHABETIC",
1229                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1230                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1231                 symbols[Group1]= [               t,               T ],
1232                 symbols[Group2]= [     Cyrillic_ie,     Cyrillic_IE ],
1233                 symbols[Group3]= [               t,               T,        NoSymbol,        NoSymbol,          tslash,          Tslash,        NoSymbol,        NoSymbol ],
1234                 symbols[Group4]= [               w,               W,     asciicircum,     Greek_omega,            Next,            Next,     Greek_OMEGA,        NoSymbol ]
1235         };
1236         key <AD06>               {
1237                 type[group1]= "ALPHABETIC",
1238                 type[group2]= "ALPHABETIC",
1239                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1240                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1241                 symbols[Group1]= [               y,               Y ],
1242                 symbols[Group2]= [     Cyrillic_en,     Cyrillic_EN ],
1243                 symbols[Group3]= [               y,               Y,        NoSymbol,        NoSymbol,       leftarrow,             yen,        NoSymbol,        NoSymbol ],
1244                 symbols[Group4]= [               k,               K,          exclam,     Greek_kappa,      exclamdown,        NoSymbol,        multiply,        NoSymbol ]
1245         };
1246         key <AD07>               {
1247                 type[group1]= "ALPHABETIC",
1248                 type[group2]= "ALPHABETIC",
1249                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1250                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1251                 symbols[Group1]= [               u,               U ],
1252                 symbols[Group2]= [    Cyrillic_ghe,    Cyrillic_GHE ],
1253                 symbols[Group3]= [               u,               U,        NoSymbol,        NoSymbol,       downarrow,         uparrow,        NoSymbol,        NoSymbol ],
1254                 symbols[Group4]= [               h,               H,            less,       Greek_psi,            KP_7,            KP_7,       Greek_PSI,        NoSymbol ]
1255         };
1256         key <AD08>               {
1257                 type[group1]= "ALPHABETIC",
1258                 type[group2]= "ALPHABETIC",
1259                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1260                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1261                 symbols[Group1]= [               i,               I ],
1262                 symbols[Group2]= [    Cyrillic_sha,    Cyrillic_SHA ],
1263                 symbols[Group3]= [               i,               I,        NoSymbol,        NoSymbol,      rightarrow,        idotless,        NoSymbol,        NoSymbol ],
1264                 symbols[Group4]= [               g,               G,         greater,     Greek_gamma,            KP_8,            KP_8,     Greek_GAMMA,        NoSymbol ]
1265         };
1266         key <AD09>               {
1267                 type[group1]= "ALPHABETIC",
1268                 type[group2]= "ALPHABETIC",
1269                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1270                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1271                 symbols[Group1]= [               o,               O ],
1272                 symbols[Group2]= [  Cyrillic_shcha,  Cyrillic_SHCHA ],
1273                 symbols[Group3]= [               o,               O,         section,        NoSymbol,          oslash,          Oslash,        NoSymbol,        NoSymbol ],
1274                 symbols[Group4]= [               f,               F,           equal,       Greek_phi,            KP_9,            KP_9,       Greek_PHI,        NoSymbol ]
1275         };
1276         key <AD10>               {
1277                 type[group1]= "ALPHABETIC",
1278                 type[group2]= "ALPHABETIC",
1279                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1280                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1281                 symbols[Group1]= [               p,               P ],
1282                 symbols[Group2]= [     Cyrillic_ze,     Cyrillic_ZE ],
1283                 symbols[Group3]= [               p,               P,       paragraph,        NoSymbol,           thorn,           THORN,        NoSymbol,        NoSymbol ],
1284                 symbols[Group4]= [               q,               Q,       ampersand,           U03D5,          KP_Add,          KP_Add,           U211A,        NoSymbol ]
1285         };
1286         key <AD11>               {
1287                 type[group2]= "ALPHABETIC",
1288                 type[group3]= "EIGHT_LEVEL",
1289                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1290                 symbols[Group1]= [     bracketleft,       braceleft ],
1291                 symbols[Group2]= [     Cyrillic_ha,     Cyrillic_HA ],
1292                 symbols[Group3]= [ dead_circumflex,  dead_diaeresis,      dead_grave,        NoSymbol,        NoSymbol,  dead_abovering,        NoSymbol,        NoSymbol ],
1293                 symbols[Group4]= [          ssharp,           U1E9E,           U017F, Greek_finalsmallsigma,           U2212,        NoSymbol,             jot,        NoSymbol ]
1294         };
1295         key <AD12>               {
1296                 type[group2]= "ALPHABETIC",
1297                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1298                 type[group4]= "EIGHT_LEVEL",
1299                 symbols[Group1]= [    bracketright,      braceright ],
1300                 symbols[Group2]= [ Cyrillic_hardsign, Cyrillic_HARDSIGN ],
1301                 symbols[Group3]= [        ccedilla,        Ccedilla,      asciitilde,        NoSymbol,      dead_tilde,     dead_macron,        NoSymbol,        NoSymbol ],
1302                 symbols[Group4]= [      dead_acute,      dead_tilde,     dead_stroke, dead_abovecomma, dead_doubleacute,        NoSymbol,      dead_breve,        NoSymbol ]
1303         };
1304         key <RTRN>               {      [          Return ] };
1305         key <LCTL>               {      [       Control_L ] };
1306         key <AC01>               {
1307                 type[group1]= "ALPHABETIC",
1308                 type[group2]= "ALPHABETIC",
1309                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1310                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1311                 symbols[Group1]= [               a,               A ],
1312                 symbols[Group2]= [     Cyrillic_ef,     Cyrillic_EF ],
1313                 symbols[Group3]= [               a,               A,        NoSymbol,        NoSymbol,              ae,              AE,        NoSymbol,        NoSymbol ],
1314                 symbols[Group4]= [               u,               U,       backslash,        NoSymbol,            Home,            Home,      includedin,        NoSymbol ]
1315         };
1316         key <AC02>               {
1317                 type[group1]= "ALPHABETIC",
1318                 type[group2]= "ALPHABETIC",
1319                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1320                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1321                 symbols[Group1]= [               s,               S ],
1322                 symbols[Group2]= [   Cyrillic_yeru,   Cyrillic_YERU ],
1323                 symbols[Group3]= [               s,               S,        NoSymbol,        NoSymbol,          ssharp,         section,        NoSymbol,        NoSymbol ],
1324                 symbols[Group4]= [               i,               I,           slash,      Greek_iota,            Left,            Left,        integral,        NoSymbol ]
1325         };
1326         key <AC03>               {
1327                 type[group1]= "ALPHABETIC",
1328                 type[group2]= "ALPHABETIC",
1329                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1330                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1331                 symbols[Group1]= [               d,               D ],
1332                 symbols[Group2]= [     Cyrillic_ve,     Cyrillic_VE ],
1333                 symbols[Group3]= [               d,               D,        NoSymbol,        NoSymbol,             eth,             ETH,        NoSymbol,        NoSymbol ],
1334                 symbols[Group4]= [               a,               A,       braceleft,     Greek_alpha,            Down,            Down,           U2200,        NoSymbol ]
1335         };
1336         key <AC04>               {
1337                 type[group1]= "ALPHABETIC",
1338                 type[group2]= "ALPHABETIC",
1339                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1340                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1341                 symbols[Group1]= [               f,               F ],
1342                 symbols[Group2]= [      Cyrillic_a,      Cyrillic_A ],
1343                 symbols[Group3]= [               f,               F,        NoSymbol,        NoSymbol,        NoSymbol,     ordfeminine,        NoSymbol,        NoSymbol ],
1344                 symbols[Group4]= [               e,               E,      braceright,   Greek_epsilon,           Right,           Right,           U2203,        NoSymbol ]
1345         };
1346         key <AC05>               {
1347                 type[group1]= "ALPHABETIC",
1348                 type[group2]= "ALPHABETIC",
1349                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1350                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1351                 symbols[Group1]= [               g,               G ],
1352                 symbols[Group2]= [     Cyrillic_pe,     Cyrillic_PE ],
1353                 symbols[Group3]= [               g,               G,        NoSymbol,        NoSymbol,             eng,             ENG,        NoSymbol,        NoSymbol ],
1354                 symbols[Group4]= [               o,               O,        asterisk,   Greek_omicron,             End,             End,       elementof,        NoSymbol ]
1355         };
1356         key <AC06>               {
1357                 type[group1]= "ALPHABETIC",
1358                 type[group2]= "ALPHABETIC",
1359                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1360                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1361                 symbols[Group1]= [               h,               H ],
1362                 symbols[Group2]= [     Cyrillic_er,     Cyrillic_ER ],
1363                 symbols[Group3]= [               h,               H,        NoSymbol,        NoSymbol,         hstroke,         Hstroke,        NoSymbol,        NoSymbol ],
1364                 symbols[Group4]= [               s,               S,        question,     Greek_sigma,    questiondown,        NoSymbol,     Greek_SIGMA,        NoSymbol ]
1365         };
1366         key <AC07>               {
1367                 type[group1]= "ALPHABETIC",
1368                 type[group2]= "ALPHABETIC",
1369                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1370                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1371                 symbols[Group1]= [               j,               J ],
1372                 symbols[Group2]= [      Cyrillic_o,      Cyrillic_O ],
1373                 symbols[Group3]= [               j,               J,        NoSymbol,        NoSymbol,           U0133,           U0132,        NoSymbol,        NoSymbol ],
1374                 symbols[Group4]= [               n,               N,       parenleft,        Greek_nu,            KP_4,            KP_4,           U2115,        NoSymbol ]
1375         };
1376         key <AC08>               {
1377                 type[group1]= "ALPHABETIC",
1378                 type[group2]= "ALPHABETIC",
1379                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1380                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1381                 symbols[Group1]= [               k,               K ],
1382                 symbols[Group2]= [     Cyrillic_el,     Cyrillic_EL ],
1383                 symbols[Group3]= [               k,               K,        NoSymbol,        NoSymbol,             kra,        NoSymbol,        NoSymbol,        NoSymbol ],
1384                 symbols[Group4]= [               r,               R,      parenright,       Greek_rho,            KP_5,            KP_5,           U211D,        NoSymbol ]
1385         };
1386         key <AC09>               {
1387                 type[group1]= "ALPHABETIC",
1388                 type[group2]= "ALPHABETIC",
1389                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1390                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1391                 symbols[Group1]= [               l,               L ],
1392                 symbols[Group2]= [     Cyrillic_de,     Cyrillic_DE ],
1393                 symbols[Group3]= [               l,               L,        NoSymbol,        NoSymbol,           U0140,           U013F,        NoSymbol,        NoSymbol ],
1394                 symbols[Group4]= [               t,               T,           minus,       Greek_tau,            KP_6,            KP_6, partialderivative,        NoSymbol ]
1395         };
1396         key <AC10>               {
1397                 type[group2]= "ALPHABETIC",
1398                 type[group3]= "EIGHT_LEVEL",
1399                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1400                 symbols[Group1]= [       semicolon,           colon ],
1401                 symbols[Group2]= [    Cyrillic_zhe,    Cyrillic_ZHE ],
1402                 symbols[Group3]= [       semicolon,           colon,          degree,        NoSymbol,      dead_acute, dead_doubleacute,        NoSymbol,        NoSymbol ],
1403                 symbols[Group4]= [               d,               D,           colon,     Greek_delta,    KP_Separator,           comma,     Greek_DELTA,        NoSymbol ]
1404         };
1405         key <AC11>               {
1406                 type[group2]= "ALPHABETIC",
1407                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1408                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1409                 symbols[Group1]= [      apostrophe,        quotedbl ],
1410                 symbols[Group2]= [      Cyrillic_e,      Cyrillic_E ],
1411                 symbols[Group3]= [          egrave,          Egrave,       braceleft,        NoSymbol,        NoSymbol,      dead_caron,        NoSymbol,        NoSymbol ],
1412                 symbols[Group4]= [               y,               Y,              at,   Greek_upsilon,          period,      KP_Decimal,           nabla,        NoSymbol ]
1413         };
1414         key <TLDE>               {
1415                 type[group2]= "ALPHABETIC",
1416                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1417                 type[group4]= "EIGHT_LEVEL",
1418                 symbols[Group1]= [           grave,      asciitilde ],
1419                 symbols[Group2]= [     Cyrillic_io,     Cyrillic_IO ],
1420                 symbols[Group3]= [           slash,       backslash,             bar,        NoSymbol,        NoSymbol,          hyphen,        NoSymbol,        NoSymbol ],
1421                 symbols[Group4]= [ dead_circumflex,      dead_caron,           U21BB,           U02DE,   dead_abovedot, Pointer_EnableKeys,   dead_belowdot,        NoSymbol ]
1422         };
1423         key <LFSH>               {
1424                 type[group4]= "TWO_LEVEL",
1425                 symbols[Group1]= [         Shift_L ],
1426                 symbols[Group2]= [         Shift_L ],
1427                 symbols[Group3]= [         Shift_L ],
1428                 symbols[Group4]= [         Shift_L,       Caps_Lock ]
1429         };
1430         key <BKSL>               {
1431                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1432                 type[group4]= "ONE_LEVEL",
1433                 symbols[Group1]= [       backslash,             bar ],
1434                 symbols[Group2]= [       backslash,           slash ],
1435                 symbols[Group3]= [          agrave,          Agrave,      braceright,        NoSymbol,        NoSymbol,      dead_breve,        NoSymbol,        NoSymbol ],
1436                 symbols[Group4]= [ ISO_Level3_Shift ]
1437         };
1438         key <AB01>               {
1439                 type[group1]= "ALPHABETIC",
1440                 type[group2]= "ALPHABETIC",
1441                 type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
1442                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1443                 symbols[Group1]= [               z,               Z ],
1444                 symbols[Group2]= [     Cyrillic_ya,     Cyrillic_YA ],
1445                 symbols[Group3]= [               z,               Z,   guillemotleft,        NoSymbol ],
1446                 symbols[Group4]= [      udiaeresis,      Udiaeresis,      numbersign,        NoSymbol,          Escape,          Escape,           union,        NoSymbol ]
1447         };
1448         key <AB02>               {
1449                 type[group1]= "ALPHABETIC",
1450                 type[group2]= "ALPHABETIC",
1451                 type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
1452                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1453                 symbols[Group1]= [               x,               X ],
1454                 symbols[Group2]= [    Cyrillic_che,    Cyrillic_CHE ],
1455                 symbols[Group3]= [               x,               X,  guillemotright,        NoSymbol ],
1456                 symbols[Group4]= [      odiaeresis,      Odiaeresis,          dollar,           U03F5,             Tab,             Tab,    intersection,        NoSymbol ]
1457         };
1458         key <AB03>               {
1459                 type[group1]= "ALPHABETIC",
1460                 type[group2]= "ALPHABETIC",
1461                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1462                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1463                 symbols[Group1]= [               c,               C ],
1464                 symbols[Group2]= [     Cyrillic_es,     Cyrillic_ES ],
1465                 symbols[Group3]= [               c,               C,        NoSymbol,        NoSymbol,            cent,       copyright,        NoSymbol,        NoSymbol ],
1466                 symbols[Group4]= [      adiaeresis,      Adiaeresis,             bar,       Greek_eta,          Insert,          Insert,           U2135,        NoSymbol ]
1467         };
1468         key <AB04>               {
1469                 type[group1]= "ALPHABETIC",
1470                 type[group2]= "ALPHABETIC",
1471                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1472                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1473                 symbols[Group1]= [               v,               V ],
1474                 symbols[Group2]= [     Cyrillic_em,     Cyrillic_EM ],
1475                 symbols[Group3]= [               v,               V,        NoSymbol,        NoSymbol, leftdoublequotemark, leftsinglequotemark,        NoSymbol,        NoSymbol ],
1476                 symbols[Group4]= [               p,               P,      asciitilde,        Greek_pi,          Return,          Return,        Greek_PI,        NoSymbol ]
1477         };
1478         key <AB05>               {
1479                 type[group1]= "ALPHABETIC",
1480                 type[group2]= "ALPHABETIC",
1481                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1482                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1483                 symbols[Group1]= [               b,               B ],
1484                 symbols[Group2]= [      Cyrillic_i,      Cyrillic_I ],
1485                 symbols[Group3]= [               b,               B,        NoSymbol,        NoSymbol, rightdoublequotemark, rightsinglequotemark,        NoSymbol,        NoSymbol ],
1486                 symbols[Group4]= [               z,               Z,           grave,      Greek_zeta,            Undo,            Undo,           U2124,        NoSymbol ]
1487         };
1488         key <AB06>               {
1489                 type[group1]= "ALPHABETIC",
1490                 type[group2]= "ALPHABETIC",
1491                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1492                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1493                 symbols[Group1]= [               n,               N ],
1494                 symbols[Group2]= [     Cyrillic_te,     Cyrillic_TE ],
1495                 symbols[Group3]= [               n,               N,        NoSymbol,        NoSymbol,           U0149,           U266A,        NoSymbol,        NoSymbol ],
1496                 symbols[Group4]= [               b,               B,            plus,      Greek_beta,           colon,        NoSymbol,           U21D0,        NoSymbol ]
1497         };
1498         key <AB07>               {
1499                 type[group1]= "ALPHABETIC",
1500                 type[group2]= "ALPHABETIC",
1501                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1502                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1503                 symbols[Group1]= [               m,               M ],
1504                 symbols[Group2]= [ Cyrillic_softsign, Cyrillic_SOFTSIGN ],
1505                 symbols[Group3]= [               m,               M,              mu,        NoSymbol,              mu,       masculine,        NoSymbol,        NoSymbol ],
1506                 symbols[Group4]= [               m,               M,         percent,        Greek_mu,            KP_1,            KP_1,        ifonlyif,        NoSymbol ]
1507         };
1508         key <AB08>               {
1509                 type[group2]= "ALPHABETIC",
1510                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1511                 type[group4]= "EIGHT_LEVEL",
1512                 symbols[Group1]= [           comma,            less ],
1513                 symbols[Group2]= [     Cyrillic_be,     Cyrillic_BE ],
1514                 symbols[Group3]= [           comma,      apostrophe,            less,        NoSymbol,  Greek_horizbar,        multiply,        NoSymbol,        NoSymbol ],
1515                 symbols[Group4]= [           comma,          endash,        quotedbl,           U03F1,            KP_2,            KP_2,           U21D2,        NoSymbol ]
1516         };
1517         key <AB09>               {
1518                 type[group2]= "ALPHABETIC",
1519                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1520                 type[group4]= "EIGHT_LEVEL",
1521                 symbols[Group1]= [          period,         greater ],
1522                 symbols[Group2]= [     Cyrillic_yu,     Cyrillic_YU ],
1523                 symbols[Group3]= [          period,        quotedbl,         greater,        NoSymbol,  periodcentered,        division,        NoSymbol,        NoSymbol ],
1524                 symbols[Group4]= [          period, enfilledcircbullet,      apostrophe,           U03D1,            KP_3,            KP_3,           U21A6,        NoSymbol ]
1525         };
1526         key <AB10>               {
1527                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1528                 type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
1529                 symbols[Group1]= [           slash,        question ],
1530                 symbols[Group2]= [          period,           comma ],
1531                 symbols[Group3]= [          eacute,          Eacute,      dead_acute,        NoSymbol,        NoSymbol,   dead_abovedot,        NoSymbol,        NoSymbol ],
1532                 symbols[Group4]= [               j,               J,       semicolon,     Greek_theta,       semicolon,        NoSymbol,     Greek_THETA,        NoSymbol ]
1533         };
1534         key <RTSH>               {
1535                 type[group4]= "TWO_LEVEL",
1536                 symbols[Group1]= [         Shift_R ],
1537                 symbols[Group2]= [         Shift_R ],
1538                 symbols[Group3]= [         Shift_R ],
1539                 symbols[Group4]= [         Shift_R,       Caps_Lock ]
1540         };
1541         key <KPMU>               {
1542                 type[group1]= "CTRL+ALT",
1543                 type[group2]= "CTRL+ALT",
1544                 type[group3]= "CTRL+ALT",
1545                 type[group4]= "EIGHT_LEVEL",
1546                 symbols[Group1]= [     KP_Multiply,     KP_Multiply,     KP_Multiply,     KP_Multiply,   XF86ClearGrab ],
1547                 symbols[Group2]= [     KP_Multiply,     KP_Multiply,     KP_Multiply,     KP_Multiply,   XF86ClearGrab ],
1548                 symbols[Group3]= [     KP_Multiply,     KP_Multiply,     KP_Multiply,     KP_Multiply,   XF86ClearGrab ],
1549                 symbols[Group4]= [     KP_Multiply,     KP_Multiply,           U2219,           U2299,        multiply,        NoSymbol,           U2297,        NoSymbol ]
1550         };
1551         key <LALT>               {      [           Alt_L,          Meta_L ] };
1552         key <SPCE>               {
1553                 type[group3]= "FOUR_LEVEL",
1554                 type[group4]= "EIGHT_LEVEL",
1555                 symbols[Group1]= [           space ],
1556                 symbols[Group2]= [           space ],
1557                 symbols[Group3]= [           space,           space,    nobreakspace,        NoSymbol ],
1558                 symbols[Group4]= [           space,           space,           space,    nobreakspace,            KP_0,            KP_0,           U202F,        NoSymbol ]
1559         };
1560         key <CAPS>               {
1561                 type= "ONE_LEVEL",
1562                 symbols[Group1]= [       Caps_Lock ],
1563                 symbols[Group2]= [       Caps_Lock ],
1564                 symbols[Group3]= [       Caps_Lock ],
1565                 symbols[Group4]= [ ISO_Level3_Shift ]
1566         };
1567         key <FK01>               {
1568                 type= "CTRL+ALT",
1569                 symbols[Group1]= [              F1,              F1,              F1,              F1, XF86Switch_VT_1 ]
1570         };
1571         key <FK02>               {
1572                 type= "CTRL+ALT",
1573                 symbols[Group1]= [              F2,              F2,              F2,              F2, XF86Switch_VT_2 ]
1574         };
1575         key <FK03>               {
1576                 type= "CTRL+ALT",
1577                 symbols[Group1]= [              F3,              F3,              F3,              F3, XF86Switch_VT_3 ]
1578         };
1579         key <FK04>               {
1580                 type= "CTRL+ALT",
1581                 symbols[Group1]= [              F4,              F4,              F4,              F4, XF86Switch_VT_4 ]
1582         };
1583         key <FK05>               {
1584                 type= "CTRL+ALT",
1585                 symbols[Group1]= [              F5,              F5,              F5,              F5, XF86Switch_VT_5 ]
1586         };
1587         key <FK06>               {
1588                 type= "CTRL+ALT",
1589                 symbols[Group1]= [              F6,              F6,              F6,              F6, XF86Switch_VT_6 ]
1590         };
1591         key <FK07>               {
1592                 type= "CTRL+ALT",
1593                 symbols[Group1]= [              F7,              F7,              F7,              F7, XF86Switch_VT_7 ]
1594         };
1595         key <FK08>               {
1596                 type= "CTRL+ALT",
1597                 symbols[Group1]= [              F8,              F8,              F8,              F8, XF86Switch_VT_8 ]
1598         };
1599         key <FK09>               {
1600                 type= "CTRL+ALT",
1601                 symbols[Group1]= [              F9,              F9,              F9,              F9, XF86Switch_VT_9 ]
1602         };
1603         key <FK10>               {
1604                 type= "CTRL+ALT",
1605                 symbols[Group1]= [             F10,             F10,             F10,             F10, XF86Switch_VT_10 ]
1606         };
1607         key <NMLK>               {
1608                 type[group4]= "EIGHT_LEVEL",
1609                 symbols[Group1]= [        Num_Lock ],
1610                 symbols[Group2]= [        Num_Lock ],
1611                 symbols[Group3]= [        Num_Lock ],
1612                 symbols[Group4]= [             Tab,    ISO_Left_Tab,           equal,        approxeq,        notequal, Pointer_EnableKeys,       identical,        NoSymbol ]
1613         };
1614         key <SCLK>               {      [     Scroll_Lock ] };
1615         key <KP7>                {
1616                 type[group4]= "EIGHT_LEVEL",
1617                 symbols[Group1]= [         KP_Home,            KP_7 ],
1618                 symbols[Group2]= [         KP_Home,            KP_7 ],
1619                 symbols[Group3]= [         KP_Home,            KP_7 ],
1620                 symbols[Group4]= [            KP_7,           U2714,           U2195,           U226A,         KP_Home,         KP_Home,         upstile,        NoSymbol ]
1621         };
1622         key <KP8>                {
1623                 type[group4]= "EIGHT_LEVEL",
1624                 symbols[Group1]= [           KP_Up,            KP_8 ],
1625                 symbols[Group2]= [           KP_Up,            KP_8 ],
1626                 symbols[Group3]= [           KP_Up,            KP_8 ],
1627                 symbols[Group4]= [            KP_8,           U2718,         uparrow,    intersection,           KP_Up,           KP_Up,           U22C2,        NoSymbol ]
1628         };
1629         key <KP9>                {
1630                 type[group4]= "EIGHT_LEVEL",
1631                 symbols[Group1]= [        KP_Prior,            KP_9 ],
1632                 symbols[Group2]= [        KP_Prior,            KP_9 ],
1633                 symbols[Group3]= [        KP_Prior,            KP_9 ],
1634                 symbols[Group4]= [            KP_9,          dagger,           U20D7,           U226B,        KP_Prior,        KP_Prior,           U2309,        NoSymbol ]
1635         };
1636         key <KPSU>               {
1637                 type[group1]= "CTRL+ALT",
1638                 type[group2]= "CTRL+ALT",
1639                 type[group3]= "CTRL+ALT",
1640                 type[group4]= "EIGHT_LEVEL",
1641                 symbols[Group1]= [     KP_Subtract,     KP_Subtract,     KP_Subtract,     KP_Subtract,  XF86Prev_VMode ],
1642                 symbols[Group2]= [     KP_Subtract,     KP_Subtract,     KP_Subtract,     KP_Subtract,  XF86Prev_VMode ],
1643                 symbols[Group3]= [     KP_Subtract,     KP_Subtract,     KP_Subtract,     KP_Subtract,  XF86Prev_VMode ],
1644                 symbols[Group4]= [     KP_Subtract,     KP_Subtract,           U2212,           U2296,           U2216,        NoSymbol,           U2238,        NoSymbol ]
1645         };
1646         key <KP4>                {
1647                 type[group4]= "EIGHT_LEVEL",
1648                 symbols[Group1]= [         KP_Left,            KP_4 ],
1649                 symbols[Group2]= [         KP_Left,            KP_4 ],
1650                 symbols[Group3]= [         KP_Left,            KP_4 ],
1651                 symbols[Group4]= [            KP_4,            club,       leftarrow,      includedin,         KP_Left,         KP_Left,           U2286,        NoSymbol ]
1652         };
1653         key <KP5>                {
1654                 type[group4]= "EIGHT_LEVEL",
1655                 symbols[Group1]= [        KP_Begin,            KP_5 ],
1656                 symbols[Group2]= [        KP_Begin,            KP_5 ],
1657                 symbols[Group3]= [        KP_Begin,            KP_5 ],
1658                 symbols[Group4]= [            KP_5,        EuroSign,           colon,           U22B6,        KP_Begin,        KP_Begin,           U22B7,        NoSymbol ]
1659         };
1660         key <KP6>                {
1661                 type[group4]= "EIGHT_LEVEL",
1662                 symbols[Group1]= [        KP_Right,            KP_6 ],
1663                 symbols[Group2]= [        KP_Right,            KP_6 ],
1664                 symbols[Group3]= [        KP_Right,            KP_6 ],
1665                 symbols[Group4]= [            KP_6,           U2023,      rightarrow,        includes,        KP_Right,        KP_Right,           U2287,        NoSymbol ]
1666         };
1667         key <KPAD>               {
1668                 type[group1]= "CTRL+ALT",
1669                 type[group2]= "CTRL+ALT",
1670                 type[group3]= "CTRL+ALT",
1671                 type[group4]= "EIGHT_LEVEL",
1672                 symbols[Group1]= [          KP_Add,          KP_Add,          KP_Add,          KP_Add,  XF86Next_VMode ],
1673                 symbols[Group2]= [          KP_Add,          KP_Add,          KP_Add,          KP_Add,  XF86Next_VMode ],
1674                 symbols[Group3]= [          KP_Add,          KP_Add,          KP_Add,          KP_Add,  XF86Next_VMode ],
1675                 symbols[Group4]= [          KP_Add,          KP_Add,       plusminus,           U2295,           U2213,        NoSymbol,           U2214,        NoSymbol ]
1676         };
1677         key <KP1>                {
1678                 type[group4]= "EIGHT_LEVEL",
1679                 symbols[Group1]= [          KP_End,            KP_1 ],
1680                 symbols[Group2]= [          KP_End,            KP_1 ],
1681                 symbols[Group3]= [          KP_End,            KP_1 ],
1682                 symbols[Group4]= [            KP_1,         diamond,           U2194,   lessthanequal,          KP_End,          KP_End,       downstile,        NoSymbol ]
1683         };
1684         key <KP2>                {
1685                 type[group4]= "EIGHT_LEVEL",
1686                 symbols[Group1]= [         KP_Down,            KP_2 ],
1687                 symbols[Group2]= [         KP_Down,            KP_2 ],
1688                 symbols[Group3]= [         KP_Down,            KP_2 ],
1689                 symbols[Group4]= [            KP_2,           heart,       downarrow,           union,         KP_Down,         KP_Down,           U22C3,        NoSymbol ]
1690         };
1691         key <KP3>                {
1692                 type[group4]= "EIGHT_LEVEL",
1693                 symbols[Group1]= [         KP_Next,            KP_3 ],
1694                 symbols[Group2]= [         KP_Next,            KP_3 ],
1695                 symbols[Group3]= [         KP_Next,            KP_3 ],
1696                 symbols[Group4]= [            KP_3,           U2660,           U21CC, greaterthanequal,         KP_Next,         KP_Next,           U230B,        NoSymbol ]
1697         };
1698         key <KP0>                {
1699                 type[group4]= "EIGHT_LEVEL",
1700                 symbols[Group1]= [       KP_Insert,            KP_0 ],
1701                 symbols[Group2]= [       KP_Insert,            KP_0 ],
1702                 symbols[Group3]= [       KP_Insert,            KP_0 ],
1703                 symbols[Group4]= [            KP_0,           U2423,         percent,           U2030,       KP_Insert,       KP_Insert,           U25A1,        NoSymbol ]
1704         };
1705         key <KPDL>               {
1706                 type[group2]= "KEYPAD",
1707                 type[group4]= "EIGHT_LEVEL",
1708                 symbols[Group1]= [       KP_Delete,      KP_Decimal ],
1709                 symbols[Group2]= [       KP_Delete,    KP_Separator ],
1710                 symbols[Group3]= [       KP_Delete,      KP_Decimal ],
1711                 symbols[Group4]= [    KP_Separator,          period,           comma,         minutes,       KP_Delete,       KP_Delete,         seconds,        NoSymbol ]
1712         };
1713         key <LVL3>               {      [ ISO_Level3_Shift ] };
1714         key <LSGT>               {
1715                 type[group1]= "FOUR_LEVEL",
1716                 type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
1717                 type[group4]= "ONE_LEVEL",
1718                 symbols[Group1]= [            less,         greater,             bar,       brokenbar ],
1719                 symbols[Group2]= [           slash,             bar ],
1720                 symbols[Group3]= [          ugrave,          Ugrave,          degree,        NoSymbol,        NoSymbol,       brokenbar,        NoSymbol,        NoSymbol ],
1721                 symbols[Group4]= [ ISO_Level5_Shift ]
1722         };
1723         key <FK11>               {
1724                 type= "CTRL+ALT",
1725                 symbols[Group1]= [             F11,             F11,             F11,             F11, XF86Switch_VT_11 ]
1726         };
1727         key <FK12>               {
1728                 type= "CTRL+ALT",
1729                 symbols[Group1]= [             F12,             F12,             F12,             F12, XF86Switch_VT_12 ]
1730         };
1731         key <KATA>               {      [        Katakana ] };
1732         key <HIRA>               {      [        Hiragana ] };
1733         key <HENK>               {      [     Henkan_Mode ] };
1734         key <HKTG>               {      [ Hiragana_Katakana ] };
1735         key <MUHE>               {      [        Muhenkan ] };
1736         key <KPEN>               {
1737                 type[group4]= "EIGHT_LEVEL",
1738                 symbols[Group1]= [        KP_Enter ],
1739                 symbols[Group2]= [        KP_Enter ],
1740                 symbols[Group3]= [        KP_Enter ],
1741                 symbols[Group4]= [        KP_Enter,        KP_Enter,        KP_Enter,        KP_Enter,        KP_Enter,        KP_Enter,        KP_Enter,        NoSymbol ]
1742         };
1743         key <RCTL>               {
1744                 type= "ONE_LEVEL",
1745                 symbols[Group1]= [       Control_R ],
1746                 symbols[Group2]= [       Control_R ],
1747                 symbols[Group3]= [ ISO_Level5_Shift ]
1748         };
1749         key <KPDV>               {
1750                 type[group1]= "CTRL+ALT",
1751                 type[group2]= "CTRL+ALT",
1752                 type[group3]= "CTRL+ALT",
1753                 type[group4]= "EIGHT_LEVEL",
1754                 symbols[Group1]= [       KP_Divide,       KP_Divide,       KP_Divide,       KP_Divide,      XF86Ungrab ],
1755                 symbols[Group2]= [       KP_Divide,       KP_Divide,       KP_Divide,       KP_Divide,      XF86Ungrab ],
1756                 symbols[Group3]= [       KP_Divide,       KP_Divide,       KP_Divide,       KP_Divide,      XF86Ungrab ],
1757                 symbols[Group4]= [       KP_Divide,       KP_Divide,        division,           U2300,           U2215,        NoSymbol,           U2223,        NoSymbol ]
1758         };
1759         key <PRSC>               {
1760                 type= "PC_ALT_LEVEL2",
1761                 symbols[Group1]= [           Print,         Sys_Req ]
1762         };
1763         key <RALT>               {
1764                 type[group1]= "TWO_LEVEL",
1765                 type[group2]= "TWO_LEVEL",
1766                 type[group3]= "ONE_LEVEL",
1767                 type[group4]= "ONE_LEVEL",
1768                 symbols[Group1]= [           Alt_R,          Meta_R ],
1769                 symbols[Group2]= [           Alt_R,          Meta_R ],
1770                 symbols[Group3]= [ ISO_Level3_Shift ],
1771                 symbols[Group4]= [ ISO_Level5_Shift ]
1772         };
1773         key <LNFD>               {      [        Linefeed ] };
1774         key <HOME>               {      [            Home ] };
1775         key <UP>                 {      [              Up ] };
1776         key <PGUP>               {      [           Prior ] };
1777         key <LEFT>               {      [            Left ] };
1778         key <RGHT>               {      [           Right ] };
1779         key <END>                {      [             End ] };
1780         key <DOWN>               {      [            Down ] };
1781         key <PGDN>               {      [            Next ] };
1782         key <INS>                {      [          Insert ] };
1783         key <DELE>               {      [          Delete ] };
1784         key <MUTE>               {      [   XF86AudioMute ] };
1785         key <VOL->               {      [ XF86AudioLowerVolume ] };
1786         key <VOL+>               {      [ XF86AudioRaiseVolume ] };
1787         key <POWR>               {      [    XF86PowerOff ] };
1788         key <KPEQ>               {
1789                 type[group4]= "EIGHT_LEVEL",
1790                 symbols[Group1]= [        KP_Equal ],
1791                 symbols[Group2]= [        KP_Equal ],
1792                 symbols[Group3]= [        KP_Equal ],
1793                 symbols[Group4]= [        KP_Equal,        NoSymbol,        NoSymbol,        NoSymbol,        NoSymbol,        NoSymbol,        NoSymbol,        NoSymbol ]
1794         };
1795         key <I126>               {      [       plusminus ] };
1796         key <PAUS>               {
1797                 type= "PC_CONTROL_LEVEL2",
1798                 symbols[Group1]= [           Pause,           Break ]
1799         };
1800         key <I128>               {      [     XF86LaunchA ] };
1801         key <I129>               {      [      KP_Decimal,      KP_Decimal ] };
1802         key <HNGL>               {      [          Hangul ] };
1803         key <HJCV>               {      [    Hangul_Hanja ] };
1804         key <LWIN>               {      [         Super_L ] };
1805         key <RWIN>               {      [         Super_R ] };
1806         key <COMP>               {      [            Menu ] };
1807         key <STOP>               {      [          Cancel ] };
1808         key <AGAI>               {      [            Redo ] };
1809         key <PROP>               {      [        SunProps ] };
1810         key <UNDO>               {      [            Undo ] };
1811         key <FRNT>               {      [        SunFront ] };
1812         key <COPY>               {      [        XF86Copy ] };
1813         key <OPEN>               {      [         SunOpen ] };
1814         key <PAST>               {      [       XF86Paste ] };
1815         key <FIND>               {      [            Find ] };
1816         key <CUT>                {      [         XF86Cut ] };
1817         key <HELP>               {      [            Help ] };
1818         key <I147>               {      [      XF86MenuKB ] };
1819         key <I148>               {      [  XF86Calculator ] };
1820         key <I150>               {      [       XF86Sleep ] };
1821         key <I151>               {      [      XF86WakeUp ] };
1822         key <I152>               {      [    XF86Explorer ] };
1823         key <I153>               {      [        XF86Send ] };
1824         key <I155>               {      [        XF86Xfer ] };
1825         key <I156>               {      [     XF86Launch1 ] };
1826         key <I157>               {      [     XF86Launch2 ] };
1827         key <I158>               {      [         XF86WWW ] };
1828         key <I159>               {      [         XF86DOS ] };
1829         key <I160>               {      [ XF86ScreenSaver ] };
1830         key <I162>               {      [ XF86RotateWindows ] };
1831         key <I163>               {      [        XF86Mail ] };
1832         key <I164>               {      [   XF86Favorites ] };
1833         key <I165>               {      [  XF86MyComputer ] };
1834         key <I166>               {      [        XF86Back ] };
1835         key <I167>               {      [     XF86Forward ] };
1836         key <I169>               {      [       XF86Eject ] };
1837         key <I170>               {      [       XF86Eject,       XF86Eject ] };
1838         key <I171>               {      [   XF86AudioNext ] };
1839         key <I172>               {      [   XF86AudioPlay,  XF86AudioPause ] };
1840         key <I173>               {      [   XF86AudioPrev ] };
1841         key <I174>               {      [   XF86AudioStop,       XF86Eject ] };
1842         key <I175>               {      [ XF86AudioRecord ] };
1843         key <I176>               {      [ XF86AudioRewind ] };
1844         key <I177>               {      [       XF86Phone ] };
1845         key <I179>               {      [       XF86Tools ] };
1846         key <I180>               {      [    XF86HomePage ] };
1847         key <I181>               {      [      XF86Reload ] };
1848         key <I182>               {      [       XF86Close ] };
1849         key <I185>               {      [    XF86ScrollUp ] };
1850         key <I186>               {      [  XF86ScrollDown ] };
1851         key <I187>               {      [       parenleft ] };
1852         key <I188>               {      [      parenright ] };
1853         key <I189>               {      [         XF86New ] };
1854         key <I190>               {      [            Redo ] };
1855         key <FK13>               {      [       XF86Tools ] };
1856         key <FK14>               {      [     XF86Launch5 ] };
1857         key <FK15>               {      [     XF86Launch6 ] };
1858         key <FK16>               {      [     XF86Launch7 ] };
1859         key <FK17>               {      [     XF86Launch8 ] };
1860         key <FK18>               {      [     XF86Launch9 ] };
1861         key <FK21>               {      [ XF86TouchpadToggle ] };
1862         key <FK22>               {      [  XF86TouchpadOn ] };
1863         key <FK23>               {      [ XF86TouchpadOff ] };
1864         key <MDSW>               {      [     Mode_switch ] };
1865         key <ALT>                {      [        NoSymbol,           Alt_L ] };
1866         key <META>               {      [        NoSymbol,          Meta_L ] };
1867         key <SUPR>               {      [        NoSymbol,         Super_L ] };
1868         key <HYPR>               {      [        NoSymbol,         Hyper_L ] };
1869         key <I208>               {      [   XF86AudioPlay ] };
1870         key <I209>               {      [  XF86AudioPause ] };
1871         key <I210>               {      [     XF86Launch3 ] };
1872         key <I211>               {      [     XF86Launch4 ] };
1873         key <I212>               {      [     XF86LaunchB ] };
1874         key <I213>               {      [     XF86Suspend ] };
1875         key <I214>               {      [       XF86Close ] };
1876         key <I215>               {      [   XF86AudioPlay ] };
1877         key <I216>               {      [ XF86AudioForward ] };
1878         key <I218>               {      [           Print ] };
1879         key <I220>               {      [      XF86WebCam ] };
1880         key <I223>               {      [        XF86Mail ] };
1881         key <I224>               {      [   XF86Messenger ] };
1882         key <I225>               {      [      XF86Search ] };
1883         key <I226>               {      [          XF86Go ] };
1884         key <I227>               {      [     XF86Finance ] };
1885         key <I228>               {      [        XF86Game ] };
1886         key <I229>               {      [        XF86Shop ] };
1887         key <I231>               {      [          Cancel ] };
1888         key <I232>               {      [ XF86MonBrightnessDown ] };
1889         key <I233>               {      [ XF86MonBrightnessUp ] };
1890         key <I234>               {      [  XF86AudioMedia ] };
1891         key <I235>               {      [     XF86Display ] };
1892         key <I236>               {      [ XF86KbdLightOnOff ] };
1893         key <I237>               {      [ XF86KbdBrightnessDown ] };
1894         key <I238>               {      [ XF86KbdBrightnessUp ] };
1895         key <I239>               {      [        XF86Send ] };
1896         key <I240>               {      [       XF86Reply ] };
1897         key <I241>               {      [ XF86MailForward ] };
1898         key <I242>               {      [        XF86Save ] };
1899         key <I243>               {      [   XF86Documents ] };
1900         key <I244>               {      [     XF86Battery ] };
1901         key <I245>               {      [   XF86Bluetooth ] };
1902         key <I246>               {      [        XF86WLAN ] };
1903         modifier_map Control { <LCTL> };
1904         modifier_map Shift { <LFSH> };
1905         modifier_map Shift { <RTSH> };
1906         modifier_map Mod1 { <LALT> };
1907         modifier_map Lock { <CAPS> };
1908         modifier_map Mod2 { <NMLK> };
1909         modifier_map Mod5 { <LVL3> };
1910         modifier_map Mod3 { <RCTL> };
1911         modifier_map Mod1 { <RALT> };
1912         modifier_map Mod4 { <LWIN> };
1913         modifier_map Mod4 { <RWIN> };
1914         modifier_map Mod5 { <MDSW> };
1915         modifier_map Mod1 { <META> };
1916         modifier_map Mod4 { <SUPR> };
1917         modifier_map Mod4 { <HYPR> };
1918 };
1919
1920 };