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