1xkb_keymap {
2xkb_keycodes "evdev+aliases(qwertz)" {
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    virtual indicator 12 = "Shift Lock";
261    virtual indicator 13 = "Group 2";
262    virtual 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 <LatZ> = <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 <LatY> = <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
298xkb_types "complete" {
299
300    virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
301
302    type "ONE_LEVEL" {
303        modifiers= none;
304        level_name[Level1]= "Any";
305    };
306    type "TWO_LEVEL" {
307        modifiers= Shift;
308        map[Shift]= Level2;
309        level_name[Level1]= "Base";
310        level_name[Level2]= "Shift";
311    };
312    type "ALPHABETIC" {
313        modifiers= Shift+Lock;
314        map[Shift]= Level2;
315        map[Lock]= Level2;
316        level_name[Level1]= "Base";
317        level_name[Level2]= "Caps";
318    };
319    type "KEYPAD" {
320        modifiers= Shift+NumLock;
321        map[Shift]= Level2;
322        map[NumLock]= Level2;
323        level_name[Level1]= "Base";
324        level_name[Level2]= "Number";
325    };
326    type "SHIFT+ALT" {
327        modifiers= Shift+Alt;
328        map[Shift+Alt]= Level2;
329        level_name[Level1]= "Base";
330        level_name[Level2]= "Shift+Alt";
331    };
332    type "PC_CONTROL_LEVEL2" {
333        modifiers= Control;
334        map[Control]= Level2;
335        level_name[Level1]= "Base";
336        level_name[Level2]= "Control";
337    };
338    type "PC_LCONTROL_LEVEL2" {
339        modifiers= LControl;
340        map[LControl]= Level2;
341        level_name[Level1]= "Base";
342        level_name[Level2]= "LControl";
343    };
344    type "PC_RCONTROL_LEVEL2" {
345        modifiers= RControl;
346        map[RControl]= Level2;
347        level_name[Level1]= "Base";
348        level_name[Level2]= "RControl";
349    };
350    type "PC_ALT_LEVEL2" {
351        modifiers= Alt;
352        map[Alt]= Level2;
353        level_name[Level1]= "Base";
354        level_name[Level2]= "Alt";
355    };
356    type "PC_LALT_LEVEL2" {
357        modifiers= LAlt;
358        map[LAlt]= Level2;
359        level_name[Level1]= "Base";
360        level_name[Level2]= "LAlt";
361    };
362    type "PC_RALT_LEVEL2" {
363        modifiers= RAlt;
364        map[RAlt]= Level2;
365        level_name[Level1]= "Base";
366        level_name[Level2]= "RAlt";
367    };
368    type "CTRL+ALT" {
369        modifiers= Shift+Control+Alt+LevelThree;
370        map[Shift]= Level2;
371        preserve[Shift]= Shift;
372        map[LevelThree]= Level3;
373        map[Shift+LevelThree]= Level4;
374        preserve[Shift+LevelThree]= Shift;
375        map[Control+Alt]= Level5;
376        level_name[Level1]= "Base";
377        level_name[Level2]= "Shift";
378        level_name[Level3]= "Alt Base";
379        level_name[Level4]= "Shift Alt";
380        level_name[Level5]= "Ctrl+Alt";
381    };
382    type "LOCAL_EIGHT_LEVEL" {
383        modifiers= Shift+Lock+Control+LevelThree;
384        map[Shift+Lock]= Level1;
385        map[Shift]= Level2;
386        map[Lock]= Level2;
387        map[LevelThree]= Level3;
388        map[Shift+Lock+LevelThree]= Level3;
389        map[Shift+LevelThree]= Level4;
390        map[Lock+LevelThree]= Level4;
391        map[Control]= Level5;
392        map[Shift+Lock+Control]= Level5;
393        map[Shift+Control]= Level6;
394        map[Lock+Control]= Level6;
395        map[Control+LevelThree]= Level7;
396        map[Shift+Lock+Control+LevelThree]= Level7;
397        map[Shift+Control+LevelThree]= Level8;
398        map[Lock+Control+LevelThree]= Level8;
399        level_name[Level1]= "Base";
400        level_name[Level2]= "Shift";
401        level_name[Level3]= "Level3";
402        level_name[Level4]= "Shift Level3";
403        level_name[Level5]= "Ctrl";
404        level_name[Level6]= "Shift Ctrl";
405        level_name[Level7]= "Level3 Ctrl";
406        level_name[Level8]= "Shift Level3 Ctrl";
407    };
408    type "THREE_LEVEL" {
409        modifiers= Shift+LevelThree;
410        map[Shift]= Level2;
411        map[LevelThree]= Level3;
412        map[Shift+LevelThree]= Level3;
413        level_name[Level1]= "Base";
414        level_name[Level2]= "Shift";
415        level_name[Level3]= "Level3";
416    };
417    type "EIGHT_LEVEL" {
418        modifiers= Shift+LevelThree+LevelFive;
419        map[Shift]= Level2;
420        map[LevelThree]= Level3;
421        map[Shift+LevelThree]= Level4;
422        map[LevelFive]= Level5;
423        map[Shift+LevelFive]= Level6;
424        map[LevelThree+LevelFive]= Level7;
425        map[Shift+LevelThree+LevelFive]= Level8;
426        level_name[Level1]= "Base";
427        level_name[Level2]= "Shift";
428        level_name[Level3]= "Alt Base";
429        level_name[Level4]= "Shift Alt";
430        level_name[Level5]= "X";
431        level_name[Level6]= "X Shift";
432        level_name[Level7]= "X Alt Base";
433        level_name[Level8]= "X Shift Alt";
434    };
435    type "EIGHT_LEVEL_ALPHABETIC" {
436        modifiers= Shift+Lock+LevelThree+LevelFive;
437        map[Shift]= Level2;
438        map[Lock]= Level2;
439        map[LevelThree]= Level3;
440        map[Shift+LevelThree]= Level4;
441        map[Lock+LevelThree]= Level4;
442        map[Shift+Lock+LevelThree]= Level3;
443        map[LevelFive]= Level5;
444        map[Shift+LevelFive]= Level6;
445        map[Lock+LevelFive]= Level6;
446        map[LevelThree+LevelFive]= Level7;
447        map[Shift+LevelThree+LevelFive]= Level8;
448        map[Lock+LevelThree+LevelFive]= Level8;
449        map[Shift+Lock+LevelThree+LevelFive]= Level7;
450        level_name[Level1]= "Base";
451        level_name[Level2]= "Shift";
452        level_name[Level3]= "Alt Base";
453        level_name[Level4]= "Shift Alt";
454        level_name[Level5]= "X";
455        level_name[Level6]= "X Shift";
456        level_name[Level7]= "X Alt Base";
457        level_name[Level8]= "X Shift Alt";
458    };
459    type "EIGHT_LEVEL_SEMIALPHABETIC" {
460        modifiers= Shift+Lock+LevelThree+LevelFive;
461        map[Shift]= Level2;
462        map[Lock]= Level2;
463        map[LevelThree]= Level3;
464        map[Shift+LevelThree]= Level4;
465        map[Lock+LevelThree]= Level3;
466        preserve[Lock+LevelThree]= Lock;
467        map[Shift+Lock+LevelThree]= Level4;
468        preserve[Shift+Lock+LevelThree]= Lock;
469        map[LevelFive]= Level5;
470        map[Shift+LevelFive]= Level6;
471        map[Lock+LevelFive]= Level6;
472        preserve[Lock+LevelFive]= Lock;
473        map[Shift+Lock+LevelFive]= Level6;
474        preserve[Shift+Lock+LevelFive]= Lock;
475        map[LevelThree+LevelFive]= Level7;
476        map[Shift+LevelThree+LevelFive]= Level8;
477        map[Lock+LevelThree+LevelFive]= Level7;
478        preserve[Lock+LevelThree+LevelFive]= Lock;
479        map[Shift+Lock+LevelThree+LevelFive]= Level8;
480        preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
481        level_name[Level1]= "Base";
482        level_name[Level2]= "Shift";
483        level_name[Level3]= "Alt Base";
484        level_name[Level4]= "Shift Alt";
485        level_name[Level5]= "X";
486        level_name[Level6]= "X Shift";
487        level_name[Level7]= "X Alt Base";
488        level_name[Level8]= "X Shift Alt";
489    };
490    type "FOUR_LEVEL" {
491        modifiers= Shift+LevelThree;
492        map[Shift]= Level2;
493        map[LevelThree]= Level3;
494        map[Shift+LevelThree]= Level4;
495        level_name[Level1]= "Base";
496        level_name[Level2]= "Shift";
497        level_name[Level3]= "Alt Base";
498        level_name[Level4]= "Shift Alt";
499    };
500    type "FOUR_LEVEL_ALPHABETIC" {
501        modifiers= Shift+Lock+LevelThree;
502        map[Shift]= Level2;
503        map[Lock]= Level2;
504        map[LevelThree]= Level3;
505        map[Shift+LevelThree]= Level4;
506        map[Lock+LevelThree]= Level4;
507        map[Shift+Lock+LevelThree]= Level3;
508        level_name[Level1]= "Base";
509        level_name[Level2]= "Shift";
510        level_name[Level3]= "Alt Base";
511        level_name[Level4]= "Shift Alt";
512    };
513    type "FOUR_LEVEL_SEMIALPHABETIC" {
514        modifiers= Shift+Lock+LevelThree;
515        map[Shift]= Level2;
516        map[Lock]= Level2;
517        map[LevelThree]= Level3;
518        map[Shift+LevelThree]= Level4;
519        map[Lock+LevelThree]= Level3;
520        preserve[Lock+LevelThree]= Lock;
521        map[Shift+Lock+LevelThree]= Level4;
522        preserve[Shift+Lock+LevelThree]= Lock;
523        level_name[Level1]= "Base";
524        level_name[Level2]= "Shift";
525        level_name[Level3]= "Alt Base";
526        level_name[Level4]= "Shift Alt";
527    };
528    type "FOUR_LEVEL_MIXED_KEYPAD" {
529        modifiers= Shift+NumLock+LevelThree;
530        map[Shift+NumLock]= Level1;
531        map[NumLock]= Level2;
532        map[Shift]= Level2;
533        map[LevelThree]= Level3;
534        map[NumLock+LevelThree]= Level3;
535        map[Shift+LevelThree]= Level4;
536        map[Shift+NumLock+LevelThree]= Level4;
537        level_name[Level1]= "Base";
538        level_name[Level2]= "Number";
539        level_name[Level3]= "Alt Base";
540        level_name[Level4]= "Shift Alt";
541    };
542    type "FOUR_LEVEL_X" {
543        modifiers= Shift+Control+Alt+LevelThree;
544        map[LevelThree]= Level2;
545        map[Shift+LevelThree]= Level3;
546        map[Control+Alt]= Level4;
547        level_name[Level1]= "Base";
548        level_name[Level2]= "Alt Base";
549        level_name[Level3]= "Shift Alt";
550        level_name[Level4]= "Ctrl+Alt";
551    };
552    type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
553        modifiers= Shift+Lock+LevelThree;
554        map[Shift]= Level2;
555        map[Lock]= Level4;
556        preserve[Lock]= Lock;
557        map[LevelThree]= Level3;
558        map[Shift+LevelThree]= Level4;
559        map[Lock+LevelThree]= Level3;
560        preserve[Lock+LevelThree]= Lock;
561        map[Shift+Lock+LevelThree]= Level3;
562        level_name[Level1]= "Base";
563        level_name[Level2]= "Shift";
564        level_name[Level3]= "AltGr Base";
565        level_name[Level4]= "Shift AltGr";
566    };
567    type "FOUR_LEVEL_PLUS_LOCK" {
568        modifiers= Shift+Lock+LevelThree;
569        map[Shift]= Level2;
570        map[LevelThree]= Level3;
571        map[Shift+LevelThree]= Level4;
572        map[Lock]= Level5;
573        map[Shift+Lock]= Level2;
574        map[Lock+LevelThree]= Level3;
575        map[Shift+Lock+LevelThree]= Level4;
576        level_name[Level1]= "Base";
577        level_name[Level2]= "Shift";
578        level_name[Level3]= "Alt Base";
579        level_name[Level4]= "Shift Alt";
580        level_name[Level5]= "Lock";
581    };
582    type "FOUR_LEVEL_KEYPAD" {
583        modifiers= Shift+NumLock+LevelThree;
584        map[Shift]= Level2;
585        map[NumLock]= Level2;
586        map[LevelThree]= Level3;
587        map[Shift+LevelThree]= Level4;
588        map[NumLock+LevelThree]= Level4;
589        map[Shift+NumLock+LevelThree]= Level3;
590        level_name[Level1]= "Base";
591        level_name[Level2]= "Number";
592        level_name[Level3]= "Alt Base";
593        level_name[Level4]= "Alt Number";
594    };
595};
596
597xkb_compatibility "complete" {
598
599    virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
600
601    interpret.useModMapMods= AnyLevel;
602    interpret.repeat= False;
603    interpret.locking= False;
604    interpret ISO_Level2_Latch+Exactly(Shift) {
605        useModMapMods=level1;
606        action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
607    };
608    interpret Shift_Lock+AnyOf(Shift+Lock) {
609        action= LockMods(modifiers=Shift);
610    };
611    interpret Num_Lock+AnyOf(all) {
612        virtualModifier= NumLock;
613        action= LockMods(modifiers=NumLock);
614    };
615    interpret ISO_Level3_Shift+AnyOf(all) {
616        virtualModifier= LevelThree;
617        useModMapMods=level1;
618        action= SetMods(modifiers=LevelThree,clearLocks);
619    };
620    interpret ISO_Level3_Latch+AnyOf(all) {
621        virtualModifier= LevelThree;
622        useModMapMods=level1;
623        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
624    };
625    interpret ISO_Level3_Lock+AnyOf(all) {
626        virtualModifier= LevelThree;
627        useModMapMods=level1;
628        action= LockMods(modifiers=LevelThree);
629    };
630    interpret Alt_L+AnyOf(all) {
631        virtualModifier= Alt;
632        action= SetMods(modifiers=modMapMods,clearLocks);
633    };
634    interpret Alt_R+AnyOf(all) {
635        virtualModifier= Alt;
636        action= SetMods(modifiers=modMapMods,clearLocks);
637    };
638    interpret Meta_L+AnyOf(all) {
639        virtualModifier= Meta;
640        action= SetMods(modifiers=modMapMods,clearLocks);
641    };
642    interpret Meta_R+AnyOf(all) {
643        virtualModifier= Meta;
644        action= SetMods(modifiers=modMapMods,clearLocks);
645    };
646    interpret Super_L+AnyOf(all) {
647        virtualModifier= Super;
648        action= SetMods(modifiers=modMapMods,clearLocks);
649    };
650    interpret Super_R+AnyOf(all) {
651        virtualModifier= Super;
652        action= SetMods(modifiers=modMapMods,clearLocks);
653    };
654    interpret Hyper_L+AnyOf(all) {
655        virtualModifier= Hyper;
656        action= SetMods(modifiers=modMapMods,clearLocks);
657    };
658    interpret Hyper_R+AnyOf(all) {
659        virtualModifier= Hyper;
660        action= SetMods(modifiers=modMapMods,clearLocks);
661    };
662    interpret Scroll_Lock+AnyOf(all) {
663        virtualModifier= ScrollLock;
664        action= LockMods(modifiers=modMapMods);
665    };
666    interpret ISO_Level5_Shift+AnyOf(all) {
667        virtualModifier= LevelFive;
668        useModMapMods=level1;
669        action= SetMods(modifiers=LevelFive,clearLocks);
670    };
671    interpret ISO_Level5_Latch+AnyOf(all) {
672        virtualModifier= LevelFive;
673        action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
674    };
675    interpret ISO_Level5_Lock+AnyOf(all) {
676        virtualModifier= LevelFive;
677        action= LockMods(modifiers=LevelFive);
678    };
679    interpret Mode_switch+AnyOfOrNone(all) {
680        virtualModifier= AltGr;
681        useModMapMods=level1;
682        action= SetGroup(group=+1);
683    };
684    interpret ISO_Level3_Shift+AnyOfOrNone(all) {
685        action= SetMods(modifiers=LevelThree,clearLocks);
686    };
687    interpret ISO_Level3_Latch+AnyOfOrNone(all) {
688        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
689    };
690    interpret ISO_Level3_Lock+AnyOfOrNone(all) {
691        action= LockMods(modifiers=LevelThree);
692    };
693    interpret ISO_Group_Latch+AnyOfOrNone(all) {
694        virtualModifier= AltGr;
695        useModMapMods=level1;
696        action= LatchGroup(group=2);
697    };
698    interpret ISO_Next_Group+AnyOfOrNone(all) {
699        virtualModifier= AltGr;
700        useModMapMods=level1;
701        action= LockGroup(group=+1);
702    };
703    interpret ISO_Prev_Group+AnyOfOrNone(all) {
704        virtualModifier= AltGr;
705        useModMapMods=level1;
706        action= LockGroup(group=-1);
707    };
708    interpret ISO_First_Group+AnyOfOrNone(all) {
709        action= LockGroup(group=1);
710    };
711    interpret ISO_Last_Group+AnyOfOrNone(all) {
712        action= LockGroup(group=2);
713    };
714    interpret KP_1+AnyOfOrNone(all) {
715        repeat= True;
716        action= MovePtr(x=-1,y=+1);
717    };
718    interpret KP_End+AnyOfOrNone(all) {
719        repeat= True;
720        action= MovePtr(x=-1,y=+1);
721    };
722    interpret KP_2+AnyOfOrNone(all) {
723        repeat= True;
724        action= MovePtr(x=+0,y=+1);
725    };
726    interpret KP_Down+AnyOfOrNone(all) {
727        repeat= True;
728        action= MovePtr(x=+0,y=+1);
729    };
730    interpret KP_3+AnyOfOrNone(all) {
731        repeat= True;
732        action= MovePtr(x=+1,y=+1);
733    };
734    interpret KP_Next+AnyOfOrNone(all) {
735        repeat= True;
736        action= MovePtr(x=+1,y=+1);
737    };
738    interpret KP_4+AnyOfOrNone(all) {
739        repeat= True;
740        action= MovePtr(x=-1,y=+0);
741    };
742    interpret KP_Left+AnyOfOrNone(all) {
743        repeat= True;
744        action= MovePtr(x=-1,y=+0);
745    };
746    interpret KP_6+AnyOfOrNone(all) {
747        repeat= True;
748        action= MovePtr(x=+1,y=+0);
749    };
750    interpret KP_Right+AnyOfOrNone(all) {
751        repeat= True;
752        action= MovePtr(x=+1,y=+0);
753    };
754    interpret KP_7+AnyOfOrNone(all) {
755        repeat= True;
756        action= MovePtr(x=-1,y=-1);
757    };
758    interpret KP_Home+AnyOfOrNone(all) {
759        repeat= True;
760        action= MovePtr(x=-1,y=-1);
761    };
762    interpret KP_8+AnyOfOrNone(all) {
763        repeat= True;
764        action= MovePtr(x=+0,y=-1);
765    };
766    interpret KP_Up+AnyOfOrNone(all) {
767        repeat= True;
768        action= MovePtr(x=+0,y=-1);
769    };
770    interpret KP_9+AnyOfOrNone(all) {
771        repeat= True;
772        action= MovePtr(x=+1,y=-1);
773    };
774    interpret KP_Prior+AnyOfOrNone(all) {
775        repeat= True;
776        action= MovePtr(x=+1,y=-1);
777    };
778    interpret KP_5+AnyOfOrNone(all) {
779        repeat= True;
780        action= PtrBtn(button=default);
781    };
782    interpret KP_Begin+AnyOfOrNone(all) {
783        repeat= True;
784        action= PtrBtn(button=default);
785    };
786    interpret KP_F2+AnyOfOrNone(all) {
787        repeat= True;
788        action= SetPtrDflt(affect=button,button=1);
789    };
790    interpret KP_Divide+AnyOfOrNone(all) {
791        repeat= True;
792        action= SetPtrDflt(affect=button,button=1);
793    };
794    interpret KP_F3+AnyOfOrNone(all) {
795        repeat= True;
796        action= SetPtrDflt(affect=button,button=2);
797    };
798    interpret KP_Multiply+AnyOfOrNone(all) {
799        repeat= True;
800        action= SetPtrDflt(affect=button,button=2);
801    };
802    interpret KP_F4+AnyOfOrNone(all) {
803        repeat= True;
804        action= SetPtrDflt(affect=button,button=3);
805    };
806    interpret KP_Subtract+AnyOfOrNone(all) {
807        repeat= True;
808        action= SetPtrDflt(affect=button,button=3);
809    };
810    interpret KP_Separator+AnyOfOrNone(all) {
811        repeat= True;
812        action= PtrBtn(button=default,count=2);
813    };
814    interpret KP_Add+AnyOfOrNone(all) {
815        repeat= True;
816        action= PtrBtn(button=default,count=2);
817    };
818    interpret KP_0+AnyOfOrNone(all) {
819        repeat= True;
820        action= LockPtrBtn(button=default,affect=lock);
821    };
822    interpret KP_Insert+AnyOfOrNone(all) {
823        repeat= True;
824        action= LockPtrBtn(button=default,affect=lock);
825    };
826    interpret KP_Decimal+AnyOfOrNone(all) {
827        repeat= True;
828        action= LockPtrBtn(button=default,affect=unlock);
829    };
830    interpret KP_Delete+AnyOfOrNone(all) {
831        repeat= True;
832        action= LockPtrBtn(button=default,affect=unlock);
833    };
834    interpret F25+AnyOfOrNone(all) {
835        repeat= True;
836        action= SetPtrDflt(affect=button,button=1);
837    };
838    interpret F26+AnyOfOrNone(all) {
839        repeat= True;
840        action= SetPtrDflt(affect=button,button=2);
841    };
842    interpret F27+AnyOfOrNone(all) {
843        repeat= True;
844        action= MovePtr(x=-1,y=-1);
845    };
846    interpret F29+AnyOfOrNone(all) {
847        repeat= True;
848        action= MovePtr(x=+1,y=-1);
849    };
850    interpret F31+AnyOfOrNone(all) {
851        repeat= True;
852        action= PtrBtn(button=default);
853    };
854    interpret F33+AnyOfOrNone(all) {
855        repeat= True;
856        action= MovePtr(x=-1,y=+1);
857    };
858    interpret F35+AnyOfOrNone(all) {
859        repeat= True;
860        action= MovePtr(x=+1,y=+1);
861    };
862    interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
863        action= PtrBtn(button=default);
864    };
865    interpret Pointer_Button1+AnyOfOrNone(all) {
866        action= PtrBtn(button=1);
867    };
868    interpret Pointer_Button2+AnyOfOrNone(all) {
869        action= PtrBtn(button=2);
870    };
871    interpret Pointer_Button3+AnyOfOrNone(all) {
872        action= PtrBtn(button=3);
873    };
874    interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
875        action= PtrBtn(button=default,count=2);
876    };
877    interpret Pointer_DblClick1+AnyOfOrNone(all) {
878        action= PtrBtn(button=1,count=2);
879    };
880    interpret Pointer_DblClick2+AnyOfOrNone(all) {
881        action= PtrBtn(button=2,count=2);
882    };
883    interpret Pointer_DblClick3+AnyOfOrNone(all) {
884        action= PtrBtn(button=3,count=2);
885    };
886    interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
887        action= LockPtrBtn(button=default,affect=both);
888    };
889    interpret Pointer_Drag1+AnyOfOrNone(all) {
890        action= LockPtrBtn(button=1,affect=both);
891    };
892    interpret Pointer_Drag2+AnyOfOrNone(all) {
893        action= LockPtrBtn(button=2,affect=both);
894    };
895    interpret Pointer_Drag3+AnyOfOrNone(all) {
896        action= LockPtrBtn(button=3,affect=both);
897    };
898    interpret Pointer_EnableKeys+AnyOfOrNone(all) {
899        action= LockControls(controls=MouseKeys);
900    };
901    interpret Pointer_Accelerate+AnyOfOrNone(all) {
902        action= LockControls(controls=MouseKeysAccel);
903    };
904    interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
905        action= SetPtrDflt(affect=button,button=+1);
906    };
907    interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
908        action= SetPtrDflt(affect=button,button=-1);
909    };
910    interpret AccessX_Enable+AnyOfOrNone(all) {
911        action= LockControls(controls=AccessXKeys);
912    };
913    interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
914        action= LockControls(controls=AccessXFeedback);
915    };
916    interpret RepeatKeys_Enable+AnyOfOrNone(all) {
917        action= LockControls(controls=RepeatKeys);
918    };
919    interpret SlowKeys_Enable+AnyOfOrNone(all) {
920        action= LockControls(controls=SlowKeys);
921    };
922    interpret BounceKeys_Enable+AnyOfOrNone(all) {
923        action= LockControls(controls=BounceKeys);
924    };
925    interpret StickyKeys_Enable+AnyOfOrNone(all) {
926        action= LockControls(controls=StickyKeys);
927    };
928    interpret MouseKeys_Enable+AnyOfOrNone(all) {
929        action= LockControls(controls=MouseKeys);
930    };
931    interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
932        action= LockControls(controls=MouseKeysAccel);
933    };
934    interpret Overlay1_Enable+AnyOfOrNone(all) {
935        action= LockControls(controls=Overlay1);
936    };
937    interpret Overlay2_Enable+AnyOfOrNone(all) {
938        action= LockControls(controls=Overlay2);
939    };
940    interpret AudibleBell_Enable+AnyOfOrNone(all) {
941        action= LockControls(controls=AudibleBell);
942    };
943    interpret Terminate_Server+AnyOfOrNone(all) {
944        action= Terminate();
945    };
946    interpret Alt_L+AnyOfOrNone(all) {
947        action= SetMods(modifiers=Alt,clearLocks);
948    };
949    interpret Alt_R+AnyOfOrNone(all) {
950        action= SetMods(modifiers=Alt,clearLocks);
951    };
952    interpret Meta_L+AnyOfOrNone(all) {
953        action= SetMods(modifiers=Meta,clearLocks);
954    };
955    interpret Meta_R+AnyOfOrNone(all) {
956        action= SetMods(modifiers=Meta,clearLocks);
957    };
958    interpret Super_L+AnyOfOrNone(all) {
959        action= SetMods(modifiers=Super,clearLocks);
960    };
961    interpret Super_R+AnyOfOrNone(all) {
962        action= SetMods(modifiers=Super,clearLocks);
963    };
964    interpret Hyper_L+AnyOfOrNone(all) {
965        action= SetMods(modifiers=Hyper,clearLocks);
966    };
967    interpret Hyper_R+AnyOfOrNone(all) {
968        action= SetMods(modifiers=Hyper,clearLocks);
969    };
970    interpret Shift_L+AnyOfOrNone(all) {
971        action= SetMods(modifiers=Shift,clearLocks);
972    };
973    interpret XF86Switch_VT_1+AnyOfOrNone(all) {
974        repeat= True;
975        action= SwitchScreen(screen=1,!same);
976    };
977    interpret XF86Switch_VT_2+AnyOfOrNone(all) {
978        repeat= True;
979        action= SwitchScreen(screen=2,!same);
980    };
981    interpret XF86Switch_VT_3+AnyOfOrNone(all) {
982        repeat= True;
983        action= SwitchScreen(screen=3,!same);
984    };
985    interpret XF86Switch_VT_4+AnyOfOrNone(all) {
986        repeat= True;
987        action= SwitchScreen(screen=4,!same);
988    };
989    interpret XF86Switch_VT_5+AnyOfOrNone(all) {
990        repeat= True;
991        action= SwitchScreen(screen=5,!same);
992    };
993    interpret XF86Switch_VT_6+AnyOfOrNone(all) {
994        repeat= True;
995        action= SwitchScreen(screen=6,!same);
996    };
997    interpret XF86Switch_VT_7+AnyOfOrNone(all) {
998        repeat= True;
999        action= SwitchScreen(screen=7,!same);
1000    };
1001    interpret XF86Switch_VT_8+AnyOfOrNone(all) {
1002        repeat= True;
1003        action= SwitchScreen(screen=8,!same);
1004    };
1005    interpret XF86Switch_VT_9+AnyOfOrNone(all) {
1006        repeat= True;
1007        action= SwitchScreen(screen=9,!same);
1008    };
1009    interpret XF86Switch_VT_10+AnyOfOrNone(all) {
1010        repeat= True;
1011        action= SwitchScreen(screen=10,!same);
1012    };
1013    interpret XF86Switch_VT_11+AnyOfOrNone(all) {
1014        repeat= True;
1015        action= SwitchScreen(screen=11,!same);
1016    };
1017    interpret XF86Switch_VT_12+AnyOfOrNone(all) {
1018        repeat= True;
1019        action= SwitchScreen(screen=12,!same);
1020    };
1021    interpret XF86LogGrabInfo+AnyOfOrNone(all) {
1022        repeat= True;
1023        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);
1024    };
1025    interpret XF86LogWindowTree+AnyOfOrNone(all) {
1026        repeat= True;
1027        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);
1028    };
1029    interpret XF86Next_VMode+AnyOfOrNone(all) {
1030        repeat= True;
1031        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);
1032    };
1033    interpret XF86Prev_VMode+AnyOfOrNone(all) {
1034        repeat= True;
1035        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);
1036    };
1037    interpret ISO_Level5_Shift+AnyOfOrNone(all) {
1038        action= SetMods(modifiers=LevelFive,clearLocks);
1039    };
1040    interpret ISO_Level5_Latch+AnyOfOrNone(all) {
1041        action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
1042    };
1043    interpret ISO_Level5_Lock+AnyOfOrNone(all) {
1044        action= LockMods(modifiers=LevelFive);
1045    };
1046    interpret Caps_Lock+AnyOfOrNone(all) {
1047        action= LockMods(modifiers=Lock);
1048    };
1049    interpret Any+Exactly(Lock) {
1050        action= LockMods(modifiers=Lock);
1051    };
1052    interpret Any+AnyOf(all) {
1053        action= SetMods(modifiers=modMapMods,clearLocks);
1054    };
1055    group 2 = AltGr;
1056    group 3 = AltGr;
1057    group 4 = AltGr;
1058    indicator "Caps Lock" {
1059        !allowExplicit;
1060        whichModState= locked;
1061        modifiers= Lock;
1062    };
1063    indicator "Num Lock" {
1064        !allowExplicit;
1065        whichModState= locked;
1066        modifiers= NumLock;
1067    };
1068    indicator "Scroll Lock" {
1069        whichModState= locked;
1070        modifiers= ScrollLock;
1071    };
1072    indicator "Shift Lock" {
1073        !allowExplicit;
1074        whichModState= locked;
1075        modifiers= Shift;
1076    };
1077    indicator "Group 2" {
1078        !allowExplicit;
1079        groups= 0xfe;
1080    };
1081    indicator "Mouse Keys" {
1082        indicatorDrivesKeyboard;
1083        controls= mouseKeys;
1084    };
1085};
1086
1087xkb_symbols "pc+de+inet(evdev)+group(menu_toggle)+ctrl(nocaps)" {
1088
1089    name[group1]="German";
1090
1091    key  <ESC> {         [          Escape ] };
1092    key <AE01> {
1093        type= "FOUR_LEVEL",
1094        symbols[Group1]= [               1,          exclam,     onesuperior,      exclamdown ]
1095    };
1096    key <AE02> {
1097        type= "FOUR_LEVEL",
1098        symbols[Group1]= [               2,        quotedbl,     twosuperior,       oneeighth ]
1099    };
1100    key <AE03> {
1101        type= "FOUR_LEVEL",
1102        symbols[Group1]= [               3,         section,   threesuperior,        sterling ]
1103    };
1104    key <AE04> {
1105        type= "FOUR_LEVEL",
1106        symbols[Group1]= [               4,          dollar,      onequarter,        currency ]
1107    };
1108    key <AE05> {
1109        type= "FOUR_LEVEL",
1110        symbols[Group1]= [               5,         percent,         onehalf,    threeeighths ]
1111    };
1112    key <AE06> {
1113        type= "FOUR_LEVEL",
1114        symbols[Group1]= [               6,       ampersand,         notsign,     fiveeighths ]
1115    };
1116    key <AE07> {
1117        type= "FOUR_LEVEL",
1118        symbols[Group1]= [               7,           slash,       braceleft,    seveneighths ]
1119    };
1120    key <AE08> {
1121        type= "FOUR_LEVEL",
1122        symbols[Group1]= [               8,       parenleft,     bracketleft,       trademark ]
1123    };
1124    key <AE09> {
1125        type= "FOUR_LEVEL",
1126        symbols[Group1]= [               9,      parenright,    bracketright,       plusminus ]
1127    };
1128    key <AE10> {
1129        type= "FOUR_LEVEL",
1130        symbols[Group1]= [               0,           equal,      braceright,          degree ]
1131    };
1132    key <AE11> {
1133        type= "FOUR_LEVEL_PLUS_LOCK",
1134        symbols[Group1]= [          ssharp,        question,       backslash,    questiondown,           U1E9E ]
1135    };
1136    key <AE12> {
1137        type= "FOUR_LEVEL",
1138        symbols[Group1]= [      dead_acute,      dead_grave,    dead_cedilla,     dead_ogonek ]
1139    };
1140    key <BKSP> {         [       BackSpace,       BackSpace ] };
1141    key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
1142    key <AD01> {
1143        type= "FOUR_LEVEL_SEMIALPHABETIC",
1144        symbols[Group1]= [               q,               Q,              at,     Greek_OMEGA ]
1145    };
1146    key <AD02> {
1147        type= "FOUR_LEVEL_ALPHABETIC",
1148        symbols[Group1]= [               w,               W,         lstroke,         Lstroke ]
1149    };
1150    key <AD03> {
1151        type= "FOUR_LEVEL_SEMIALPHABETIC",
1152        symbols[Group1]= [               e,               E,        EuroSign,        EuroSign ]
1153    };
1154    key <AD04> {
1155        type= "FOUR_LEVEL_SEMIALPHABETIC",
1156        symbols[Group1]= [               r,               R,       paragraph,      registered ]
1157    };
1158    key <AD05> {
1159        type= "FOUR_LEVEL_ALPHABETIC",
1160        symbols[Group1]= [               t,               T,          tslash,          Tslash ]
1161    };
1162    key <AD06> {
1163        type= "FOUR_LEVEL_SEMIALPHABETIC",
1164        symbols[Group1]= [               z,               Z,       leftarrow,             yen ]
1165    };
1166    key <AD07> {
1167        type= "FOUR_LEVEL_SEMIALPHABETIC",
1168        symbols[Group1]= [               u,               U,       downarrow,         uparrow ]
1169    };
1170    key <AD08> {
1171        type= "FOUR_LEVEL_SEMIALPHABETIC",
1172        symbols[Group1]= [               i,               I,      rightarrow,        idotless ]
1173    };
1174    key <AD09> {
1175        type= "FOUR_LEVEL_ALPHABETIC",
1176        symbols[Group1]= [               o,               O,          oslash,          Oslash ]
1177    };
1178    key <AD10> {
1179        type= "FOUR_LEVEL_ALPHABETIC",
1180        symbols[Group1]= [               p,               P,           thorn,           THORN ]
1181    };
1182    key <AD11> {
1183        type= "FOUR_LEVEL_SEMIALPHABETIC",
1184        symbols[Group1]= [      udiaeresis,      Udiaeresis,  dead_diaeresis,  dead_abovering ]
1185    };
1186    key <AD12> {
1187        type= "FOUR_LEVEL",
1188        symbols[Group1]= [            plus,        asterisk,      asciitilde,          macron ]
1189    };
1190    key <RTRN> {         [          Return ] };
1191    key <LCTL> {         [       Control_L ] };
1192    key <AC01> {
1193        type= "FOUR_LEVEL_ALPHABETIC",
1194        symbols[Group1]= [               a,               A,              ae,              AE ]
1195    };
1196    key <AC02> {
1197        type= "FOUR_LEVEL_SEMIALPHABETIC",
1198        symbols[Group1]= [               s,               S,           U017F,           U1E9E ]
1199    };
1200    key <AC03> {
1201        type= "FOUR_LEVEL_ALPHABETIC",
1202        symbols[Group1]= [               d,               D,             eth,             ETH ]
1203    };
1204    key <AC04> {
1205        type= "FOUR_LEVEL_SEMIALPHABETIC",
1206        symbols[Group1]= [               f,               F,         dstroke,     ordfeminine ]
1207    };
1208    key <AC05> {
1209        type= "FOUR_LEVEL_ALPHABETIC",
1210        symbols[Group1]= [               g,               G,             eng,             ENG ]
1211    };
1212    key <AC06> {
1213        type= "FOUR_LEVEL_ALPHABETIC",
1214        symbols[Group1]= [               h,               H,         hstroke,         Hstroke ]
1215    };
1216    key <AC07> {
1217        type= "FOUR_LEVEL_SEMIALPHABETIC",
1218        symbols[Group1]= [               j,               J,   dead_belowdot,   dead_abovedot ]
1219    };
1220    key <AC08> {
1221        type= "FOUR_LEVEL_SEMIALPHABETIC",
1222        symbols[Group1]= [               k,               K,             kra,       ampersand ]
1223    };
1224    key <AC09> {
1225        type= "FOUR_LEVEL_ALPHABETIC",
1226        symbols[Group1]= [               l,               L,         lstroke,         Lstroke ]
1227    };
1228    key <AC10> {
1229        type= "FOUR_LEVEL_SEMIALPHABETIC",
1230        symbols[Group1]= [      odiaeresis,      Odiaeresis, dead_doubleacute,   dead_belowdot ]
1231    };
1232    key <AC11> {
1233        type= "FOUR_LEVEL_SEMIALPHABETIC",
1234        symbols[Group1]= [      adiaeresis,      Adiaeresis, dead_circumflex,      dead_caron ]
1235    };
1236    key <TLDE> {
1237        type= "FOUR_LEVEL",
1238        symbols[Group1]= [ dead_circumflex,          degree,           U2032,           U2033 ]
1239    };
1240    key <LFSH> {         [         Shift_L ] };
1241    key <BKSL> {
1242        type= "FOUR_LEVEL",
1243        symbols[Group1]= [      numbersign,      apostrophe, rightsinglequotemark,      dead_breve ]
1244    };
1245    key <AB01> {
1246        type= "FOUR_LEVEL_SEMIALPHABETIC",
1247        symbols[Group1]= [               y,               Y,  guillemotright,           U203A ]
1248    };
1249    key <AB02> {
1250        type= "FOUR_LEVEL_SEMIALPHABETIC",
1251        symbols[Group1]= [               x,               X,   guillemotleft,           U2039 ]
1252    };
1253    key <AB03> {
1254        type= "FOUR_LEVEL_SEMIALPHABETIC",
1255        symbols[Group1]= [               c,               C,            cent,       copyright ]
1256    };
1257    key <AB04> {
1258        type= "FOUR_LEVEL_SEMIALPHABETIC",
1259        symbols[Group1]= [               v,               V, doublelowquotemark, singlelowquotemark ]
1260    };
1261    key <AB05> {
1262        type= "FOUR_LEVEL_SEMIALPHABETIC",
1263        symbols[Group1]= [               b,               B, leftdoublequotemark, leftsinglequotemark ]
1264    };
1265    key <AB06> {
1266        type= "FOUR_LEVEL_SEMIALPHABETIC",
1267        symbols[Group1]= [               n,               N, rightdoublequotemark, rightsinglequotemark ]
1268    };
1269    key <AB07> {
1270        type= "FOUR_LEVEL_SEMIALPHABETIC",
1271        symbols[Group1]= [               m,               M,              mu,       masculine ]
1272    };
1273    key <AB08> {
1274        type= "FOUR_LEVEL",
1275        symbols[Group1]= [           comma,       semicolon,  periodcentered,        multiply ]
1276    };
1277    key <AB09> {
1278        type= "FOUR_LEVEL",
1279        symbols[Group1]= [          period,           colon,           U2026,        division ]
1280    };
1281    key <AB10> {
1282        type= "FOUR_LEVEL",
1283        symbols[Group1]= [           minus,      underscore,          endash,          emdash ]
1284    };
1285    key <RTSH> {         [         Shift_R ] };
1286    key <KPMU> {
1287        type= "CTRL+ALT",
1288        symbols[Group1]= [     KP_Multiply,     KP_Multiply,     KP_Multiply,     KP_Multiply,   XF86ClearGrab ]
1289    };
1290    key <LALT> {         [           Alt_L,          Meta_L ] };
1291    key <SPCE> {         [           space ] };
1292    key <CAPS> {         [       Control_L,       Control_L ] };
1293    key <FK01> {
1294        type= "CTRL+ALT",
1295        symbols[Group1]= [              F1,              F1,              F1,              F1, XF86Switch_VT_1 ]
1296    };
1297    key <FK02> {
1298        type= "CTRL+ALT",
1299        symbols[Group1]= [              F2,              F2,              F2,              F2, XF86Switch_VT_2 ]
1300    };
1301    key <FK03> {
1302        type= "CTRL+ALT",
1303        symbols[Group1]= [              F3,              F3,              F3,              F3, XF86Switch_VT_3 ]
1304    };
1305    key <FK04> {
1306        type= "CTRL+ALT",
1307        symbols[Group1]= [              F4,              F4,              F4,              F4, XF86Switch_VT_4 ]
1308    };
1309    key <FK05> {
1310        type= "CTRL+ALT",
1311        symbols[Group1]= [              F5,              F5,              F5,              F5, XF86Switch_VT_5 ]
1312    };
1313    key <FK06> {
1314        type= "CTRL+ALT",
1315        symbols[Group1]= [              F6,              F6,              F6,              F6, XF86Switch_VT_6 ]
1316    };
1317    key <FK07> {
1318        type= "CTRL+ALT",
1319        symbols[Group1]= [              F7,              F7,              F7,              F7, XF86Switch_VT_7 ]
1320    };
1321    key <FK08> {
1322        type= "CTRL+ALT",
1323        symbols[Group1]= [              F8,              F8,              F8,              F8, XF86Switch_VT_8 ]
1324    };
1325    key <FK09> {
1326        type= "CTRL+ALT",
1327        symbols[Group1]= [              F9,              F9,              F9,              F9, XF86Switch_VT_9 ]
1328    };
1329    key <FK10> {
1330        type= "CTRL+ALT",
1331        symbols[Group1]= [             F10,             F10,             F10,             F10, XF86Switch_VT_10 ]
1332    };
1333    key <NMLK> {         [        Num_Lock ] };
1334    key <SCLK> {         [     Scroll_Lock ] };
1335    key  <KP7> {         [         KP_Home,            KP_7 ] };
1336    key  <KP8> {         [           KP_Up,            KP_8 ] };
1337    key  <KP9> {         [        KP_Prior,            KP_9 ] };
1338    key <KPSU> {
1339        type= "CTRL+ALT",
1340        symbols[Group1]= [     KP_Subtract,     KP_Subtract,     KP_Subtract,     KP_Subtract,  XF86Prev_VMode ]
1341    };
1342    key  <KP4> {         [         KP_Left,            KP_4 ] };
1343    key  <KP5> {         [        KP_Begin,            KP_5 ] };
1344    key  <KP6> {         [        KP_Right,            KP_6 ] };
1345    key <KPAD> {
1346        type= "CTRL+ALT",
1347        symbols[Group1]= [          KP_Add,          KP_Add,          KP_Add,          KP_Add,  XF86Next_VMode ]
1348    };
1349    key  <KP1> {         [          KP_End,            KP_1 ] };
1350    key  <KP2> {         [         KP_Down,            KP_2 ] };
1351    key  <KP3> {         [         KP_Next,            KP_3 ] };
1352    key  <KP0> {         [       KP_Insert,            KP_0 ] };
1353    key <KPDL> {
1354        type= "KEYPAD",
1355        symbols[Group1]= [       KP_Delete,    KP_Separator ]
1356    };
1357    key <LVL3> {
1358        type= "ONE_LEVEL",
1359        symbols[Group1]= [ ISO_Level3_Shift ],
1360        actions[Group1]= [ SetMods(modifiers=LevelThree) ]
1361    };
1362    key <LSGT> {
1363        type= "FOUR_LEVEL",
1364        symbols[Group1]= [            less,         greater,             bar,       brokenbar ]
1365    };
1366    key <FK11> {
1367        type= "CTRL+ALT",
1368        symbols[Group1]= [             F11,             F11,             F11,             F11, XF86Switch_VT_11 ]
1369    };
1370    key <FK12> {
1371        type= "CTRL+ALT",
1372        symbols[Group1]= [             F12,             F12,             F12,             F12, XF86Switch_VT_12 ]
1373    };
1374    key <KATA> {         [        Katakana ] };
1375    key <HIRA> {         [        Hiragana ] };
1376    key <HENK> {         [     Henkan_Mode ] };
1377    key <HKTG> {         [ Hiragana_Katakana ] };
1378    key <MUHE> {         [        Muhenkan ] };
1379    key <KPEN> {         [        KP_Enter ] };
1380    key <RCTL> {         [       Control_R ] };
1381    key <KPDV> {
1382        type= "CTRL+ALT",
1383        symbols[Group1]= [       KP_Divide,       KP_Divide,       KP_Divide,       KP_Divide,      XF86Ungrab ]
1384    };
1385    key <PRSC> {
1386        type= "PC_ALT_LEVEL2",
1387        symbols[Group1]= [           Print,         Sys_Req ]
1388    };
1389    key <RALT> {
1390        type= "ONE_LEVEL",
1391        symbols[Group1]= [ ISO_Level3_Shift ]
1392    };
1393    key <LNFD> {         [        Linefeed ] };
1394    key <HOME> {         [            Home ] };
1395    key   <UP> {         [              Up ] };
1396    key <PGUP> {         [           Prior ] };
1397    key <LEFT> {         [            Left ] };
1398    key <RGHT> {         [           Right ] };
1399    key  <END> {         [             End ] };
1400    key <DOWN> {         [            Down ] };
1401    key <PGDN> {         [            Next ] };
1402    key  <INS> {         [          Insert ] };
1403    key <DELE> {         [          Delete ] };
1404    key <MUTE> {         [   XF86AudioMute ] };
1405    key <VOL-> {         [ XF86AudioLowerVolume ] };
1406    key <VOL+> {         [ XF86AudioRaiseVolume ] };
1407    key <POWR> {         [    XF86PowerOff ] };
1408    key <KPEQ> {         [        KP_Equal ] };
1409    key <I126> {         [       plusminus ] };
1410    key <PAUS> {
1411        type= "PC_CONTROL_LEVEL2",
1412        symbols[Group1]= [           Pause,           Break ]
1413    };
1414    key <I128> {         [     XF86LaunchA ] };
1415    key <I129> {         [      KP_Decimal,      KP_Decimal ] };
1416    key <HNGL> {         [          Hangul ] };
1417    key <HJCV> {         [    Hangul_Hanja ] };
1418    key <LWIN> {         [         Super_L ] };
1419    key <RWIN> {         [         Super_R ] };
1420    key <COMP> {         [  ISO_Next_Group,            Menu ] };
1421    key <STOP> {         [          Cancel ] };
1422    key <AGAI> {         [            Redo ] };
1423    key <PROP> {         [        SunProps ] };
1424    key <UNDO> {         [            Undo ] };
1425    key <FRNT> {         [        SunFront ] };
1426    key <COPY> {         [        XF86Copy ] };
1427    key <OPEN> {         [        XF86Open ] };
1428    key <PAST> {         [       XF86Paste ] };
1429    key <FIND> {         [            Find ] };
1430    key  <CUT> {         [         XF86Cut ] };
1431    key <HELP> {         [            Help ] };
1432    key <I147> {         [      XF86MenuKB ] };
1433    key <I148> {         [  XF86Calculator ] };
1434    key <I150> {         [       XF86Sleep ] };
1435    key <I151> {         [      XF86WakeUp ] };
1436    key <I152> {         [    XF86Explorer ] };
1437    key <I153> {         [        XF86Send ] };
1438    key <I155> {         [        XF86Xfer ] };
1439    key <I156> {         [     XF86Launch1 ] };
1440    key <I157> {         [     XF86Launch2 ] };
1441    key <I158> {         [         XF86WWW ] };
1442    key <I159> {         [         XF86DOS ] };
1443    key <I160> {         [ XF86ScreenSaver ] };
1444    key <I162> {         [ XF86RotateWindows ] };
1445    key <I163> {         [        XF86Mail ] };
1446    key <I164> {         [   XF86Favorites ] };
1447    key <I165> {         [  XF86MyComputer ] };
1448    key <I166> {         [        XF86Back ] };
1449    key <I167> {         [     XF86Forward ] };
1450    key <I169> {         [       XF86Eject ] };
1451    key <I170> {         [       XF86Eject,       XF86Eject ] };
1452    key <I171> {         [   XF86AudioNext ] };
1453    key <I172> {         [   XF86AudioPlay,  XF86AudioPause ] };
1454    key <I173> {         [   XF86AudioPrev ] };
1455    key <I174> {         [   XF86AudioStop,       XF86Eject ] };
1456    key <I175> {         [ XF86AudioRecord ] };
1457    key <I176> {         [ XF86AudioRewind ] };
1458    key <I177> {         [       XF86Phone ] };
1459    key <I179> {         [       XF86Tools ] };
1460    key <I180> {         [    XF86HomePage ] };
1461    key <I181> {         [      XF86Reload ] };
1462    key <I182> {         [       XF86Close ] };
1463    key <I185> {         [    XF86ScrollUp ] };
1464    key <I186> {         [  XF86ScrollDown ] };
1465    key <I187> {         [       parenleft ] };
1466    key <I188> {         [      parenright ] };
1467    key <I189> {         [         XF86New ] };
1468    key <I190> {         [            Redo ] };
1469    key <FK13> {         [       XF86Tools ] };
1470    key <FK14> {         [     XF86Launch5 ] };
1471    key <FK15> {         [     XF86Launch6 ] };
1472    key <FK16> {         [     XF86Launch7 ] };
1473    key <FK17> {         [     XF86Launch8 ] };
1474    key <FK18> {         [     XF86Launch9 ] };
1475    key <FK21> {         [ XF86TouchpadToggle ] };
1476    key <FK22> {         [  XF86TouchpadOn ] };
1477    key <FK23> {         [ XF86TouchpadOff ] };
1478    key <MDSW> {         [     Mode_switch ] };
1479    key  <ALT> {         [        NoSymbol,           Alt_L ] };
1480    key <META> {         [        NoSymbol,          Meta_L ] };
1481    key <SUPR> {         [        NoSymbol,         Super_L ] };
1482    key <HYPR> {         [        NoSymbol,         Hyper_L ] };
1483    key <I208> {         [   XF86AudioPlay ] };
1484    key <I209> {         [  XF86AudioPause ] };
1485    key <I210> {         [     XF86Launch3 ] };
1486    key <I211> {         [     XF86Launch4 ] };
1487    key <I212> {         [     XF86LaunchB ] };
1488    key <I213> {         [     XF86Suspend ] };
1489    key <I214> {         [       XF86Close ] };
1490    key <I215> {         [   XF86AudioPlay ] };
1491    key <I216> {         [ XF86AudioForward ] };
1492    key <I218> {         [           Print ] };
1493    key <I220> {         [      XF86WebCam ] };
1494    key <I223> {         [        XF86Mail ] };
1495    key <I224> {         [   XF86Messenger ] };
1496    key <I225> {         [      XF86Search ] };
1497    key <I226> {         [          XF86Go ] };
1498    key <I227> {         [     XF86Finance ] };
1499    key <I228> {         [        XF86Game ] };
1500    key <I229> {         [        XF86Shop ] };
1501    key <I231> {         [          Cancel ] };
1502    key <I232> {         [ XF86MonBrightnessDown ] };
1503    key <I233> {         [ XF86MonBrightnessUp ] };
1504    key <I234> {         [  XF86AudioMedia ] };
1505    key <I235> {         [     XF86Display ] };
1506    key <I236> {         [ XF86KbdLightOnOff ] };
1507    key <I237> {         [ XF86KbdBrightnessDown ] };
1508    key <I238> {         [ XF86KbdBrightnessUp ] };
1509    key <I239> {         [        XF86Send ] };
1510    key <I240> {         [       XF86Reply ] };
1511    key <I241> {         [ XF86MailForward ] };
1512    key <I242> {         [        XF86Save ] };
1513    key <I243> {         [   XF86Documents ] };
1514    key <I244> {         [     XF86Battery ] };
1515    key <I245> {         [   XF86Bluetooth ] };
1516    key <I246> {         [        XF86WLAN ] };
1517    modifier_map Control { <LCTL> };
1518    modifier_map Shift { <LFSH> };
1519    modifier_map Shift { <RTSH> };
1520    modifier_map Mod1 { <LALT> };
1521    modifier_map Control { <CAPS> };
1522    modifier_map Mod2 { <NMLK> };
1523    modifier_map Mod5 { <LVL3> };
1524    modifier_map Control { <RCTL> };
1525    modifier_map Mod4 { <LWIN> };
1526    modifier_map Mod4 { <RWIN> };
1527    modifier_map Mod5 { <MDSW> };
1528    modifier_map Mod1 { <META> };
1529    modifier_map Mod4 { <SUPR> };
1530    modifier_map Mod4 { <HYPR> };
1531};
1532
1533};
1534