chiark / gitweb /
swap the two left alts
[ian-dotfiles.git] / dot / configs / xkb-zealot.xkb
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     <I254> = 254;
250     <I255> = 255;
251     indicator 1 = "Caps Lock";
252     indicator 2 = "Num Lock";
253     indicator 3 = "Scroll Lock";
254     indicator 4 = "Compose";
255     indicator 5 = "Kana";
256     indicator 6 = "Sleep";
257     indicator 7 = "Suspend";
258     indicator 8 = "Mute";
259     indicator 9 = "Misc";
260     indicator 10 = "Mail";
261     indicator 11 = "Charging";
262     virtual indicator 12 = "Shift Lock";
263     virtual indicator 13 = "Group 2";
264     virtual indicator 14 = "Mouse Keys";
265     alias <AC12> = <BKSL>;
266     alias <MENU> = <COMP>;
267     alias <HZTG> = <TLDE>;
268     alias <LMTA> = <LWIN>;
269     alias <RMTA> = <RWIN>;
270     alias <ALGR> = <RALT>;
271     alias <KPPT> = <I129>;
272     alias <LatQ> = <AD01>;
273     alias <LatW> = <AD02>;
274     alias <LatE> = <AD03>;
275     alias <LatR> = <AD04>;
276     alias <LatT> = <AD05>;
277     alias <LatY> = <AD06>;
278     alias <LatU> = <AD07>;
279     alias <LatI> = <AD08>;
280     alias <LatO> = <AD09>;
281     alias <LatP> = <AD10>;
282     alias <LatA> = <AC01>;
283     alias <LatS> = <AC02>;
284     alias <LatD> = <AC03>;
285     alias <LatF> = <AC04>;
286     alias <LatG> = <AC05>;
287     alias <LatH> = <AC06>;
288     alias <LatJ> = <AC07>;
289     alias <LatK> = <AC08>;
290     alias <LatL> = <AC09>;
291     alias <LatZ> = <AB01>;
292     alias <LatX> = <AB02>;
293     alias <LatC> = <AB03>;
294     alias <LatV> = <AB04>;
295     alias <LatB> = <AB05>;
296     alias <LatN> = <AB06>;
297     alias <LatM> = <AB07>;
298 };
299
300 xkb_types "complete" {
301
302     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
303
304     type "ONE_LEVEL" {
305         modifiers= none;
306         level_name[Level1]= "Any";
307     };
308     type "TWO_LEVEL" {
309         modifiers= Shift;
310         map[Shift]= Level2;
311         level_name[Level1]= "Base";
312         level_name[Level2]= "Shift";
313     };
314     type "ALPHABETIC" {
315         modifiers= Shift+Lock;
316         map[Shift]= Level2;
317         map[Lock]= Level2;
318         level_name[Level1]= "Base";
319         level_name[Level2]= "Caps";
320     };
321     type "KEYPAD" {
322         modifiers= Shift+NumLock;
323         map[Shift]= Level2;
324         map[NumLock]= Level2;
325         level_name[Level1]= "Base";
326         level_name[Level2]= "Number";
327     };
328     type "SHIFT+ALT" {
329         modifiers= Shift+Alt;
330         map[Shift+Alt]= Level2;
331         level_name[Level1]= "Base";
332         level_name[Level2]= "Shift+Alt";
333     };
334     type "PC_SUPER_LEVEL2" {
335         modifiers= Mod4;
336         map[Mod4]= Level2;
337         level_name[Level1]= "Base";
338         level_name[Level2]= "Super";
339     };
340     type "PC_CONTROL_LEVEL2" {
341         modifiers= Control;
342         map[Control]= Level2;
343         level_name[Level1]= "Base";
344         level_name[Level2]= "Control";
345     };
346     type "PC_LCONTROL_LEVEL2" {
347         modifiers= LControl;
348         map[LControl]= Level2;
349         level_name[Level1]= "Base";
350         level_name[Level2]= "LControl";
351     };
352     type "PC_RCONTROL_LEVEL2" {
353         modifiers= RControl;
354         map[RControl]= Level2;
355         level_name[Level1]= "Base";
356         level_name[Level2]= "RControl";
357     };
358     type "PC_ALT_LEVEL2" {
359         modifiers= Alt;
360         map[Alt]= Level2;
361         level_name[Level1]= "Base";
362         level_name[Level2]= "Alt";
363     };
364     type "PC_LALT_LEVEL2" {
365         modifiers= LAlt;
366         map[LAlt]= Level2;
367         level_name[Level1]= "Base";
368         level_name[Level2]= "LAlt";
369     };
370     type "PC_RALT_LEVEL2" {
371         modifiers= RAlt;
372         map[RAlt]= Level2;
373         level_name[Level1]= "Base";
374         level_name[Level2]= "RAlt";
375     };
376     type "CTRL+ALT" {
377         modifiers= Shift+Control+Alt+LevelThree;
378         map[Shift]= Level2;
379         preserve[Shift]= Shift;
380         map[LevelThree]= Level3;
381         map[Shift+LevelThree]= Level4;
382         preserve[Shift+LevelThree]= Shift;
383         map[Control+Alt]= Level5;
384         level_name[Level1]= "Base";
385         level_name[Level2]= "Shift";
386         level_name[Level3]= "Alt Base";
387         level_name[Level4]= "Shift Alt";
388         level_name[Level5]= "Ctrl+Alt";
389     };
390     type "LOCAL_EIGHT_LEVEL" {
391         modifiers= Shift+Lock+Control+LevelThree;
392         map[Shift+Lock]= Level1;
393         map[Shift]= Level2;
394         map[Lock]= Level2;
395         map[LevelThree]= Level3;
396         map[Shift+Lock+LevelThree]= Level3;
397         map[Shift+LevelThree]= Level4;
398         map[Lock+LevelThree]= Level4;
399         map[Control]= Level5;
400         map[Shift+Lock+Control]= Level5;
401         map[Shift+Control]= Level6;
402         map[Lock+Control]= Level6;
403         map[Control+LevelThree]= Level7;
404         map[Shift+Lock+Control+LevelThree]= Level7;
405         map[Shift+Control+LevelThree]= Level8;
406         map[Lock+Control+LevelThree]= Level8;
407         level_name[Level1]= "Base";
408         level_name[Level2]= "Shift";
409         level_name[Level3]= "Level3";
410         level_name[Level4]= "Shift Level3";
411         level_name[Level5]= "Ctrl";
412         level_name[Level6]= "Shift Ctrl";
413         level_name[Level7]= "Level3 Ctrl";
414         level_name[Level8]= "Shift Level3 Ctrl";
415     };
416     type "THREE_LEVEL" {
417         modifiers= Shift+LevelThree;
418         map[Shift]= Level2;
419         map[LevelThree]= Level3;
420         map[Shift+LevelThree]= Level3;
421         level_name[Level1]= "Base";
422         level_name[Level2]= "Shift";
423         level_name[Level3]= "Level3";
424     };
425     type "EIGHT_LEVEL" {
426         modifiers= Shift+LevelThree+LevelFive;
427         map[Shift]= Level2;
428         map[LevelThree]= Level3;
429         map[Shift+LevelThree]= Level4;
430         map[LevelFive]= Level5;
431         map[Shift+LevelFive]= Level6;
432         map[LevelThree+LevelFive]= Level7;
433         map[Shift+LevelThree+LevelFive]= Level8;
434         level_name[Level1]= "Base";
435         level_name[Level2]= "Shift";
436         level_name[Level3]= "Alt Base";
437         level_name[Level4]= "Shift Alt";
438         level_name[Level5]= "X";
439         level_name[Level6]= "X Shift";
440         level_name[Level7]= "X Alt Base";
441         level_name[Level8]= "X Shift Alt";
442     };
443     type "EIGHT_LEVEL_ALPHABETIC" {
444         modifiers= Shift+Lock+LevelThree+LevelFive;
445         map[Shift]= Level2;
446         map[Lock]= Level2;
447         map[LevelThree]= Level3;
448         map[Shift+LevelThree]= Level4;
449         map[Lock+LevelThree]= Level4;
450         map[Shift+Lock+LevelThree]= Level3;
451         map[LevelFive]= Level5;
452         map[Shift+LevelFive]= Level6;
453         map[Lock+LevelFive]= Level6;
454         map[LevelThree+LevelFive]= Level7;
455         map[Shift+LevelThree+LevelFive]= Level8;
456         map[Lock+LevelThree+LevelFive]= Level8;
457         map[Shift+Lock+LevelThree+LevelFive]= Level7;
458         level_name[Level1]= "Base";
459         level_name[Level2]= "Shift";
460         level_name[Level3]= "Alt Base";
461         level_name[Level4]= "Shift Alt";
462         level_name[Level5]= "X";
463         level_name[Level6]= "X Shift";
464         level_name[Level7]= "X Alt Base";
465         level_name[Level8]= "X Shift Alt";
466     };
467     type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
468         modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
469         map[Shift]= Level2;
470         map[LevelThree]= Level3;
471         map[Shift+LevelThree]= Level4;
472         map[LevelFive]= Level5;
473         map[Shift+LevelFive]= Level6;
474         preserve[Shift+LevelFive]= Shift;
475         map[LevelThree+LevelFive]= Level7;
476         map[Shift+LevelThree+LevelFive]= Level8;
477         map[NumLock]= Level5;
478         map[Shift+NumLock]= Level6;
479         preserve[Shift+NumLock]= Shift;
480         map[NumLock+LevelThree]= Level7;
481         map[Shift+NumLock+LevelThree]= Level8;
482         map[Shift+NumLock+LevelFive]= Level2;
483         map[NumLock+LevelThree+LevelFive]= Level3;
484         map[Shift+NumLock+LevelThree+LevelFive]= Level4;
485         map[Shift+Lock]= Level2;
486         map[Lock+LevelThree]= Level3;
487         map[Shift+Lock+LevelThree]= Level4;
488         map[Lock+LevelFive]= Level5;
489         map[Shift+Lock+LevelFive]= Level6;
490         preserve[Shift+Lock+LevelFive]= Shift;
491         map[Lock+LevelThree+LevelFive]= Level7;
492         map[Shift+Lock+LevelThree+LevelFive]= Level8;
493         map[Lock+NumLock]= Level5;
494         map[Shift+Lock+NumLock]= Level6;
495         preserve[Shift+Lock+NumLock]= Shift;
496         map[Lock+NumLock+LevelThree]= Level7;
497         map[Shift+Lock+NumLock+LevelThree]= Level8;
498         map[Shift+Lock+NumLock+LevelFive]= Level2;
499         map[Lock+NumLock+LevelThree+LevelFive]= Level3;
500         map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level4;
501         level_name[Level1]= "Base";
502         level_name[Level2]= "Shift";
503         level_name[Level3]= "Alt Base";
504         level_name[Level4]= "Shift Alt";
505         level_name[Level5]= "X";
506         level_name[Level6]= "X Shift";
507         level_name[Level7]= "X Alt Base";
508         level_name[Level8]= "X Shift Alt";
509     };
510     type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
511         modifiers= Shift+Lock+NumLock+LevelThree+LevelFive;
512         map[Shift]= Level2;
513         map[LevelThree]= Level3;
514         map[Shift+LevelThree]= Level4;
515         map[LevelFive]= Level5;
516         map[Shift+LevelFive]= Level6;
517         preserve[Shift+LevelFive]= Shift;
518         map[LevelThree+LevelFive]= Level7;
519         map[Shift+LevelThree+LevelFive]= Level8;
520         map[NumLock]= Level5;
521         map[Shift+NumLock]= Level6;
522         preserve[Shift+NumLock]= Shift;
523         map[NumLock+LevelThree]= Level7;
524         map[Shift+NumLock+LevelThree]= Level8;
525         map[Shift+NumLock+LevelFive]= Level2;
526         map[NumLock+LevelThree+LevelFive]= Level3;
527         map[Shift+NumLock+LevelThree+LevelFive]= Level4;
528         map[Lock]= Level2;
529         map[Lock+LevelThree]= Level3;
530         map[Shift+Lock+LevelThree]= Level4;
531         map[Lock+LevelFive]= Level5;
532         map[Shift+Lock+LevelFive]= Level6;
533         map[Lock+LevelThree+LevelFive]= Level7;
534         map[Shift+Lock+LevelThree+LevelFive]= Level8;
535         map[Lock+NumLock]= Level5;
536         map[Shift+Lock+NumLock]= Level6;
537         map[Lock+NumLock+LevelThree]= Level7;
538         map[Shift+Lock+NumLock+LevelThree]= Level8;
539         map[Lock+NumLock+LevelFive]= Level2;
540         map[Lock+NumLock+LevelThree+LevelFive]= Level4;
541         map[Shift+Lock+NumLock+LevelThree+LevelFive]= Level3;
542         level_name[Level1]= "Base";
543         level_name[Level2]= "Shift";
544         level_name[Level3]= "Alt Base";
545         level_name[Level4]= "Shift Alt";
546         level_name[Level5]= "X";
547         level_name[Level6]= "X Shift";
548         level_name[Level7]= "X Alt Base";
549         level_name[Level8]= "X Shift Alt";
550     };
551     type "EIGHT_LEVEL_SEMIALPHABETIC" {
552         modifiers= Shift+Lock+LevelThree+LevelFive;
553         map[Shift]= Level2;
554         map[Lock]= Level2;
555         map[LevelThree]= Level3;
556         map[Shift+LevelThree]= Level4;
557         map[Lock+LevelThree]= Level3;
558         preserve[Lock+LevelThree]= Lock;
559         map[Shift+Lock+LevelThree]= Level4;
560         preserve[Shift+Lock+LevelThree]= Lock;
561         map[LevelFive]= Level5;
562         map[Shift+LevelFive]= Level6;
563         map[Lock+LevelFive]= Level6;
564         preserve[Lock+LevelFive]= Lock;
565         map[Shift+Lock+LevelFive]= Level6;
566         preserve[Shift+Lock+LevelFive]= Lock;
567         map[LevelThree+LevelFive]= Level7;
568         map[Shift+LevelThree+LevelFive]= Level8;
569         map[Lock+LevelThree+LevelFive]= Level7;
570         preserve[Lock+LevelThree+LevelFive]= Lock;
571         map[Shift+Lock+LevelThree+LevelFive]= Level8;
572         preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
573         level_name[Level1]= "Base";
574         level_name[Level2]= "Shift";
575         level_name[Level3]= "Alt Base";
576         level_name[Level4]= "Shift Alt";
577         level_name[Level5]= "X";
578         level_name[Level6]= "X Shift";
579         level_name[Level7]= "X Alt Base";
580         level_name[Level8]= "X Shift Alt";
581     };
582     type "FOUR_LEVEL" {
583         modifiers= Shift+LevelThree;
584         map[Shift]= Level2;
585         map[LevelThree]= Level3;
586         map[Shift+LevelThree]= Level4;
587         level_name[Level1]= "Base";
588         level_name[Level2]= "Shift";
589         level_name[Level3]= "Alt Base";
590         level_name[Level4]= "Shift Alt";
591     };
592     type "FOUR_LEVEL_ALPHABETIC" {
593         modifiers= Shift+Lock+LevelThree;
594         map[Shift]= Level2;
595         map[Lock]= Level2;
596         map[LevelThree]= Level3;
597         map[Shift+LevelThree]= Level4;
598         map[Lock+LevelThree]= Level4;
599         map[Shift+Lock+LevelThree]= Level3;
600         level_name[Level1]= "Base";
601         level_name[Level2]= "Shift";
602         level_name[Level3]= "Alt Base";
603         level_name[Level4]= "Shift Alt";
604     };
605     type "FOUR_LEVEL_SEMIALPHABETIC" {
606         modifiers= Shift+Lock+LevelThree;
607         map[Shift]= Level2;
608         map[Lock]= Level2;
609         map[LevelThree]= Level3;
610         map[Shift+LevelThree]= Level4;
611         map[Lock+LevelThree]= Level3;
612         preserve[Lock+LevelThree]= Lock;
613         map[Shift+Lock+LevelThree]= Level4;
614         preserve[Shift+Lock+LevelThree]= Lock;
615         level_name[Level1]= "Base";
616         level_name[Level2]= "Shift";
617         level_name[Level3]= "Alt Base";
618         level_name[Level4]= "Shift Alt";
619     };
620     type "FOUR_LEVEL_MIXED_KEYPAD" {
621         modifiers= Shift+NumLock+LevelThree;
622         map[Shift+NumLock]= Level1;
623         map[NumLock]= Level2;
624         map[Shift]= Level2;
625         map[LevelThree]= Level3;
626         map[NumLock+LevelThree]= Level3;
627         map[Shift+LevelThree]= Level4;
628         map[Shift+NumLock+LevelThree]= Level4;
629         level_name[Level1]= "Base";
630         level_name[Level2]= "Number";
631         level_name[Level3]= "Alt Base";
632         level_name[Level4]= "Shift Alt";
633     };
634     type "FOUR_LEVEL_X" {
635         modifiers= Shift+Control+Alt+LevelThree;
636         map[LevelThree]= Level2;
637         map[Shift+LevelThree]= Level3;
638         map[Control+Alt]= Level4;
639         level_name[Level1]= "Base";
640         level_name[Level2]= "Alt Base";
641         level_name[Level3]= "Shift Alt";
642         level_name[Level4]= "Ctrl+Alt";
643     };
644     type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
645         modifiers= Shift+Lock+LevelThree;
646         map[Shift]= Level2;
647         map[Lock]= Level4;
648         preserve[Lock]= Lock;
649         map[LevelThree]= Level3;
650         map[Shift+LevelThree]= Level4;
651         map[Lock+LevelThree]= Level3;
652         preserve[Lock+LevelThree]= Lock;
653         map[Shift+Lock+LevelThree]= Level3;
654         level_name[Level1]= "Base";
655         level_name[Level2]= "Shift";
656         level_name[Level3]= "AltGr Base";
657         level_name[Level4]= "Shift AltGr";
658     };
659     type "FOUR_LEVEL_PLUS_LOCK" {
660         modifiers= Shift+Lock+LevelThree;
661         map[Shift]= Level2;
662         map[LevelThree]= Level3;
663         map[Shift+LevelThree]= Level4;
664         map[Lock]= Level5;
665         map[Shift+Lock]= Level2;
666         map[Lock+LevelThree]= Level3;
667         map[Shift+Lock+LevelThree]= Level4;
668         level_name[Level1]= "Base";
669         level_name[Level2]= "Shift";
670         level_name[Level3]= "Alt Base";
671         level_name[Level4]= "Shift Alt";
672         level_name[Level5]= "Lock";
673     };
674     type "FOUR_LEVEL_KEYPAD" {
675         modifiers= Shift+NumLock+LevelThree;
676         map[Shift]= Level2;
677         map[NumLock]= Level2;
678         map[LevelThree]= Level3;
679         map[Shift+LevelThree]= Level4;
680         map[NumLock+LevelThree]= Level4;
681         map[Shift+NumLock+LevelThree]= Level3;
682         level_name[Level1]= "Base";
683         level_name[Level2]= "Number";
684         level_name[Level3]= "Alt Base";
685         level_name[Level4]= "Alt Number";
686     };
687 };
688
689 xkb_compatibility "complete" {
690
691     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
692
693     interpret.useModMapMods= AnyLevel;
694     interpret.repeat= False;
695     interpret.locking= False;
696     interpret ISO_Level2_Latch+Exactly(Shift) {
697         useModMapMods=level1;
698         action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
699     };
700     interpret Shift_Lock+AnyOf(Shift+Lock) {
701         action= LockMods(modifiers=Shift);
702     };
703     interpret Num_Lock+AnyOf(all) {
704         virtualModifier= NumLock;
705         action= LockMods(modifiers=NumLock);
706     };
707     interpret ISO_Level3_Shift+AnyOf(all) {
708         virtualModifier= LevelThree;
709         useModMapMods=level1;
710         action= SetMods(modifiers=LevelThree,clearLocks);
711     };
712     interpret ISO_Level3_Latch+AnyOf(all) {
713         virtualModifier= LevelThree;
714         useModMapMods=level1;
715         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
716     };
717     interpret ISO_Level3_Lock+AnyOf(all) {
718         virtualModifier= LevelThree;
719         useModMapMods=level1;
720         action= LockMods(modifiers=LevelThree);
721     };
722     interpret Alt_L+AnyOf(all) {
723         virtualModifier= Alt;
724         action= SetMods(modifiers=modMapMods,clearLocks);
725     };
726     interpret Alt_R+AnyOf(all) {
727         virtualModifier= Alt;
728         action= SetMods(modifiers=modMapMods,clearLocks);
729     };
730     interpret Meta_L+AnyOf(all) {
731         virtualModifier= Meta;
732         action= SetMods(modifiers=modMapMods,clearLocks);
733     };
734     interpret Meta_R+AnyOf(all) {
735         virtualModifier= Meta;
736         action= SetMods(modifiers=modMapMods,clearLocks);
737     };
738     interpret Super_L+AnyOf(all) {
739         virtualModifier= Super;
740         action= SetMods(modifiers=modMapMods,clearLocks);
741     };
742     interpret Super_R+AnyOf(all) {
743         virtualModifier= Super;
744         action= SetMods(modifiers=modMapMods,clearLocks);
745     };
746     interpret Hyper_L+AnyOf(all) {
747         virtualModifier= Hyper;
748         action= SetMods(modifiers=modMapMods,clearLocks);
749     };
750     interpret Hyper_R+AnyOf(all) {
751         virtualModifier= Hyper;
752         action= SetMods(modifiers=modMapMods,clearLocks);
753     };
754     interpret Scroll_Lock+AnyOf(all) {
755         virtualModifier= ScrollLock;
756         action= LockMods(modifiers=modMapMods);
757     };
758     interpret ISO_Level5_Shift+AnyOf(all) {
759         virtualModifier= LevelFive;
760         useModMapMods=level1;
761         action= SetMods(modifiers=LevelFive,clearLocks);
762     };
763     interpret ISO_Level5_Latch+AnyOf(all) {
764         virtualModifier= LevelFive;
765         useModMapMods=level1;
766         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
767     };
768     interpret ISO_Level5_Lock+AnyOf(all) {
769         virtualModifier= LevelFive;
770         useModMapMods=level1;
771         action= LockMods(modifiers=LevelFive);
772     };
773     interpret Mode_switch+AnyOfOrNone(all) {
774         virtualModifier= AltGr;
775         useModMapMods=level1;
776         action= SetGroup(group=+1);
777     };
778     interpret ISO_Level3_Shift+AnyOfOrNone(all) {
779         action= SetMods(modifiers=LevelThree,clearLocks);
780     };
781     interpret ISO_Level3_Latch+AnyOfOrNone(all) {
782         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
783     };
784     interpret ISO_Level3_Lock+AnyOfOrNone(all) {
785         action= LockMods(modifiers=LevelThree);
786     };
787     interpret ISO_Group_Latch+AnyOfOrNone(all) {
788         virtualModifier= AltGr;
789         useModMapMods=level1;
790         action= LatchGroup(group=2);
791     };
792     interpret ISO_Next_Group+AnyOfOrNone(all) {
793         virtualModifier= AltGr;
794         useModMapMods=level1;
795         action= LockGroup(group=+1);
796     };
797     interpret ISO_Prev_Group+AnyOfOrNone(all) {
798         virtualModifier= AltGr;
799         useModMapMods=level1;
800         action= LockGroup(group=-1);
801     };
802     interpret ISO_First_Group+AnyOfOrNone(all) {
803         action= LockGroup(group=1);
804     };
805     interpret ISO_Last_Group+AnyOfOrNone(all) {
806         action= LockGroup(group=2);
807     };
808     interpret KP_1+AnyOfOrNone(all) {
809         repeat= True;
810         action= MovePtr(x=-1,y=+1);
811     };
812     interpret KP_End+AnyOfOrNone(all) {
813         repeat= True;
814         action= MovePtr(x=-1,y=+1);
815     };
816     interpret KP_2+AnyOfOrNone(all) {
817         repeat= True;
818         action= MovePtr(x=+0,y=+1);
819     };
820     interpret KP_Down+AnyOfOrNone(all) {
821         repeat= True;
822         action= MovePtr(x=+0,y=+1);
823     };
824     interpret KP_3+AnyOfOrNone(all) {
825         repeat= True;
826         action= MovePtr(x=+1,y=+1);
827     };
828     interpret KP_Next+AnyOfOrNone(all) {
829         repeat= True;
830         action= MovePtr(x=+1,y=+1);
831     };
832     interpret KP_4+AnyOfOrNone(all) {
833         repeat= True;
834         action= MovePtr(x=-1,y=+0);
835     };
836     interpret KP_Left+AnyOfOrNone(all) {
837         repeat= True;
838         action= MovePtr(x=-1,y=+0);
839     };
840     interpret KP_6+AnyOfOrNone(all) {
841         repeat= True;
842         action= MovePtr(x=+1,y=+0);
843     };
844     interpret KP_Right+AnyOfOrNone(all) {
845         repeat= True;
846         action= MovePtr(x=+1,y=+0);
847     };
848     interpret KP_7+AnyOfOrNone(all) {
849         repeat= True;
850         action= MovePtr(x=-1,y=-1);
851     };
852     interpret KP_Home+AnyOfOrNone(all) {
853         repeat= True;
854         action= MovePtr(x=-1,y=-1);
855     };
856     interpret KP_8+AnyOfOrNone(all) {
857         repeat= True;
858         action= MovePtr(x=+0,y=-1);
859     };
860     interpret KP_Up+AnyOfOrNone(all) {
861         repeat= True;
862         action= MovePtr(x=+0,y=-1);
863     };
864     interpret KP_9+AnyOfOrNone(all) {
865         repeat= True;
866         action= MovePtr(x=+1,y=-1);
867     };
868     interpret KP_Prior+AnyOfOrNone(all) {
869         repeat= True;
870         action= MovePtr(x=+1,y=-1);
871     };
872     interpret KP_5+AnyOfOrNone(all) {
873         repeat= True;
874         action= PtrBtn(button=default);
875     };
876     interpret KP_Begin+AnyOfOrNone(all) {
877         repeat= True;
878         action= PtrBtn(button=default);
879     };
880     interpret KP_F2+AnyOfOrNone(all) {
881         repeat= True;
882         action= SetPtrDflt(affect=button,button=1);
883     };
884     interpret KP_Divide+AnyOfOrNone(all) {
885         repeat= True;
886         action= SetPtrDflt(affect=button,button=1);
887     };
888     interpret KP_F3+AnyOfOrNone(all) {
889         repeat= True;
890         action= SetPtrDflt(affect=button,button=2);
891     };
892     interpret KP_Multiply+AnyOfOrNone(all) {
893         repeat= True;
894         action= SetPtrDflt(affect=button,button=2);
895     };
896     interpret KP_F4+AnyOfOrNone(all) {
897         repeat= True;
898         action= SetPtrDflt(affect=button,button=3);
899     };
900     interpret KP_Subtract+AnyOfOrNone(all) {
901         repeat= True;
902         action= SetPtrDflt(affect=button,button=3);
903     };
904     interpret KP_Separator+AnyOfOrNone(all) {
905         repeat= True;
906         action= PtrBtn(button=default,count=2);
907     };
908     interpret KP_Add+AnyOfOrNone(all) {
909         repeat= True;
910         action= PtrBtn(button=default,count=2);
911     };
912     interpret KP_0+AnyOfOrNone(all) {
913         repeat= True;
914         action= LockPtrBtn(button=default,affect=lock);
915     };
916     interpret KP_Insert+AnyOfOrNone(all) {
917         repeat= True;
918         action= LockPtrBtn(button=default,affect=lock);
919     };
920     interpret KP_Decimal+AnyOfOrNone(all) {
921         repeat= True;
922         action= LockPtrBtn(button=default,affect=unlock);
923     };
924     interpret KP_Delete+AnyOfOrNone(all) {
925         repeat= True;
926         action= LockPtrBtn(button=default,affect=unlock);
927     };
928     interpret F25+AnyOfOrNone(all) {
929         repeat= True;
930         action= SetPtrDflt(affect=button,button=1);
931     };
932     interpret F26+AnyOfOrNone(all) {
933         repeat= True;
934         action= SetPtrDflt(affect=button,button=2);
935     };
936     interpret F27+AnyOfOrNone(all) {
937         repeat= True;
938         action= MovePtr(x=-1,y=-1);
939     };
940     interpret F29+AnyOfOrNone(all) {
941         repeat= True;
942         action= MovePtr(x=+1,y=-1);
943     };
944     interpret F31+AnyOfOrNone(all) {
945         repeat= True;
946         action= PtrBtn(button=default);
947     };
948     interpret F33+AnyOfOrNone(all) {
949         repeat= True;
950         action= MovePtr(x=-1,y=+1);
951     };
952     interpret F35+AnyOfOrNone(all) {
953         repeat= True;
954         action= MovePtr(x=+1,y=+1);
955     };
956     interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
957         action= PtrBtn(button=default);
958     };
959     interpret Pointer_Button1+AnyOfOrNone(all) {
960         action= PtrBtn(button=1);
961     };
962     interpret Pointer_Button2+AnyOfOrNone(all) {
963         action= PtrBtn(button=2);
964     };
965     interpret Pointer_Button3+AnyOfOrNone(all) {
966         action= PtrBtn(button=3);
967     };
968     interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
969         action= PtrBtn(button=default,count=2);
970     };
971     interpret Pointer_DblClick1+AnyOfOrNone(all) {
972         action= PtrBtn(button=1,count=2);
973     };
974     interpret Pointer_DblClick2+AnyOfOrNone(all) {
975         action= PtrBtn(button=2,count=2);
976     };
977     interpret Pointer_DblClick3+AnyOfOrNone(all) {
978         action= PtrBtn(button=3,count=2);
979     };
980     interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
981         action= LockPtrBtn(button=default,affect=both);
982     };
983     interpret Pointer_Drag1+AnyOfOrNone(all) {
984         action= LockPtrBtn(button=1,affect=both);
985     };
986     interpret Pointer_Drag2+AnyOfOrNone(all) {
987         action= LockPtrBtn(button=2,affect=both);
988     };
989     interpret Pointer_Drag3+AnyOfOrNone(all) {
990         action= LockPtrBtn(button=3,affect=both);
991     };
992     interpret Pointer_EnableKeys+AnyOfOrNone(all) {
993         action= LockControls(controls=MouseKeys);
994     };
995     interpret Pointer_Accelerate+AnyOfOrNone(all) {
996         action= LockControls(controls=MouseKeysAccel);
997     };
998     interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
999         action= SetPtrDflt(affect=button,button=+1);
1000     };
1001     interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
1002         action= SetPtrDflt(affect=button,button=-1);
1003     };
1004     interpret AccessX_Enable+AnyOfOrNone(all) {
1005         action= LockControls(controls=AccessXKeys);
1006     };
1007     interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
1008         action= LockControls(controls=AccessXFeedback);
1009     };
1010     interpret RepeatKeys_Enable+AnyOfOrNone(all) {
1011         action= LockControls(controls=RepeatKeys);
1012     };
1013     interpret SlowKeys_Enable+AnyOfOrNone(all) {
1014         action= LockControls(controls=SlowKeys);
1015     };
1016     interpret BounceKeys_Enable+AnyOfOrNone(all) {
1017         action= LockControls(controls=BounceKeys);
1018     };
1019     interpret StickyKeys_Enable+AnyOfOrNone(all) {
1020         action= LockControls(controls=StickyKeys);
1021     };
1022     interpret MouseKeys_Enable+AnyOfOrNone(all) {
1023         action= LockControls(controls=MouseKeys);
1024     };
1025     interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
1026         action= LockControls(controls=MouseKeysAccel);
1027     };
1028     interpret Overlay1_Enable+AnyOfOrNone(all) {
1029         action= LockControls(controls=Overlay1);
1030     };
1031     interpret Overlay2_Enable+AnyOfOrNone(all) {
1032         action= LockControls(controls=Overlay2);
1033     };
1034     interpret AudibleBell_Enable+AnyOfOrNone(all) {
1035         action= LockControls(controls=AudibleBell);
1036     };
1037     interpret Terminate_Server+AnyOfOrNone(all) {
1038         action= Terminate();
1039     };
1040     interpret Alt_L+AnyOfOrNone(all) {
1041         action= SetMods(modifiers=Alt,clearLocks);
1042     };
1043     interpret Alt_R+AnyOfOrNone(all) {
1044         action= SetMods(modifiers=Alt,clearLocks);
1045     };
1046     interpret Meta_L+AnyOfOrNone(all) {
1047         action= SetMods(modifiers=Meta,clearLocks);
1048     };
1049     interpret Meta_R+AnyOfOrNone(all) {
1050         action= SetMods(modifiers=Meta,clearLocks);
1051     };
1052     interpret Super_L+AnyOfOrNone(all) {
1053         action= SetMods(modifiers=Super,clearLocks);
1054     };
1055     interpret Super_R+AnyOfOrNone(all) {
1056         action= SetMods(modifiers=Super,clearLocks);
1057     };
1058     interpret Hyper_L+AnyOfOrNone(all) {
1059         action= SetMods(modifiers=Hyper,clearLocks);
1060     };
1061     interpret Hyper_R+AnyOfOrNone(all) {
1062         action= SetMods(modifiers=Hyper,clearLocks);
1063     };
1064     interpret Shift_L+AnyOfOrNone(all) {
1065         action= SetMods(modifiers=Shift,clearLocks);
1066     };
1067     interpret XF86Switch_VT_1+AnyOfOrNone(all) {
1068         repeat= True;
1069         action= SwitchScreen(screen=1,!same);
1070     };
1071     interpret XF86Switch_VT_2+AnyOfOrNone(all) {
1072         repeat= True;
1073         action= SwitchScreen(screen=2,!same);
1074     };
1075     interpret XF86Switch_VT_3+AnyOfOrNone(all) {
1076         repeat= True;
1077         action= SwitchScreen(screen=3,!same);
1078     };
1079     interpret XF86Switch_VT_4+AnyOfOrNone(all) {
1080         repeat= True;
1081         action= SwitchScreen(screen=4,!same);
1082     };
1083     interpret XF86Switch_VT_5+AnyOfOrNone(all) {
1084         repeat= True;
1085         action= SwitchScreen(screen=5,!same);
1086     };
1087     interpret XF86Switch_VT_6+AnyOfOrNone(all) {
1088         repeat= True;
1089         action= SwitchScreen(screen=6,!same);
1090     };
1091     interpret XF86Switch_VT_7+AnyOfOrNone(all) {
1092         repeat= True;
1093         action= SwitchScreen(screen=7,!same);
1094     };
1095     interpret XF86Switch_VT_8+AnyOfOrNone(all) {
1096         repeat= True;
1097         action= SwitchScreen(screen=8,!same);
1098     };
1099     interpret XF86Switch_VT_9+AnyOfOrNone(all) {
1100         repeat= True;
1101         action= SwitchScreen(screen=9,!same);
1102     };
1103     interpret XF86Switch_VT_10+AnyOfOrNone(all) {
1104         repeat= True;
1105         action= SwitchScreen(screen=10,!same);
1106     };
1107     interpret XF86Switch_VT_11+AnyOfOrNone(all) {
1108         repeat= True;
1109         action= SwitchScreen(screen=11,!same);
1110     };
1111     interpret XF86Switch_VT_12+AnyOfOrNone(all) {
1112         repeat= True;
1113         action= SwitchScreen(screen=12,!same);
1114     };
1115     interpret XF86LogGrabInfo+AnyOfOrNone(all) {
1116         repeat= True;
1117         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);
1118     };
1119     interpret XF86LogWindowTree+AnyOfOrNone(all) {
1120         repeat= True;
1121         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);
1122     };
1123     interpret XF86Next_VMode+AnyOfOrNone(all) {
1124         repeat= True;
1125         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);
1126     };
1127     interpret XF86Prev_VMode+AnyOfOrNone(all) {
1128         repeat= True;
1129         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);
1130     };
1131     interpret ISO_Level5_Shift+AnyOfOrNone(all) {
1132         action= SetMods(modifiers=LevelFive,clearLocks);
1133     };
1134     interpret ISO_Level5_Latch+AnyOfOrNone(all) {
1135         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
1136     };
1137     interpret ISO_Level5_Lock+AnyOfOrNone(all) {
1138         action= LockMods(modifiers=LevelFive);
1139     };
1140     interpret Caps_Lock+AnyOfOrNone(all) {
1141         action= LockMods(modifiers=Lock);
1142     };
1143     interpret Any+Exactly(Lock) {
1144         action= LockMods(modifiers=Lock);
1145     };
1146     interpret Any+AnyOf(all) {
1147         action= SetMods(modifiers=modMapMods,clearLocks);
1148     };
1149     interpret osfLeft {
1150         repeat=True;
1151         action=RedirectKey(keycode=<HOME>, clearmodifiers=Super);
1152     };
1153     interpret osfRight {
1154         repeat=True;
1155         action=RedirectKey(keycode=<END>, clearmodifiers=Super);
1156     };
1157     group 2 = AltGr;
1158     group 3 = AltGr;
1159     group 4 = AltGr;
1160     indicator "Caps Lock" {
1161         !allowExplicit;
1162         whichModState= locked;
1163         modifiers= Lock;
1164     };
1165     indicator "Num Lock" {
1166         !allowExplicit;
1167         whichModState= locked;
1168         modifiers= NumLock;
1169     };
1170     indicator "Scroll Lock" {
1171         whichModState= locked;
1172         modifiers= ScrollLock;
1173     };
1174     indicator "Shift Lock" {
1175         !allowExplicit;
1176         whichModState= locked;
1177         modifiers= Shift;
1178     };
1179     indicator "Group 2" {
1180         !allowExplicit;
1181         groups= 0xfe;
1182     };
1183     indicator "Mouse Keys" {
1184         indicatorDrivesKeyboard;
1185         controls= mouseKeys;
1186     };
1187 };
1188
1189 xkb_symbols "pc+gb+inet(evdev)" {
1190
1191     name[group1]="English (UK)";
1192
1193     key  <ESC> {         [          Escape ] };
1194     key <AE01> {
1195         type= "FOUR_LEVEL",
1196         symbols[Group1]= [               1,          exclam,     onesuperior,      exclamdown ]
1197     };
1198     key <AE02> {
1199         type= "FOUR_LEVEL",
1200         symbols[Group1]= [               2,        quotedbl,        NoSymbol,        NoSymbol ]
1201     };
1202     key <AE03> {
1203         type= "FOUR_LEVEL",
1204         symbols[Group1]= [               3,      numbersign,        NoSymbol,        NoSymbol ]
1205     };
1206     key <AE04> {
1207         type= "FOUR_LEVEL",
1208         symbols[Group1]= [               4,          dollar,        EuroSign,      onequarter ]
1209     };
1210     key <AE05> {
1211         type= "FOUR_LEVEL",
1212         symbols[Group1]= [               5,         percent,         onehalf,    threeeighths ]
1213     };
1214     key <AE06> {
1215         type= "FOUR_LEVEL",
1216         symbols[Group1]= [               6,     asciicircum,   threequarters,     fiveeighths ]
1217     };
1218     key <AE07> {
1219         type= "FOUR_LEVEL",
1220         symbols[Group1]= [               7,       ampersand,       braceleft,    seveneighths ]
1221     };
1222     key <AE08> {
1223         type= "FOUR_LEVEL",
1224         symbols[Group1]= [               8,        asterisk,     bracketleft,       trademark ]
1225     };
1226     key <AE09> {
1227         type= "FOUR_LEVEL",
1228         symbols[Group1]= [               9,       parenleft,    bracketright,       plusminus ]
1229     };
1230     key <AE10> {
1231         type= "FOUR_LEVEL",
1232         symbols[Group1]= [               0,      parenright,      braceright,          degree ]
1233     };
1234     key <AE11> {
1235         type= "FOUR_LEVEL",
1236         symbols[Group1]= [           minus,      underscore,       backslash,    questiondown ]
1237     };
1238     key <AE12> {
1239         type= "FOUR_LEVEL",
1240         symbols[Group1]= [           equal,            plus,    dead_cedilla,     dead_ogonek ]
1241     };
1242     key <BKSP> {         [       BackSpace ] };
1243     key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
1244     key <AD01> {
1245         type= "FOUR_LEVEL_SEMIALPHABETIC",
1246         symbols[Group1]= [               q,               Q,              at,     Greek_OMEGA ]
1247     };
1248     key <AD02> {
1249         type= "FOUR_LEVEL_ALPHABETIC",
1250         symbols[Group1]= [               w,               W,         lstroke,         Lstroke ]
1251     };
1252     key <AD03> {
1253         type= "FOUR_LEVEL_ALPHABETIC",
1254         symbols[Group1]= [               e,               E,               e,               E ]
1255     };
1256     key <AD04> {
1257         type= "FOUR_LEVEL_SEMIALPHABETIC",
1258         symbols[Group1]= [               r,               R,       paragraph,      registered ]
1259     };
1260     key <AD05> {
1261         type= "FOUR_LEVEL_ALPHABETIC",
1262         symbols[Group1]= [               t,               T,          tslash,          Tslash ]
1263     };
1264     key <AD06> {
1265         type= "FOUR_LEVEL_SEMIALPHABETIC",
1266         symbols[Group1]= [               y,               Y,       leftarrow,             yen ]
1267     };
1268     key <AD07> {
1269         type= "FOUR_LEVEL_SEMIALPHABETIC",
1270         symbols[Group1]= [               u,               U,       downarrow,         uparrow ]
1271     };
1272     key <AD08> {
1273         type= "FOUR_LEVEL_SEMIALPHABETIC",
1274         symbols[Group1]= [               i,               I,      rightarrow,        idotless ]
1275     };
1276     key <AD09> {
1277         type= "FOUR_LEVEL_ALPHABETIC",
1278         symbols[Group1]= [               o,               O,          oslash,          Oslash ]
1279     };
1280     key <AD10> {
1281         type= "FOUR_LEVEL_ALPHABETIC",
1282         symbols[Group1]= [               p,               P,           thorn,           THORN ]
1283     };
1284     key <AD11> {
1285         type= "FOUR_LEVEL",
1286         symbols[Group1]= [     bracketleft,       braceleft,  dead_diaeresis,  dead_abovering ]
1287     };
1288     key <AD12> {
1289         type= "FOUR_LEVEL",
1290         symbols[Group1]= [    bracketright,      braceright,      dead_tilde,     dead_macron ]
1291     };
1292     key <RTRN> {         [          Return ] };
1293     key <LCTL> {         [       Caps_Lock ] };
1294     key <AC01> {
1295         type= "FOUR_LEVEL_ALPHABETIC",
1296         symbols[Group1]= [               a,               A,              ae,              AE ]
1297     };
1298     key <AC02> {
1299         type= "FOUR_LEVEL_SEMIALPHABETIC",
1300         symbols[Group1]= [               s,               S,          ssharp,         section ]
1301     };
1302     key <AC03> {
1303         type= "FOUR_LEVEL_ALPHABETIC",
1304         symbols[Group1]= [               d,               D,             eth,             ETH ]
1305     };
1306     key <AC04> {
1307         type= "FOUR_LEVEL_SEMIALPHABETIC",
1308         symbols[Group1]= [               f,               F,         dstroke,     ordfeminine ]
1309     };
1310     key <AC05> {
1311         type= "FOUR_LEVEL_ALPHABETIC",
1312         symbols[Group1]= [               g,               G,             eng,             ENG ]
1313     };
1314     key <AC06> {
1315         type= "FOUR_LEVEL_ALPHABETIC",
1316         symbols[Group1]= [               h,               H,         hstroke,         Hstroke ]
1317     };
1318     key <AC07> {
1319         type= "FOUR_LEVEL_SEMIALPHABETIC",
1320         symbols[Group1]= [               j,               J,       dead_hook,       dead_horn ]
1321     };
1322     key <AC08> {
1323         type= "FOUR_LEVEL_SEMIALPHABETIC",
1324         symbols[Group1]= [               k,               K,             kra,       ampersand ]
1325     };
1326     key <AC09> {
1327         type= "FOUR_LEVEL_ALPHABETIC",
1328         symbols[Group1]= [               l,               L,         lstroke,         Lstroke ]
1329     };
1330     key <AC10> {
1331         type= "FOUR_LEVEL",
1332         symbols[Group1]= [       semicolon,           colon,      dead_acute, dead_doubleacute ]
1333     };
1334     key <AC11> {
1335         type= "FOUR_LEVEL",
1336         symbols[Group1]= [      apostrophe,              at,        NoSymbol,        NoSymbol ]
1337     };
1338     key <TLDE> {
1339         type= "FOUR_LEVEL",
1340         symbols[Group1]= [           grave,         notsign,             bar,             bar ]
1341     };
1342     key <LFSH> {         [         Shift_L ] };
1343     key <BKSL> {
1344         type= "FOUR_LEVEL",
1345         symbols[Group1]= [      numbersign,      asciitilde,        NoSymbol,        NoSymbol ]
1346     };
1347     key <AB01> {
1348         type= "FOUR_LEVEL_SEMIALPHABETIC",
1349         symbols[Group1]= [               z,               Z,   guillemotleft,            less ]
1350     };
1351     key <AB02> {
1352         type= "FOUR_LEVEL_SEMIALPHABETIC",
1353         symbols[Group1]= [               x,               X,  guillemotright,         greater ]
1354     };
1355     key <AB03> {
1356         type= "FOUR_LEVEL_SEMIALPHABETIC",
1357         symbols[Group1]= [               c,               C,            cent,       copyright ]
1358     };
1359     key <AB04> {
1360         type= "FOUR_LEVEL_SEMIALPHABETIC",
1361         symbols[Group1]= [               v,               V, leftdoublequotemark, leftsinglequotemark ]
1362     };
1363     key <AB05> {
1364         type= "FOUR_LEVEL_SEMIALPHABETIC",
1365         symbols[Group1]= [               b,               B, rightdoublequotemark, rightsinglequotemark ]
1366     };
1367     key <AB06> {
1368         type= "FOUR_LEVEL_ALPHABETIC",
1369         symbols[Group1]= [               n,               N,               n,               N ]
1370     };
1371     key <AB07> {
1372         type= "FOUR_LEVEL_SEMIALPHABETIC",
1373         symbols[Group1]= [               m,               M,              mu,       masculine ]
1374     };
1375     key <AB08> {
1376         type= "FOUR_LEVEL",
1377         symbols[Group1]= [           comma,            less,  horizconnector,        multiply ]
1378     };
1379     key <AB09> {
1380         type= "FOUR_LEVEL",
1381         symbols[Group1]= [          period,         greater,  periodcentered,        division ]
1382     };
1383     key <AB10> {
1384         type= "FOUR_LEVEL",
1385         symbols[Group1]= [           slash,        question,   dead_belowdot,   dead_abovedot ]
1386     };
1387     key <RTSH> {         [         Shift_R ] };
1388     key <KPMU> {
1389         type= "CTRL+ALT",
1390         symbols[Group1]= [     KP_Multiply,     KP_Multiply,     KP_Multiply,     KP_Multiply,   XF86ClearGrab ]
1391     };
1392     key <LWIN> {         [           Alt_L,          Meta_L ] };
1393     key <SPCE> {         [           space ] };
1394     key <CAPS> {         [       Control_L ] };
1395     key <FK01> {
1396         type= "CTRL+ALT",
1397         symbols[Group1]= [              F1,              F1,              F1,              F1, XF86Switch_VT_1 ]
1398     };
1399     key <FK02> {
1400         type= "CTRL+ALT",
1401         symbols[Group1]= [              F2,              F2,              F2,              F2, XF86Switch_VT_2 ]
1402     };
1403     key <FK03> {
1404         type= "CTRL+ALT",
1405         symbols[Group1]= [              F3,              F3,              F3,              F3, XF86Switch_VT_3 ]
1406     };
1407     key <FK04> {
1408         type= "CTRL+ALT",
1409         symbols[Group1]= [              F4,              F4,              F4,              F4, XF86Switch_VT_4 ]
1410     };
1411     key <FK05> {
1412         type= "CTRL+ALT",
1413         symbols[Group1]= [              F5,              F5,              F5,              F5, XF86Switch_VT_5 ]
1414     };
1415     key <FK06> {
1416         type= "CTRL+ALT",
1417         symbols[Group1]= [              F6,              F6,              F6,              F6, XF86Switch_VT_6 ]
1418     };
1419     key <FK07> {
1420         type= "CTRL+ALT",
1421         symbols[Group1]= [              F7,              F7,              F7,              F7, XF86Switch_VT_7 ]
1422     };
1423     key <FK08> {
1424         type= "CTRL+ALT",
1425         symbols[Group1]= [              F8,              F8,              F8,              F8, XF86Switch_VT_8 ]
1426     };
1427     key <FK09> {
1428         type= "CTRL+ALT",
1429         symbols[Group1]= [              F9,              F9,              F9,              F9, XF86Switch_VT_9 ]
1430     };
1431     key <FK10> {
1432         type= "CTRL+ALT",
1433         symbols[Group1]= [             F10,             F10,             F10,             F10, XF86Switch_VT_10 ]
1434     };
1435     key <NMLK> {         [        Num_Lock ] };
1436     key <SCLK> {         [     Scroll_Lock ] };
1437     key  <KP7> {         [         KP_Home,            KP_7 ] };
1438     key  <KP8> {         [           KP_Up,            KP_8 ] };
1439     key  <KP9> {         [        KP_Prior,            KP_9 ] };
1440     key <KPSU> {
1441         type= "CTRL+ALT",
1442         symbols[Group1]= [     KP_Subtract,     KP_Subtract,     KP_Subtract,     KP_Subtract,  XF86Prev_VMode ]
1443     };
1444     key  <KP4> {         [         KP_Left,            KP_4 ] };
1445     key  <KP5> {         [        KP_Begin,            KP_5 ] };
1446     key  <KP6> {         [        KP_Right,            KP_6 ] };
1447     key <KPAD> {
1448         type= "CTRL+ALT",
1449         symbols[Group1]= [          KP_Add,          KP_Add,          KP_Add,          KP_Add,  XF86Next_VMode ]
1450     };
1451     key  <KP1> {         [          KP_End,            KP_1 ] };
1452     key  <KP2> {         [         KP_Down,            KP_2 ] };
1453     key  <KP3> {         [         KP_Next,            KP_3 ] };
1454     key  <KP0> {         [       KP_Insert,            KP_0 ] };
1455     key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
1456     key <LVL3> {
1457         type= "ONE_LEVEL",
1458         symbols[Group1]= [ ISO_Level3_Shift ]
1459     };
1460     key <LSGT> {
1461         type= "FOUR_LEVEL",
1462         symbols[Group1]= [       backslash,             bar,        NoSymbol,        NoSymbol ]
1463     };
1464     key <FK11> {
1465         type= "CTRL+ALT",
1466         symbols[Group1]= [             F11,             F11,             F11,             F11, XF86Switch_VT_11 ]
1467     };
1468     key <FK12> {
1469         type= "CTRL+ALT",
1470         symbols[Group1]= [             F12,             F12,             F12,             F12, XF86Switch_VT_12 ]
1471     };
1472     key <KATA> {         [        Katakana ] };
1473     key <HIRA> {         [        Hiragana ] };
1474     key <HENK> {         [     Henkan_Mode ] };
1475     key <HKTG> {         [ Hiragana_Katakana ] };
1476     key <MUHE> {         [        Muhenkan ] };
1477     key <KPEN> {         [        KP_Enter ] };
1478     key <RCTL> {         [       Control_R ] };
1479     key <KPDV> {
1480         type= "CTRL+ALT",
1481         symbols[Group1]= [       KP_Divide,       KP_Divide,       KP_Divide,       KP_Divide,      XF86Ungrab ]
1482     };
1483     key <PRSC> {
1484         type= "PC_ALT_LEVEL2",
1485         symbols[Group1]= [           Print,         Sys_Req ]
1486     };
1487     key <RALT> {
1488         type= "TWO_LEVEL",
1489         symbols[Group1]= [ ISO_Level3_Shift,       Multi_key ]
1490     };
1491     key <LNFD> {         [        Linefeed ] };
1492     key <HOME> {         [           Prior ] };
1493     key   <UP> {         [              Up ] };
1494     key <PGUP> {         [            Home ] };
1495     key <LEFT> {
1496  type = "PC_SUPER_LEVEL2",
1497          [            Left, osfLeft ]
1498  };
1499     key <RGHT> {
1500  type = "PC_SUPER_LEVEL2",
1501          [           Right, osfRight ]
1502  };
1503     key  <END> {         [            Next ] };
1504     key <DOWN> {         [            Down ] };
1505     key <PGDN> {         [             End ] };
1506     key  <INS> {         [          Insert ] };
1507     key <DELE> {         [          Delete ] };
1508     key <MUTE> {         [   XF86AudioMute ] };
1509     key <VOL-> {         [ XF86AudioLowerVolume ] };
1510     key <VOL+> {         [ XF86AudioRaiseVolume ] };
1511     key <POWR> {         [    XF86PowerOff ] };
1512     key <KPEQ> {         [        KP_Equal ] };
1513     key <I126> {         [       plusminus ] };
1514     key <PAUS> {
1515         type= "PC_CONTROL_LEVEL2",
1516         symbols[Group1]= [           Pause,           Break ]
1517     };
1518     key <I128> {         [     XF86LaunchA ] };
1519     key <I129> {         [      KP_Decimal,      KP_Decimal ] };
1520     key <HNGL> {         [          Hangul ] };
1521     key <HJCV> {         [    Hangul_Hanja ] };
1522     key <LALT> {         [         Super_L ] };
1523     key <RWIN> {         [         Super_R ] };
1524     key <COMP> {         [            Menu ] };
1525     key <STOP> {         [          Cancel ] };
1526     key <AGAI> {         [            Redo ] };
1527     key <PROP> {         [        SunProps ] };
1528     key <UNDO> {         [            Undo ] };
1529     key <FRNT> {         [        SunFront ] };
1530     key <COPY> {         [        XF86Copy ] };
1531     key <OPEN> {         [        XF86Open ] };
1532     key <PAST> {         [       XF86Paste ] };
1533     key <FIND> {         [            Find ] };
1534     key  <CUT> {         [         XF86Cut ] };
1535     key <HELP> {         [            Help ] };
1536     key <I147> {         [      XF86MenuKB ] };
1537     key <I148> {         [  XF86Calculator ] };
1538     key <I150> {         [       XF86Sleep ] };
1539     key <I151> {         [      XF86WakeUp ] };
1540     key <I152> {         [    XF86Explorer ] };
1541     key <I153> {         [        XF86Send ] };
1542     key <I155> {         [        XF86Xfer ] };
1543     key <I156> {         [     XF86Launch1 ] };
1544     key <I157> {         [     XF86Launch2 ] };
1545     key <I158> {         [         XF86WWW ] };
1546     key <I159> {         [         XF86DOS ] };
1547     key <I160> {         [ XF86ScreenSaver ] };
1548     key <I161> {         [ XF86RotateWindows ] };
1549     key <I162> {         [    XF86TaskPane ] };
1550     key <I163> {         [        XF86Mail ] };
1551     key <I164> {         [   XF86Favorites ] };
1552     key <I165> {         [  XF86MyComputer ] };
1553     key <I166> {         [        XF86Back ] };
1554     key <I167> {         [     XF86Forward ] };
1555     key <I169> {         [       XF86Eject ] };
1556     key <I170> {         [       XF86Eject,       XF86Eject ] };
1557     key <I171> {         [   XF86AudioNext ] };
1558     key <I172> {         [   XF86AudioPlay,  XF86AudioPause ] };
1559     key <I173> {         [   XF86AudioPrev ] };
1560     key <I174> {         [   XF86AudioStop,       XF86Eject ] };
1561     key <I175> {         [ XF86AudioRecord ] };
1562     key <I176> {         [ XF86AudioRewind ] };
1563     key <I177> {         [       XF86Phone ] };
1564     key <I179> {         [       XF86Tools ] };
1565     key <I180> {         [    XF86HomePage ] };
1566     key <I181> {         [      XF86Reload ] };
1567     key <I182> {         [       XF86Close ] };
1568     key <I185> {         [    XF86ScrollUp ] };
1569     key <I186> {         [  XF86ScrollDown ] };
1570     key <I187> {         [       parenleft ] };
1571     key <I188> {         [      parenright ] };
1572     key <I189> {         [         XF86New ] };
1573     key <I190> {         [            Redo ] };
1574     key <FK13> {         [       XF86Tools ] };
1575     key <FK14> {         [     XF86Launch5 ] };
1576     key <FK15> {         [     XF86Launch6 ] };
1577     key <FK16> {         [     XF86Launch7 ] };
1578     key <FK17> {         [     XF86Launch8 ] };
1579     key <FK18> {         [     XF86Launch9 ] };
1580     key <FK20> {         [ XF86AudioMicMute ] };
1581     key <FK21> {         [ XF86TouchpadToggle ] };
1582     key <FK22> {         [  XF86TouchpadOn ] };
1583     key <FK23> {         [ XF86TouchpadOff ] };
1584     key <MDSW> {         [     Mode_switch ] };
1585     key  <ALT> {         [        NoSymbol,           Alt_L ] };
1586     key <META> {         [        NoSymbol,          Meta_L ] };
1587     key <SUPR> {         [        NoSymbol,         Super_L ] };
1588     key <HYPR> {         [        NoSymbol,         Hyper_L ] };
1589     key <I208> {         [   XF86AudioPlay ] };
1590     key <I209> {         [  XF86AudioPause ] };
1591     key <I210> {         [     XF86Launch3 ] };
1592     key <I211> {         [     XF86Launch4 ] };
1593     key <I212> {         [     XF86LaunchB ] };
1594     key <I213> {         [     XF86Suspend ] };
1595     key <I214> {         [       XF86Close ] };
1596     key <I215> {         [   XF86AudioPlay ] };
1597     key <I216> {         [ XF86AudioForward ] };
1598     key <I218> {         [           Print ] };
1599     key <I220> {         [      XF86WebCam ] };
1600     key <I223> {         [        XF86Mail ] };
1601     key <I224> {         [   XF86Messenger ] };
1602     key <I225> {         [      XF86Search ] };
1603     key <I226> {         [          XF86Go ] };
1604     key <I227> {         [     XF86Finance ] };
1605     key <I228> {         [        XF86Game ] };
1606     key <I229> {         [        XF86Shop ] };
1607     key <I231> {         [          Cancel ] };
1608     key <I232> {         [ XF86MonBrightnessDown ] };
1609     key <I233> {         [ XF86MonBrightnessUp ] };
1610     key <I234> {         [  XF86AudioMedia ] };
1611     key <I235> {         [     XF86Display ] };
1612     key <I236> {         [ XF86KbdLightOnOff ] };
1613     key <I237> {         [ XF86KbdBrightnessDown ] };
1614     key <I238> {         [ XF86KbdBrightnessUp ] };
1615     key <I239> {         [        XF86Send ] };
1616     key <I240> {         [       XF86Reply ] };
1617     key <I241> {         [ XF86MailForward ] };
1618     key <I242> {         [        XF86Save ] };
1619     key <I243> {         [   XF86Documents ] };
1620     key <I244> {         [     XF86Battery ] };
1621     key <I245> {         [   XF86Bluetooth ] };
1622     key <I246> {         [        XF86WLAN ] };
1623     key <I254> {         [        XF86WWAN ] };
1624     key <I255> {         [      XF86RFKill ] };
1625     modifier_map Lock { <LCTL> };
1626     modifier_map Shift { <LFSH> };
1627     modifier_map Shift { <RTSH> };
1628     modifier_map Mod1 { <LWIN> };
1629     modifier_map Control { <CAPS> };
1630     modifier_map Mod2 { <NMLK> };
1631     modifier_map Mod5 { <LVL3> };
1632     modifier_map Control { <RCTL> };
1633     modifier_map Mod4 { <LALT> };
1634     modifier_map Mod4 { <RWIN> };
1635     modifier_map Mod5 { <MDSW> };
1636     modifier_map Mod1 { <META> };
1637     modifier_map Mod4 { <SUPR> };
1638     modifier_map Mod4 { <HYPR> };
1639 };
1640
1641 xkb_geometry "pc(pc105)" {
1642
1643     width=       470;
1644     height=      180;
1645
1646     alias <AC00> = <CAPS>;
1647     alias <AA00> = <LCTL>;
1648
1649     baseColor=   "white";
1650     labelColor=  "black";
1651     xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1652     description= "Generic 105";
1653
1654     shape "NORM" {
1655         corner= 1,
1656         { [  18,  18 ] },
1657         { [   2,   1 ], [  16,  16 ] }
1658     };
1659     shape "BKSP" {
1660         corner= 1,
1661         { [  38,  18 ] },
1662         { [   2,   1 ], [  36,  16 ] }
1663     };
1664     shape "TABK" {
1665         corner= 1,
1666         { [  28,  18 ] },
1667         { [   2,   1 ], [  26,  16 ] }
1668     };
1669     shape "BKSL" {
1670         corner= 1,
1671         { [  28,  18 ] },
1672         { [   2,   1 ], [  26,  16 ] }
1673     };
1674     shape "RTRN" {
1675         corner= 1,
1676         { [   0,   0 ], [  28,   0 ], [  28,  37 ], [   5,  37 ],
1677           [   5,  18 ], [   0,  18 ] },
1678         { [   2,   1 ], [  26,   1 ], [  26,  35 ], [   7,  35 ],
1679           [   7,  16 ], [   2,  16 ] },
1680         approx= { [   5,   0 ], [  28,  37 ] }
1681     };
1682     shape "CAPS" {
1683         corner= 1,
1684         { [  33,  18 ] },
1685         { [   2,   1 ], [  31,  16 ] }
1686     };
1687     shape "LFSH" {
1688         corner= 1,
1689         { [  25,  18 ] },
1690         { [   2,   1 ], [  23,  16 ] }
1691     };
1692     shape "RTSH" {
1693         corner= 1,
1694         { [  50,  18 ] },
1695         { [   2,   1 ], [  48,  16 ] }
1696     };
1697     shape "MODK" {
1698         corner= 1,
1699         { [  27,  18 ] },
1700         { [   2,   1 ], [  25,  16 ] }
1701     };
1702     shape "SMOD" {
1703         corner= 1,
1704         { [  23,  18 ] },
1705         { [   2,   1 ], [  21,  16 ] }
1706     };
1707     shape "SPCE" {
1708         corner= 1,
1709         { [ 113,  18 ] },
1710         { [   2,   1 ], [ 111,  16 ] }
1711     };
1712     shape "KP0" {
1713         corner= 1,
1714         { [  37,  18 ] },
1715         { [   2,   1 ], [  35,  16 ] }
1716     };
1717     shape "KPAD" {
1718         corner= 1,
1719         { [  18,  37 ] },
1720         { [   2,   1 ], [  16,  35 ] }
1721     };
1722     shape "LEDS" { { [  75,  20 ] } };
1723     shape "LED" { { [   5,   1 ] } };
1724     section "Function" {
1725         key.color= "grey20";
1726         priority=  7;
1727         top=       22;
1728         left=      19;
1729         width=     351;
1730         height=    19;
1731         row {
1732             top=  1;
1733             left= 1;
1734             keys {
1735                 {  <ESC>, "NORM",   1 },
1736                 { <FK01>, "NORM",  20, color="white" },
1737                 { <FK02>, "NORM",   1, color="white" },
1738                 { <FK03>, "NORM",   1, color="white" },
1739                 { <FK04>, "NORM",   1, color="white" },
1740                 { <FK05>, "NORM",  11, color="white" },
1741                 { <FK06>, "NORM",   1, color="white" },
1742                 { <FK07>, "NORM",   1, color="white" },
1743                 { <FK08>, "NORM",   1, color="white" },
1744                 { <FK09>, "NORM",  11, color="white" },
1745                 { <FK10>, "NORM",   1, color="white" },
1746                 { <FK11>, "NORM",   1, color="white" },
1747                 { <FK12>, "NORM",   1, color="white" },
1748                 { <PRSC>, "NORM",   8, color="white" },
1749                 { <SCLK>, "NORM",   1, color="white" },
1750                 { <PAUS>, "NORM",   1, color="white" }
1751             };
1752         };
1753     }; // End of "Function" section
1754
1755     section "Alpha" {
1756         key.color= "white";
1757         priority=  8;
1758         top=       61;
1759         left=      19;
1760         width=     287;
1761         height=    95;
1762         row {
1763             top=  1;
1764             left= 1;
1765             keys {
1766                 { <TLDE>, "NORM",   1 }, { <AE01>, "NORM",   1 },
1767                 { <AE02>, "NORM",   1 }, { <AE03>, "NORM",   1 },
1768                 { <AE04>, "NORM",   1 }, { <AE05>, "NORM",   1 },
1769                 { <AE06>, "NORM",   1 }, { <AE07>, "NORM",   1 },
1770                 { <AE08>, "NORM",   1 }, { <AE09>, "NORM",   1 },
1771                 { <AE10>, "NORM",   1 }, { <AE11>, "NORM",   1 },
1772                 { <AE12>, "NORM",   1 },
1773                 { <BKSP>, "BKSP",   1, color="grey20" }
1774             };
1775         };
1776         row {
1777             top=  20;
1778             left= 1;
1779             keys {
1780                 {  <TAB>, "TABK",   1, color="grey20" },
1781                 { <AD01>, "NORM",   1 }, { <AD02>, "NORM",   1 },
1782                 { <AD03>, "NORM",   1 }, { <AD04>, "NORM",   1 },
1783                 { <AD05>, "NORM",   1 }, { <AD06>, "NORM",   1 },
1784                 { <AD07>, "NORM",   1 }, { <AD08>, "NORM",   1 },
1785                 { <AD09>, "NORM",   1 }, { <AD10>, "NORM",   1 },
1786                 { <AD11>, "NORM",   1 }, { <AD12>, "NORM",   1 },
1787                 { <RTRN>, "RTRN",   1, color="grey20" }
1788             };
1789         };
1790         row {
1791             top=  39;
1792             left= 1;
1793             keys {
1794                 { <CAPS>, "CAPS",   1, color="grey20" },
1795                 { <AC01>, "NORM",   1 }, { <AC02>, "NORM",   1 },
1796                 { <AC03>, "NORM",   1 }, { <AC04>, "NORM",   1 },
1797                 { <AC05>, "NORM",   1 }, { <AC06>, "NORM",   1 },
1798                 { <AC07>, "NORM",   1 }, { <AC08>, "NORM",   1 },
1799                 { <AC09>, "NORM",   1 }, { <AC10>, "NORM",   1 },
1800                 { <AC11>, "NORM",   1 }, { <BKSL>, "NORM",   1 }
1801             };
1802         };
1803         row {
1804             top=  58;
1805             left= 1;
1806             keys {
1807                 { <LFSH>, "LFSH",   1, color="grey20" },
1808                 { <LSGT>, "NORM",   1 }, { <AB01>, "NORM",   1 },
1809                 { <AB02>, "NORM",   1 }, { <AB03>, "NORM",   1 },
1810                 { <AB04>, "NORM",   1 }, { <AB05>, "NORM",   1 },
1811                 { <AB06>, "NORM",   1 }, { <AB07>, "NORM",   1 },
1812                 { <AB08>, "NORM",   1 }, { <AB09>, "NORM",   1 },
1813                 { <AB10>, "NORM",   1 },
1814                 { <RTSH>, "RTSH",   1, color="grey20" }
1815             };
1816         };
1817         row {
1818             top=  77;
1819             left= 1;
1820             keys {
1821                 { <LCTL>, "MODK",   1, color="grey20" },
1822                 { <LWIN>, "SMOD",   1, color="grey20" },
1823                 { <LALT>, "SMOD",   1, color="grey20" },
1824                 { <SPCE>, "SPCE",   1 },
1825                 { <RALT>, "SMOD",   1, color="grey20" },
1826                 { <RWIN>, "SMOD",   1, color="grey20" },
1827                 { <MENU>, "SMOD",   1, color="grey20" },
1828                 { <RCTL>, "SMOD",   1, color="grey20" }
1829             };
1830         };
1831     }; // End of "Alpha" section
1832
1833     section "Editing" {
1834         key.color= "grey20";
1835         priority=  9;
1836         top=       61;
1837         left=      312;
1838         width=     58;
1839         height=    95;
1840         row {
1841             top=  1;
1842             left= 1;
1843             keys {
1844                 {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },
1845                 { <PGUP>, "NORM",   1 }
1846             };
1847         };
1848         row {
1849             top=  20;
1850             left= 1;
1851             keys {
1852                 { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },
1853                 { <PGDN>, "NORM",   1 }
1854             };
1855         };
1856         row {
1857             top=  58;
1858             left= 20;
1859             keys {
1860                 {   <UP>, "NORM",   1 }
1861             };
1862         };
1863         row {
1864             top=  77;
1865             left= 1;
1866             keys {
1867                 { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },
1868                 { <RGHT>, "NORM",   1 }
1869             };
1870         };
1871     }; // End of "Editing" section
1872
1873     section "Keypad" {
1874         key.color= "grey20";
1875         priority=  10;
1876         top=       61;
1877         left=      376;
1878         width=     77;
1879         height=    95;
1880         row {
1881             top=  1;
1882             left= 1;
1883             keys {
1884                 { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },
1885                 { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }
1886             };
1887         };
1888         row {
1889             top=  20;
1890             left= 1;
1891             keys {
1892                 {  <KP7>, "NORM",   1, color="white" },
1893                 {  <KP8>, "NORM",   1, color="white" },
1894                 {  <KP9>, "NORM",   1, color="white" },
1895                 { <KPAD>, "KPAD",   1 }
1896             };
1897         };
1898         row {
1899             top=  39;
1900             left= 1;
1901             keys {
1902                 {  <KP4>, "NORM",   1, color="white" },
1903                 {  <KP5>, "NORM",   1, color="white" },
1904                 {  <KP6>, "NORM",   1, color="white" }
1905             };
1906         };
1907         row {
1908             top=  58;
1909             left= 1;
1910             keys {
1911                 {  <KP1>, "NORM",   1, color="white" },
1912                 {  <KP2>, "NORM",   1, color="white" },
1913                 {  <KP3>, "NORM",   1, color="white" },
1914                 { <KPEN>, "KPAD",   1 }
1915             };
1916         };
1917         row {
1918             top=  77;
1919             left= 1;
1920             keys {
1921                 {  <KP0>, "KP0",   1, color="white" },
1922                 { <KPDL>, "NORM",   1, color="white" }
1923             };
1924         };
1925     }; // End of "Keypad" section
1926
1927     solid "LedPanel" {
1928         top=      22;
1929         left=     377;
1930         priority= 0;
1931         color= "grey10";
1932         shape= "LEDS";
1933     };
1934     indicator "Num Lock" {
1935         top=      37;
1936         left=     382;
1937         priority= 1;
1938         onColor= "green";
1939         offColor= "green30";
1940         shape= "LED";
1941     };
1942     indicator "Caps Lock" {
1943         top=      37;
1944         left=     407;
1945         priority= 2;
1946         onColor= "green";
1947         offColor= "green30";
1948         shape= "LED";
1949     };
1950     indicator "Scroll Lock" {
1951         top=      37;
1952         left=     433;
1953         priority= 3;
1954         onColor= "green";
1955         offColor= "green30";
1956         shape= "LED";
1957     };
1958     text "NumLockLabel" {
1959         top=      25;
1960         left=     378;
1961         priority= 4;
1962         width=  19.8;
1963         height=  10;
1964         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1965         text=  "Num\nLock";
1966     };
1967     text "CapsLockLabel" {
1968         top=      25;
1969         left=     403;
1970         priority= 5;
1971         width=  26.4;
1972         height=  10;
1973         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1974         text=  "Caps\nLock";
1975     };
1976     text "ScrollLockLabel" {
1977         top=      25;
1978         left=     428;
1979         priority= 6;
1980         width=  39.6;
1981         height=  10;
1982         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
1983         text=  "Scroll\nLock";
1984     };
1985 };
1986
1987 };