Fix issues detected by static analysis tool
[platform/upstream/libxkbcommon.git] / test / data / keymaps / no-types.xkb
1 xkb_keymap {
2         xkb_keycodes {
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 {
299         };
300
301         xkb_compatibility {
302                 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
303
304                 interpret.useModMapMods= AnyLevel;
305                 interpret.repeat= false;
306                 interpret.locking= false;
307                 interpret ISO_Level2_Latch+Exactly(Shift) {
308                         useModMapMods=level1;
309                         action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
310                 };
311                 interpret Shift_Lock+AnyOf(Shift+Lock) {
312                         action= LockMods(modifiers=Shift);
313                 };
314                 interpret Num_Lock+AnyOf(all) {
315                         virtualModifier= NumLock;
316                         action= LockMods(modifiers=NumLock);
317                 };
318                 interpret ISO_Lock+AnyOf(all) {
319                         action= NoAction();
320                 };
321                 interpret ISO_Level3_Shift+AnyOf(all) {
322                         virtualModifier= LevelThree;
323                         useModMapMods=level1;
324                         action= SetMods(modifiers=LevelThree,clearLocks);
325                 };
326                 interpret ISO_Level3_Latch+AnyOf(all) {
327                         virtualModifier= LevelThree;
328                         useModMapMods=level1;
329                         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
330                 };
331                 interpret ISO_Level3_Lock+AnyOf(all) {
332                         virtualModifier= LevelThree;
333                         useModMapMods=level1;
334                         action= LockMods(modifiers=LevelThree);
335                 };
336                 interpret Alt_L+AnyOf(all) {
337                         virtualModifier= Alt;
338                         action= SetMods(modifiers=modMapMods,clearLocks);
339                 };
340                 interpret Alt_R+AnyOf(all) {
341                         virtualModifier= Alt;
342                         action= SetMods(modifiers=modMapMods,clearLocks);
343                 };
344                 interpret Meta_L+AnyOf(all) {
345                         virtualModifier= Meta;
346                         action= SetMods(modifiers=modMapMods,clearLocks);
347                 };
348                 interpret Meta_R+AnyOf(all) {
349                         virtualModifier= Meta;
350                         action= SetMods(modifiers=modMapMods,clearLocks);
351                 };
352                 interpret Super_L+AnyOf(all) {
353                         virtualModifier= Super;
354                         action= SetMods(modifiers=modMapMods,clearLocks);
355                 };
356                 interpret Super_R+AnyOf(all) {
357                         virtualModifier= Super;
358                         action= SetMods(modifiers=modMapMods,clearLocks);
359                 };
360                 interpret Hyper_L+AnyOf(all) {
361                         virtualModifier= Hyper;
362                         action= SetMods(modifiers=modMapMods,clearLocks);
363                 };
364                 interpret Hyper_R+AnyOf(all) {
365                         virtualModifier= Hyper;
366                         action= SetMods(modifiers=modMapMods,clearLocks);
367                 };
368                 interpret Scroll_Lock+AnyOf(all) {
369                         virtualModifier= ScrollLock;
370                         action= LockMods(modifiers=modMapMods);
371                 };
372                 interpret ISO_Level5_Shift+AnyOf(all) {
373                         virtualModifier= LevelFive;
374                         useModMapMods=level1;
375                         action= SetMods(modifiers=LevelFive,clearLocks);
376                 };
377                 interpret ISO_Level5_Latch+AnyOf(all) {
378                         virtualModifier= LevelFive;
379                         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
380                 };
381                 interpret ISO_Level5_Lock+AnyOf(all) {
382                         virtualModifier= LevelFive;
383                         action= LockMods(modifiers=LevelFive);
384                 };
385                 interpret Mode_switch+AnyOfOrNone(all) {
386                         virtualModifier= AltGr;
387                         useModMapMods=level1;
388                         action= SetGroup(group=+1);
389                 };
390                 interpret ISO_Level3_Shift+AnyOfOrNone(all) {
391                         action= SetMods(modifiers=LevelThree,clearLocks);
392                 };
393                 interpret ISO_Level3_Latch+AnyOfOrNone(all) {
394                         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
395                 };
396                 interpret ISO_Level3_Lock+AnyOfOrNone(all) {
397                         action= LockMods(modifiers=LevelThree);
398                 };
399                 interpret ISO_Group_Latch+AnyOfOrNone(all) {
400                         virtualModifier= AltGr;
401                         useModMapMods=level1;
402                         action= LatchGroup(group=2);
403                 };
404                 interpret ISO_Next_Group+AnyOfOrNone(all) {
405                         virtualModifier= AltGr;
406                         useModMapMods=level1;
407                         action= LockGroup(group=+1);
408                 };
409                 interpret ISO_Prev_Group+AnyOfOrNone(all) {
410                         virtualModifier= AltGr;
411                         useModMapMods=level1;
412                         action= LockGroup(group=-1);
413                 };
414                 interpret ISO_First_Group+AnyOfOrNone(all) {
415                         action= LockGroup(group=1);
416                 };
417                 interpret ISO_Last_Group+AnyOfOrNone(all) {
418                         action= LockGroup(group=2);
419                 };
420                 interpret KP_1+AnyOfOrNone(all) {
421                         repeat= true;
422                         action= MovePtr(x=-1,y=+1);
423                 };
424                 interpret KP_End+AnyOfOrNone(all) {
425                         repeat= true;
426                         action= MovePtr(x=-1,y=+1);
427                 };
428                 interpret KP_2+AnyOfOrNone(all) {
429                         repeat= true;
430                         action= MovePtr(x=+0,y=+1);
431                 };
432                 interpret KP_Down+AnyOfOrNone(all) {
433                         repeat= true;
434                         action= MovePtr(x=+0,y=+1);
435                 };
436                 interpret KP_3+AnyOfOrNone(all) {
437                         repeat= true;
438                         action= MovePtr(x=+1,y=+1);
439                 };
440                 interpret KP_Next+AnyOfOrNone(all) {
441                         repeat= true;
442                         action= MovePtr(x=+1,y=+1);
443                 };
444                 interpret KP_4+AnyOfOrNone(all) {
445                         repeat= true;
446                         action= MovePtr(x=-1,y=+0);
447                 };
448                 interpret KP_Left+AnyOfOrNone(all) {
449                         repeat= true;
450                         action= MovePtr(x=-1,y=+0);
451                 };
452                 interpret KP_6+AnyOfOrNone(all) {
453                         repeat= true;
454                         action= MovePtr(x=+1,y=+0);
455                 };
456                 interpret KP_Right+AnyOfOrNone(all) {
457                         repeat= true;
458                         action= MovePtr(x=+1,y=+0);
459                 };
460                 interpret KP_7+AnyOfOrNone(all) {
461                         repeat= true;
462                         action= MovePtr(x=-1,y=-1);
463                 };
464                 interpret KP_Home+AnyOfOrNone(all) {
465                         repeat= true;
466                         action= MovePtr(x=-1,y=-1);
467                 };
468                 interpret KP_8+AnyOfOrNone(all) {
469                         repeat= true;
470                         action= MovePtr(x=+0,y=-1);
471                 };
472                 interpret KP_Up+AnyOfOrNone(all) {
473                         repeat= true;
474                         action= MovePtr(x=+0,y=-1);
475                 };
476                 interpret KP_9+AnyOfOrNone(all) {
477                         repeat= true;
478                         action= MovePtr(x=+1,y=-1);
479                 };
480                 interpret KP_Prior+AnyOfOrNone(all) {
481                         repeat= true;
482                         action= MovePtr(x=+1,y=-1);
483                 };
484                 interpret KP_5+AnyOfOrNone(all) {
485                         repeat= true;
486                         action= PtrBtn(button=default);
487                 };
488                 interpret KP_Begin+AnyOfOrNone(all) {
489                         repeat= true;
490                         action= PtrBtn(button=default);
491                 };
492                 interpret KP_F2+AnyOfOrNone(all) {
493                         repeat= true;
494                         action= SetPtrDflt(affect=button,button=1);
495                 };
496                 interpret KP_Divide+AnyOfOrNone(all) {
497                         repeat= true;
498                         action= SetPtrDflt(affect=button,button=1);
499                 };
500                 interpret KP_F3+AnyOfOrNone(all) {
501                         repeat= true;
502                         action= SetPtrDflt(affect=button,button=2);
503                 };
504                 interpret KP_Multiply+AnyOfOrNone(all) {
505                         repeat= true;
506                         action= SetPtrDflt(affect=button,button=2);
507                 };
508                 interpret KP_F4+AnyOfOrNone(all) {
509                         repeat= true;
510                         action= SetPtrDflt(affect=button,button=3);
511                 };
512                 interpret KP_Subtract+AnyOfOrNone(all) {
513                         repeat= true;
514                         action= SetPtrDflt(affect=button,button=3);
515                 };
516                 interpret KP_Separator+AnyOfOrNone(all) {
517                         repeat= true;
518                         action= PtrBtn(button=default,count=2);
519                 };
520                 interpret KP_Add+AnyOfOrNone(all) {
521                         repeat= true;
522                         action= PtrBtn(button=default,count=2);
523                 };
524                 interpret KP_0+AnyOfOrNone(all) {
525                         repeat= true;
526                         action= LockPtrBtn(button=default,affect=lock);
527                 };
528                 interpret KP_Insert+AnyOfOrNone(all) {
529                         repeat= true;
530                         action= LockPtrBtn(button=default,affect=lock);
531                 };
532                 interpret KP_Decimal+AnyOfOrNone(all) {
533                         repeat= true;
534                         action= LockPtrBtn(button=default,affect=unlock);
535                 };
536                 interpret KP_Delete+AnyOfOrNone(all) {
537                         repeat= true;
538                         action= LockPtrBtn(button=default,affect=unlock);
539                 };
540                 interpret F25+AnyOfOrNone(all) {
541                         repeat= true;
542                         action= SetPtrDflt(affect=button,button=1);
543                 };
544                 interpret F26+AnyOfOrNone(all) {
545                         repeat= true;
546                         action= SetPtrDflt(affect=button,button=2);
547                 };
548                 interpret F27+AnyOfOrNone(all) {
549                         repeat= true;
550                         action= MovePtr(x=-1,y=-1);
551                 };
552                 interpret F29+AnyOfOrNone(all) {
553                         repeat= true;
554                         action= MovePtr(x=+1,y=-1);
555                 };
556                 interpret F31+AnyOfOrNone(all) {
557                         repeat= true;
558                         action= PtrBtn(button=default);
559                 };
560                 interpret F33+AnyOfOrNone(all) {
561                         repeat= true;
562                         action= MovePtr(x=-1,y=+1);
563                 };
564                 interpret F35+AnyOfOrNone(all) {
565                         repeat= true;
566                         action= MovePtr(x=+1,y=+1);
567                 };
568                 interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
569                         action= PtrBtn(button=default);
570                 };
571                 interpret Pointer_Button1+AnyOfOrNone(all) {
572                         action= PtrBtn(button=1);
573                 };
574                 interpret Pointer_Button2+AnyOfOrNone(all) {
575                         action= PtrBtn(button=2);
576                 };
577                 interpret Pointer_Button3+AnyOfOrNone(all) {
578                         action= PtrBtn(button=3);
579                 };
580                 interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
581                         action= PtrBtn(button=default,count=2);
582                 };
583                 interpret Pointer_DblClick1+AnyOfOrNone(all) {
584                         action= PtrBtn(button=1,count=2);
585                 };
586                 interpret Pointer_DblClick2+AnyOfOrNone(all) {
587                         action= PtrBtn(button=2,count=2);
588                 };
589                 interpret Pointer_DblClick3+AnyOfOrNone(all) {
590                         action= PtrBtn(button=3,count=2);
591                 };
592                 interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
593                         action= LockPtrBtn(button=default,affect=both);
594                 };
595                 interpret Pointer_Drag1+AnyOfOrNone(all) {
596                         action= LockPtrBtn(button=1,affect=both);
597                 };
598                 interpret Pointer_Drag2+AnyOfOrNone(all) {
599                         action= LockPtrBtn(button=2,affect=both);
600                 };
601                 interpret Pointer_Drag3+AnyOfOrNone(all) {
602                         action= LockPtrBtn(button=3,affect=both);
603                 };
604                 interpret Pointer_EnableKeys+AnyOfOrNone(all) {
605                         action= LockControls(controls=mouseKeys);
606                 };
607                 interpret Pointer_Accelerate+AnyOfOrNone(all) {
608                         action= LockControls(controls=mouseKeysAccel);
609                 };
610                 interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
611                         action= SetPtrDflt(affect=button,button=+1);
612                 };
613                 interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
614                         action= SetPtrDflt(affect=button,button=-1);
615                 };
616                 interpret AccessX_Enable+AnyOfOrNone(all) {
617                         action= LockControls(controls=accessXKeys);
618                 };
619                 interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
620                         action= LockControls(controls=accessXFeedback);
621                 };
622                 interpret RepeatKeys_Enable+AnyOfOrNone(all) {
623                         action= LockControls(controls=repeatKeys);
624                 };
625                 interpret SlowKeys_Enable+AnyOfOrNone(all) {
626                         action= LockControls(controls=slowKeys);
627                 };
628                 interpret BounceKeys_Enable+AnyOfOrNone(all) {
629                         action= LockControls(controls=bounceKeys);
630                 };
631                 interpret StickyKeys_Enable+AnyOfOrNone(all) {
632                         action= LockControls(controls=stickyKeys);
633                 };
634                 interpret MouseKeys_Enable+AnyOfOrNone(all) {
635                         action= LockControls(controls=mouseKeys);
636                 };
637                 interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
638                         action= LockControls(controls=mouseKeysAccel);
639                 };
640                 interpret Overlay1_Enable+AnyOfOrNone(all) {
641                         action= LockControls(controls=none);
642                 };
643                 interpret Overlay2_Enable+AnyOfOrNone(all) {
644                         action= LockControls(controls=none);
645                 };
646                 interpret AudibleBell_Enable+AnyOfOrNone(all) {
647                         action= LockControls(controls=audibleBell);
648                 };
649                 interpret Terminate_Server+AnyOfOrNone(all) {
650                         action= Terminate();
651                 };
652                 interpret Alt_L+AnyOfOrNone(all) {
653                         action= SetMods(modifiers=Alt,clearLocks);
654                 };
655                 interpret Alt_R+AnyOfOrNone(all) {
656                         action= SetMods(modifiers=Alt,clearLocks);
657                 };
658                 interpret Meta_L+AnyOfOrNone(all) {
659                         action= SetMods(modifiers=Meta,clearLocks);
660                 };
661                 interpret Meta_R+AnyOfOrNone(all) {
662                         action= SetMods(modifiers=Meta,clearLocks);
663                 };
664                 interpret Super_L+AnyOfOrNone(all) {
665                         action= SetMods(modifiers=Super,clearLocks);
666                 };
667                 interpret Super_R+AnyOfOrNone(all) {
668                         action= SetMods(modifiers=Super,clearLocks);
669                 };
670                 interpret Hyper_L+AnyOfOrNone(all) {
671                         action= SetMods(modifiers=Hyper,clearLocks);
672                 };
673                 interpret Hyper_R+AnyOfOrNone(all) {
674                         action= SetMods(modifiers=Hyper,clearLocks);
675                 };
676                 interpret Shift_L+AnyOfOrNone(all) {
677                         action= SetMods(modifiers=Shift,clearLocks);
678                 };
679                 interpret XF86Switch_VT_1+AnyOfOrNone(all) {
680                         repeat= true;
681                         action= SwitchScreen(screen=1,!same);
682                 };
683                 interpret XF86Switch_VT_2+AnyOfOrNone(all) {
684                         repeat= true;
685                         action= SwitchScreen(screen=2,!same);
686                 };
687                 interpret XF86Switch_VT_3+AnyOfOrNone(all) {
688                         repeat= true;
689                         action= SwitchScreen(screen=3,!same);
690                 };
691                 interpret XF86Switch_VT_4+AnyOfOrNone(all) {
692                         repeat= true;
693                         action= SwitchScreen(screen=4,!same);
694                 };
695                 interpret XF86Switch_VT_5+AnyOfOrNone(all) {
696                         repeat= true;
697                         action= SwitchScreen(screen=5,!same);
698                 };
699                 interpret XF86Switch_VT_6+AnyOfOrNone(all) {
700                         repeat= true;
701                         action= SwitchScreen(screen=6,!same);
702                 };
703                 interpret XF86Switch_VT_7+AnyOfOrNone(all) {
704                         repeat= true;
705                         action= SwitchScreen(screen=7,!same);
706                 };
707                 interpret XF86Switch_VT_8+AnyOfOrNone(all) {
708                         repeat= true;
709                         action= SwitchScreen(screen=8,!same);
710                 };
711                 interpret XF86Switch_VT_9+AnyOfOrNone(all) {
712                         repeat= true;
713                         action= SwitchScreen(screen=9,!same);
714                 };
715                 interpret XF86Switch_VT_10+AnyOfOrNone(all) {
716                         repeat= true;
717                         action= SwitchScreen(screen=10,!same);
718                 };
719                 interpret XF86Switch_VT_11+AnyOfOrNone(all) {
720                         repeat= true;
721                         action= SwitchScreen(screen=11,!same);
722                 };
723                 interpret XF86Switch_VT_12+AnyOfOrNone(all) {
724                         repeat= true;
725                         action= SwitchScreen(screen=12,!same);
726                 };
727                 interpret XF86LogGrabInfo+AnyOfOrNone(all) {
728                         repeat= true;
729                         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);
730                 };
731                 interpret XF86LogWindowTree+AnyOfOrNone(all) {
732                         repeat= true;
733                         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);
734                 };
735                 interpret XF86Next_VMode+AnyOfOrNone(all) {
736                         repeat= true;
737                         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);
738                 };
739                 interpret XF86Prev_VMode+AnyOfOrNone(all) {
740                         repeat= true;
741                         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);
742                 };
743                 interpret ISO_Level5_Shift+AnyOfOrNone(all) {
744                         action= SetMods(modifiers=LevelFive,clearLocks);
745                 };
746                 interpret ISO_Level5_Latch+AnyOfOrNone(all) {
747                         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
748                 };
749                 interpret ISO_Level5_Lock+AnyOfOrNone(all) {
750                         action= LockMods(modifiers=LevelFive);
751                 };
752                 interpret Caps_Lock+AnyOfOrNone(all) {
753                         action= LockMods(modifiers=Lock);
754                 };
755                 interpret Any+Exactly(Lock) {
756                         action= LockMods(modifiers=Lock);
757                 };
758                 interpret Any+AnyOf(all) {
759                         action= SetMods(modifiers=modMapMods,clearLocks);
760                 };
761                 group 2 = AltGr;
762                 group 3 = AltGr;
763                 group 4 = AltGr;
764                 indicator "Caps Lock" {
765                         whichModState= locked;
766                         modifiers= Lock;
767                 };
768                 indicator "Num Lock" {
769                         whichModState= locked;
770                         modifiers= NumLock;
771                 };
772                 indicator "Scroll Lock" {
773                         whichModState= locked;
774                         modifiers= ScrollLock;
775                 };
776                 indicator "Shift Lock" {
777                         whichModState= locked;
778                         modifiers= Shift;
779                 };
780                 indicator "Group 2" {
781                         groups= 0xfe;
782                 };
783                 indicator "Mouse Keys" {
784                         controls= mouseKeys;
785                 };
786         };
787
788         xkb_symbols {
789                 name[group1]="English (US)";
790
791                 key  <ESC> {    [          Escape ] };
792                 key <AE01> {    [               1 ] };
793                 key <AE02> {    [               2 ] };
794                 key <AE03> {    [               3 ] };
795                 key <AE04> {    [               4 ] };
796                 key <AE05> {    [               5 ] };
797                 key <AE06> {    [               6 ] };
798                 key <AE07> {    [               7 ] };
799                 key <AE08> {    [               8 ] };
800                 key <AE09> {    [               9 ] };
801                 key <AE10> {    [               0 ] };
802                 key <AE11> {    [           minus ] };
803                 key <AE12> {    [           equal ] };
804                 key <BKSP> {    [       BackSpace ] };
805                 key  <TAB> {    [             Tab ] };
806                 key <AD01> {    [               q ] };
807                 key <AD02> {    [               w ] };
808                 key <AD03> {    [               e ] };
809                 key <AD04> {    [               r ] };
810                 key <AD05> {    [               t ] };
811                 key <AD06> {    [               y ] };
812                 key <AD07> {    [               u ] };
813                 key <AD08> {    [               i ] };
814                 key <AD09> {    [               o ] };
815                 key <AD10> {    [               p ] };
816                 key <AD11> {    [     bracketleft ] };
817                 key <AD12> {    [    bracketright ] };
818                 key <RTRN> {    [          Return ] };
819                 key <LCTL> {    [       Control_L ] };
820                 key <AC01> {    [               a ] };
821                 key <AC02> {    [               s ] };
822                 key <AC03> {    [               d ] };
823                 key <AC04> {    [               f ] };
824                 key <AC05> {    [               g ] };
825                 key <AC06> {    [               h ] };
826                 key <AC07> {    [               j ] };
827                 key <AC08> {    [               k ] };
828                 key <AC09> {    [               l ] };
829                 key <AC10> {    [       semicolon ] };
830                 key <AC11> {    [      apostrophe ] };
831                 key <TLDE> {    [           grave ] };
832                 key <LFSH> {    [         Shift_L ] };
833                 key <BKSL> {    [        NoSymbol ] };
834                 key <AB01> {    [               z ] };
835                 key <AB02> {    [               x ] };
836                 key <AB03> {    [               c ] };
837                 key <AB04> {    [               v ] };
838                 key <AB05> {    [               b ] };
839                 key <AB06> {    [               n ] };
840                 key <AB07> {    [               m ] };
841                 key <AB08> {    [           comma ] };
842                 key <AB09> {    [          period ] };
843                 key <AB10> {    [           slash ] };
844                 key <RTSH> {    [         Shift_R ] };
845                 key <KPMU> {    [     KP_Multiply ] };
846                 key <LALT> {    [           Alt_L ] };
847                 key <SPCE> {    [           space ] };
848                 key <CAPS> {    [       Caps_Lock ] };
849                 key <FK01> {    [              F1 ] };
850                 key <FK02> {    [              F2 ] };
851                 key <FK03> {    [              F3 ] };
852                 key <FK04> {    [              F4 ] };
853                 key <FK05> {    [              F5 ] };
854                 key <FK06> {    [              F6 ] };
855                 key <FK07> {    [              F7 ] };
856                 key <FK08> {    [              F8 ] };
857                 key <FK09> {    [              F9 ] };
858                 key <FK10> {    [             F10 ] };
859                 key <NMLK> {    [        Num_Lock ] };
860                 key <SCLK> {    [     Scroll_Lock ] };
861                 key  <KP7> {    [         KP_Home ] };
862                 key  <KP8> {    [           KP_Up ] };
863                 key  <KP9> {    [        KP_Prior ] };
864                 key <KPSU> {    [     KP_Subtract ] };
865                 key  <KP4> {    [         KP_Left ] };
866                 key  <KP5> {    [        KP_Begin ] };
867                 key  <KP6> {    [        KP_Right ] };
868                 key <KPAD> {    [          KP_Add ] };
869                 key  <KP1> {    [          KP_End ] };
870                 key  <KP2> {    [         KP_Down ] };
871                 key  <KP3> {    [         KP_Next ] };
872                 key  <KP0> {    [       KP_Insert ] };
873                 key <KPDL> {    [       KP_Delete ] };
874                 key <LVL3> {    [ ISO_Level3_Shift ] };
875                 key <LSGT> {    [            less ] };
876                 key <FK11> {    [             F11 ] };
877                 key <FK12> {    [             F12 ] };
878                 key <KATA> {    [        Katakana ] };
879                 key <HIRA> {    [        Hiragana ] };
880                 key <HENK> {    [     Henkan_Mode ] };
881                 key <HKTG> {    [ Hiragana_Katakana ] };
882                 key <MUHE> {    [        Muhenkan ] };
883                 key <KPEN> {    [        KP_Enter ] };
884                 key <RCTL> {    [       Control_R ] };
885                 key <KPDV> {    [       KP_Divide ] };
886                 key <PRSC> {    [           Print ] };
887                 key <RALT> {    [           Alt_R ] };
888                 key <LNFD> {    [        Linefeed ] };
889                 key <HOME> {    [            Home ] };
890                 key   <UP> {    [              Up ] };
891                 key <PGUP> {    [           Prior ] };
892                 key <LEFT> {    [            Left ] };
893                 key <RGHT> {    [           Right ] };
894                 key  <END> {    [             End ] };
895                 key <DOWN> {    [            Down ] };
896                 key <PGDN> {    [            Next ] };
897                 key  <INS> {    [          Insert ] };
898                 key <DELE> {    [          Delete ] };
899                 key <MUTE> {    [   XF86AudioMute ] };
900                 key <VOL-> {    [ XF86AudioLowerVolume ] };
901                 key <VOL+> {    [ XF86AudioRaiseVolume ] };
902                 key <POWR> {    [    XF86PowerOff ] };
903                 key <KPEQ> {    [        KP_Equal ] };
904                 key <I126> {    [       plusminus ] };
905                 key <PAUS> {    [           Pause ] };
906                 key <I128> {    [     XF86LaunchA ] };
907                 key <I129> {    [       KP_Decimal] };
908                 key <HNGL> {    [          Hangul ] };
909                 key <HJCV> {    [    Hangul_Hanja ] };
910                 key <LWIN> {    [         Super_L ] };
911                 key <RWIN> {    [         Super_R ] };
912                 key <COMP> {    [            Menu ] };
913                 key <STOP> {    [          Cancel ] };
914                 key <AGAI> {    [            Redo ] };
915                 key <PROP> {    [        SunProps ] };
916                 key <UNDO> {    [            Undo ] };
917                 key <FRNT> {    [        SunFront ] };
918                 key <COPY> {    [        XF86Copy ] };
919                 key <OPEN> {    [         SunOpen ] };
920                 key <PAST> {    [       XF86Paste ] };
921                 key <FIND> {    [            Find ] };
922                 key  <CUT> {    [         XF86Cut ] };
923                 key <HELP> {    [            Help ] };
924                 key <I147> {    [      XF86MenuKB ] };
925                 key <I148> {    [  XF86Calculator ] };
926                 key <I150> {    [       XF86Sleep ] };
927                 key <I151> {    [      XF86WakeUp ] };
928                 key <I152> {    [    XF86Explorer ] };
929                 key <I153> {    [        XF86Send ] };
930                 key <I155> {    [        XF86Xfer ] };
931                 key <I156> {    [     XF86Launch1 ] };
932                 key <I157> {    [     XF86Launch2 ] };
933                 key <I158> {    [         XF86WWW ] };
934                 key <I159> {    [         XF86DOS ] };
935                 key <I160> {    [ XF86ScreenSaver ] };
936                 key <I162> {    [ XF86RotateWindows ] };
937                 key <I163> {    [        XF86Mail ] };
938                 key <I164> {    [   XF86Favorites ] };
939                 key <I165> {    [  XF86MyComputer ] };
940                 key <I166> {    [        XF86Back ] };
941                 key <I167> {    [     XF86Forward ] };
942                 key <I169> {    [       XF86Eject ] };
943                 key <I170> {    [       XF86Eject ] };
944                 key <I171> {    [   XF86AudioNext ] };
945                 key <I172> {    [   XF86AudioPlay ] };
946                 key <I173> {    [   XF86AudioPrev ] };
947                 key <I174> {    [   XF86AudioStop ] };
948                 key <I175> {    [ XF86AudioRecord ] };
949                 key <I176> {    [ XF86AudioRewind ] };
950                 key <I177> {    [       XF86Phone ] };
951                 key <I179> {    [       XF86Tools ] };
952                 key <I180> {    [    XF86HomePage ] };
953                 key <I181> {    [      XF86Reload ] };
954                 key <I182> {    [       XF86Close ] };
955                 key <I185> {    [    XF86ScrollUp ] };
956                 key <I186> {    [  XF86ScrollDown ] };
957                 key <I187> {    [       parenleft ] };
958                 key <I188> {    [      parenright ] };
959                 key <I189> {    [         XF86New ] };
960                 key <I190> {    [            Redo ] };
961                 key <FK13> {    [       XF86Tools ] };
962                 key <FK14> {    [     XF86Launch5 ] };
963                 key <FK15> {    [     XF86Launch6 ] };
964                 key <FK16> {    [     XF86Launch7 ] };
965                 key <FK17> {    [     XF86Launch8 ] };
966                 key <FK18> {    [     XF86Launch9 ] };
967                 key <FK21> {    [ XF86TouchpadToggle ] };
968                 key <FK22> {    [  XF86TouchpadOn ] };
969                 key <FK23> {    [ XF86TouchpadOff ] };
970                 key <MDSW> {    [     Mode_switch ] };
971                 key  <ALT> {    [        NoSymbol ] };
972                 key <META> {    [        NoSymbol ] };
973                 key <SUPR> {    [        NoSymbol ] };
974                 key <HYPR> {    [        NoSymbol ] };
975                 key <I208> {    [   XF86AudioPlay ] };
976                 key <I209> {    [  XF86AudioPause ] };
977                 key <I210> {    [     XF86Launch3 ] };
978                 key <I211> {    [     XF86Launch4 ] };
979                 key <I212> {    [     XF86LaunchB ] };
980                 key <I213> {    [     XF86Suspend ] };
981                 key <I214> {    [       XF86Close ] };
982                 key <I215> {    [   XF86AudioPlay ] };
983                 key <I216> {    [ XF86AudioForward ] };
984                 key <I218> {    [           Print ] };
985                 key <I220> {    [      XF86WebCam ] };
986                 key <I223> {    [        XF86Mail ] };
987                 key <I224> {    [   XF86Messenger ] };
988                 key <I225> {    [      XF86Search ] };
989                 key <I226> {    [          XF86Go ] };
990                 key <I227> {    [     XF86Finance ] };
991                 key <I228> {    [        XF86Game ] };
992                 key <I229> {    [        XF86Shop ] };
993                 key <I231> {    [          Cancel ] };
994                 key <I232> {    [ XF86MonBrightnessDown ] };
995                 key <I233> {    [ XF86MonBrightnessUp ] };
996                 key <I234> {    [  XF86AudioMedia ] };
997                 key <I235> {    [     XF86Display ] };
998                 key <I236> {    [ XF86KbdLightOnOff ] };
999                 key <I237> {    [ XF86KbdBrightnessDown ] };
1000                 key <I238> {    [ XF86KbdBrightnessUp ] };
1001                 key <I239> {    [        XF86Send ] };
1002                 key <I240> {    [       XF86Reply ] };
1003                 key <I241> {    [ XF86MailForward ] };
1004                 key <I242> {    [        XF86Save ] };
1005                 key <I243> {    [   XF86Documents ] };
1006                 key <I244> {    [     XF86Battery ] };
1007                 key <I245> {    [   XF86Bluetooth ] };
1008                 key <I246> {    [        XF86WLAN ] };
1009                 modifier_map Control { <LCTL> };
1010                 modifier_map Shift { <LFSH> };
1011                 modifier_map Shift { <RTSH> };
1012                 modifier_map Mod1 { <LALT> };
1013                 modifier_map Lock { <CAPS> };
1014                 modifier_map Mod2 { <NMLK> };
1015                 modifier_map Mod5 { <LVL3> };
1016                 modifier_map Control { <RCTL> };
1017                 modifier_map Mod1 { <RALT> };
1018                 modifier_map Mod4 { <LWIN> };
1019                 modifier_map Mod4 { <RWIN> };
1020                 modifier_map Mod5 { <MDSW> };
1021                 modifier_map Mod1 { <META> };
1022                 modifier_map Mod4 { <SUPR> };
1023                 modifier_map Mod4 { <HYPR> };
1024         };
1025 };