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