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