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