darray: tweak parameters a bit for better memory usage
[profile/ivi/libxkbcommon.git] / test / stringcomp.data
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                 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
301
302                 type "ONE_LEVEL" {
303                         modifiers= none;
304                         level_name[Level1]= "Any";
305                 };
306                 type "TWO_LEVEL" {
307                         modifiers= Shift;
308                         map[Shift]= Level2;
309                         level_name[Level1]= "Base";
310                         level_name[Level2]= "Shift";
311                 };
312                 type "ALPHABETIC" {
313                         modifiers= Shift+Lock;
314                         map[Shift]= Level2;
315                         map[Lock]= Level2;
316                         level_name[Level1]= "Base";
317                         level_name[Level2]= "Caps";
318                 };
319                 type "KEYPAD" {
320                         modifiers= Shift+NumLock;
321                         map[Shift]= Level2;
322                         map[NumLock]= Level2;
323                         level_name[Level1]= "Base";
324                         level_name[Level2]= "Number";
325                 };
326                 type "SHIFT+ALT" {
327                         modifiers= Shift+Alt;
328                         map[Shift+Alt]= Level2;
329                         level_name[Level1]= "Base";
330                         level_name[Level2]= "Shift+Alt";
331                 };
332                 type "PC_CONTROL_LEVEL2" {
333                         modifiers= Control;
334                         map[Control]= Level2;
335                         level_name[Level1]= "Base";
336                         level_name[Level2]= "Control";
337                 };
338                 type "PC_LCONTROL_LEVEL2" {
339                         modifiers= LControl;
340                         map[LControl]= Level2;
341                         level_name[Level1]= "Base";
342                         level_name[Level2]= "LControl";
343                 };
344                 type "PC_RCONTROL_LEVEL2" {
345                         modifiers= RControl;
346                         map[RControl]= Level2;
347                         level_name[Level1]= "Base";
348                         level_name[Level2]= "RControl";
349                 };
350                 type "PC_ALT_LEVEL2" {
351                         modifiers= Alt;
352                         map[Alt]= Level2;
353                         level_name[Level1]= "Base";
354                         level_name[Level2]= "Alt";
355                 };
356                 type "PC_LALT_LEVEL2" {
357                         modifiers= LAlt;
358                         map[LAlt]= Level2;
359                         level_name[Level1]= "Base";
360                         level_name[Level2]= "LAlt";
361                 };
362                 type "PC_RALT_LEVEL2" {
363                         modifiers= RAlt;
364                         map[RAlt]= Level2;
365                         level_name[Level1]= "Base";
366                         level_name[Level2]= "RAlt";
367                 };
368                 type "CTRL+ALT" {
369                         modifiers= Shift+Control+Alt+LevelThree;
370                         map[Shift]= Level2;
371                         map[LevelThree]= Level3;
372                         map[Shift+LevelThree]= Level4;
373                         map[Control+Alt]= Level5;
374                         level_name[Level1]= "Base";
375                         level_name[Level2]= "Shift";
376                         level_name[Level3]= "Alt Base";
377                         level_name[Level4]= "Shift Alt";
378                         level_name[Level5]= "Ctrl+Alt";
379                 };
380                 type "LOCAL_EIGHT_LEVEL" {
381                         modifiers= Shift+Lock+Control+LevelThree;
382                         map[Shift+Lock]= Level1;
383                         map[Shift]= Level2;
384                         map[Lock]= Level2;
385                         map[LevelThree]= Level3;
386                         map[Shift+Lock+LevelThree]= Level3;
387                         map[Shift+LevelThree]= Level4;
388                         map[Lock+LevelThree]= Level4;
389                         map[Control]= Level5;
390                         map[Shift+Lock+Control]= Level5;
391                         map[Shift+Control]= Level6;
392                         map[Lock+Control]= Level6;
393                         map[Control+LevelThree]= Level7;
394                         map[Shift+Lock+Control+LevelThree]= Level7;
395                         map[Shift+Control+LevelThree]= Level8;
396                         map[Lock+Control+LevelThree]= Level8;
397                         level_name[Level1]= "Base";
398                         level_name[Level2]= "Shift";
399                         level_name[Level3]= "Level3";
400                         level_name[Level4]= "Shift Level3";
401                         level_name[Level5]= "Ctrl";
402                         level_name[Level6]= "Shift Ctrl";
403                         level_name[Level7]= "Level3 Ctrl";
404                         level_name[Level8]= "Shift Level3 Ctrl";
405                 };
406                 type "THREE_LEVEL" {
407                         modifiers= Shift+LevelThree;
408                         map[Shift]= Level2;
409                         map[LevelThree]= Level3;
410                         map[Shift+LevelThree]= Level3;
411                         level_name[Level1]= "Base";
412                         level_name[Level2]= "Shift";
413                         level_name[Level3]= "Level3";
414                 };
415                 type "EIGHT_LEVEL" {
416                         modifiers= Shift+LevelThree+LevelFive;
417                         map[Shift]= Level2;
418                         map[LevelThree]= Level3;
419                         map[Shift+LevelThree]= Level4;
420                         map[LevelFive]= Level5;
421                         map[Shift+LevelFive]= Level6;
422                         map[LevelThree+LevelFive]= Level7;
423                         map[Shift+LevelThree+LevelFive]= Level8;
424                         level_name[Level1]= "Base";
425                         level_name[Level2]= "Shift";
426                         level_name[Level3]= "Alt Base";
427                         level_name[Level4]= "Shift Alt";
428                         level_name[Level5]= "X";
429                         level_name[Level6]= "X Shift";
430                         level_name[Level7]= "X Alt Base";
431                         level_name[Level8]= "X Shift Alt";
432                 };
433                 type "EIGHT_LEVEL_ALPHABETIC" {
434                         modifiers= Shift+Lock+LevelThree+LevelFive;
435                         map[Shift]= Level2;
436                         map[Lock]= Level2;
437                         map[LevelThree]= Level3;
438                         map[Shift+LevelThree]= Level4;
439                         map[Lock+LevelThree]= Level4;
440                         map[Shift+Lock+LevelThree]= Level3;
441                         map[LevelFive]= Level5;
442                         map[Shift+LevelFive]= Level6;
443                         map[Lock+LevelFive]= Level6;
444                         map[LevelThree+LevelFive]= Level7;
445                         map[Shift+LevelThree+LevelFive]= Level8;
446                         map[Lock+LevelThree+LevelFive]= Level8;
447                         map[Shift+Lock+LevelThree+LevelFive]= Level7;
448                         level_name[Level1]= "Base";
449                         level_name[Level2]= "Shift";
450                         level_name[Level3]= "Alt Base";
451                         level_name[Level4]= "Shift Alt";
452                         level_name[Level5]= "X";
453                         level_name[Level6]= "X Shift";
454                         level_name[Level7]= "X Alt Base";
455                         level_name[Level8]= "X Shift Alt";
456                 };
457                 type "EIGHT_LEVEL_SEMIALPHABETIC" {
458                         modifiers= Shift+Lock+LevelThree+LevelFive;
459                         map[Shift]= Level2;
460                         map[Lock]= Level2;
461                         map[LevelThree]= Level3;
462                         map[Shift+LevelThree]= Level4;
463                         map[Lock+LevelThree]= Level3;
464                         preserve[Lock+LevelThree]= Lock;
465                         map[Shift+Lock+LevelThree]= Level4;
466                         preserve[Shift+Lock+LevelThree]= Lock;
467                         map[LevelFive]= Level5;
468                         map[Shift+LevelFive]= Level6;
469                         map[Lock+LevelFive]= Level6;
470                         preserve[Lock+LevelFive]= Lock;
471                         map[LevelThree+LevelFive]= Level7;
472                         map[Shift+LevelThree+LevelFive]= Level8;
473                         map[Lock+LevelThree+LevelFive]= Level7;
474                         preserve[Lock+LevelThree+LevelFive]= Lock;
475                         map[Shift+Lock+LevelThree+LevelFive]= Level8;
476                         preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
477                         map[Shift+Lock+LevelFive]= Level1;
478                         preserve[Shift+Lock+LevelFive]= Lock;
479                         level_name[Level1]= "Base";
480                         level_name[Level2]= "Shift";
481                         level_name[Level3]= "Alt Base";
482                         level_name[Level4]= "Shift Alt";
483                         level_name[Level5]= "X";
484                         level_name[Level6]= "X Shift";
485                         level_name[Level7]= "X Alt Base";
486                         level_name[Level8]= "X Shift Alt";
487                 };
488                 type "FOUR_LEVEL" {
489                         modifiers= Shift+LevelThree;
490                         map[Shift]= Level2;
491                         map[LevelThree]= Level3;
492                         map[Shift+LevelThree]= Level4;
493                         level_name[Level1]= "Base";
494                         level_name[Level2]= "Shift";
495                         level_name[Level3]= "Alt Base";
496                         level_name[Level4]= "Shift Alt";
497                 };
498                 type "FOUR_LEVEL_ALPHABETIC" {
499                         modifiers= Shift+Lock+LevelThree;
500                         map[Shift]= Level2;
501                         map[Lock]= Level2;
502                         map[LevelThree]= Level3;
503                         map[Shift+LevelThree]= Level4;
504                         map[Lock+LevelThree]= Level4;
505                         map[Shift+Lock+LevelThree]= Level3;
506                         level_name[Level1]= "Base";
507                         level_name[Level2]= "Shift";
508                         level_name[Level3]= "Alt Base";
509                         level_name[Level4]= "Shift Alt";
510                 };
511                 type "FOUR_LEVEL_SEMIALPHABETIC" {
512                         modifiers= Shift+Lock+LevelThree;
513                         map[Shift]= Level2;
514                         map[Lock]= Level2;
515                         map[LevelThree]= Level3;
516                         map[Shift+LevelThree]= Level4;
517                         map[Lock+LevelThree]= Level3;
518                         preserve[Lock+LevelThree]= Lock;
519                         map[Shift+Lock+LevelThree]= Level4;
520                         preserve[Shift+Lock+LevelThree]= Lock;
521                         level_name[Level1]= "Base";
522                         level_name[Level2]= "Shift";
523                         level_name[Level3]= "Alt Base";
524                         level_name[Level4]= "Shift Alt";
525                 };
526                 type "FOUR_LEVEL_MIXED_KEYPAD" {
527                         modifiers= Shift+NumLock+LevelThree;
528                         map[Shift+NumLock]= Level1;
529                         map[NumLock]= Level2;
530                         map[Shift]= Level2;
531                         map[LevelThree]= Level3;
532                         map[NumLock+LevelThree]= Level3;
533                         map[Shift+LevelThree]= Level4;
534                         map[Shift+NumLock+LevelThree]= Level4;
535                         level_name[Level1]= "Base";
536                         level_name[Level2]= "Number";
537                         level_name[Level3]= "Alt Base";
538                         level_name[Level4]= "Shift Alt";
539                 };
540                 type "FOUR_LEVEL_X" {
541                         modifiers= Shift+Control+Alt+LevelThree;
542                         map[LevelThree]= Level2;
543                         map[Shift+LevelThree]= Level3;
544                         map[Control+Alt]= Level4;
545                         level_name[Level1]= "Base";
546                         level_name[Level2]= "Alt Base";
547                         level_name[Level3]= "Shift Alt";
548                         level_name[Level4]= "Ctrl+Alt";
549                 };
550                 type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
551                         modifiers= Shift+Lock+LevelThree;
552                         map[Shift]= Level2;
553                         map[Lock]= Level4;
554                         preserve[Lock]= Lock;
555                         map[LevelThree]= Level3;
556                         map[Shift+LevelThree]= Level4;
557                         map[Lock+LevelThree]= Level3;
558                         preserve[Lock+LevelThree]= Lock;
559                         map[Shift+Lock+LevelThree]= Level3;
560                         level_name[Level1]= "Base";
561                         level_name[Level2]= "Shift";
562                         level_name[Level3]= "AltGr Base";
563                         level_name[Level4]= "Shift AltGr";
564                 };
565                 type "FOUR_LEVEL_PLUS_LOCK" {
566                         modifiers= Shift+Lock+LevelThree;
567                         map[Shift]= Level2;
568                         map[LevelThree]= Level3;
569                         map[Shift+LevelThree]= Level4;
570                         map[Lock]= Level5;
571                         map[Shift+Lock]= Level2;
572                         map[Lock+LevelThree]= Level3;
573                         map[Shift+Lock+LevelThree]= Level4;
574                         level_name[Level1]= "Base";
575                         level_name[Level2]= "Shift";
576                         level_name[Level3]= "Alt Base";
577                         level_name[Level4]= "Shift Alt";
578                         level_name[Level5]= "Lock";
579                 };
580                 type "FOUR_LEVEL_KEYPAD" {
581                         modifiers= Shift+NumLock+LevelThree;
582                         map[Shift]= Level2;
583                         map[NumLock]= Level2;
584                         map[LevelThree]= Level3;
585                         map[Shift+LevelThree]= Level4;
586                         map[NumLock+LevelThree]= Level4;
587                         map[Shift+NumLock+LevelThree]= Level3;
588                         level_name[Level1]= "Base";
589                         level_name[Level2]= "Number";
590                         level_name[Level3]= "Alt Base";
591                         level_name[Level4]= "Alt Number";
592                 };
593         };
594
595         xkb_compatibility {
596
597                 virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
598
599                 interpret.useModMapMods= AnyLevel;
600                 interpret.repeat= false;
601                 interpret.locking= false;
602                 interpret ISO_Level2_Latch+Exactly(Shift) {
603                         useModMapMods=level1;
604                         action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
605                 };
606                 interpret Shift_Lock+AnyOf(Shift+Lock) {
607                         action= LockMods(modifiers=Shift);
608                 };
609                 interpret Num_Lock+AnyOf(all) {
610                         virtualModifier= NumLock;
611                         action= LockMods(modifiers=NumLock);
612                 };
613                 interpret ISO_Lock+AnyOf(all) {
614                         action= NoAction();
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                         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
675                 };
676                 interpret ISO_Level5_Lock+AnyOf(all) {
677                         virtualModifier= LevelFive;
678                         action= LockMods(modifiers=LevelFive);
679                 };
680                 interpret Mode_switch+AnyOfOrNone(all) {
681                         virtualModifier= AltGr;
682                         useModMapMods=level1;
683                         action= SetGroup(group=+1);
684                 };
685                 interpret ISO_Level3_Shift+AnyOfOrNone(all) {
686                         action= SetMods(modifiers=LevelThree,clearLocks);
687                 };
688                 interpret ISO_Level3_Latch+AnyOfOrNone(all) {
689                         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
690                 };
691                 interpret ISO_Level3_Lock+AnyOfOrNone(all) {
692                         action= LockMods(modifiers=LevelThree);
693                 };
694                 interpret ISO_Group_Latch+AnyOfOrNone(all) {
695                         virtualModifier= AltGr;
696                         useModMapMods=level1;
697                         action= LatchGroup(group=2);
698                 };
699                 interpret ISO_Next_Group+AnyOfOrNone(all) {
700                         virtualModifier= AltGr;
701                         useModMapMods=level1;
702                         action= LockGroup(group=+1);
703                 };
704                 interpret ISO_Prev_Group+AnyOfOrNone(all) {
705                         virtualModifier= AltGr;
706                         useModMapMods=level1;
707                         action= LockGroup(group=-1);
708                 };
709                 interpret ISO_First_Group+AnyOfOrNone(all) {
710                         action= LockGroup(group=1);
711                 };
712                 interpret ISO_Last_Group+AnyOfOrNone(all) {
713                         action= LockGroup(group=2);
714                 };
715                 interpret KP_1+AnyOfOrNone(all) {
716                         repeat= true;
717                         action= MovePtr(x=-1,y=+1);
718                 };
719                 interpret KP_End+AnyOfOrNone(all) {
720                         repeat= true;
721                         action= MovePtr(x=-1,y=+1);
722                 };
723                 interpret KP_2+AnyOfOrNone(all) {
724                         repeat= true;
725                         action= MovePtr(x=+0,y=+1);
726                 };
727                 interpret KP_Down+AnyOfOrNone(all) {
728                         repeat= true;
729                         action= MovePtr(x=+0,y=+1);
730                 };
731                 interpret KP_3+AnyOfOrNone(all) {
732                         repeat= true;
733                         action= MovePtr(x=+1,y=+1);
734                 };
735                 interpret KP_Next+AnyOfOrNone(all) {
736                         repeat= true;
737                         action= MovePtr(x=+1,y=+1);
738                 };
739                 interpret KP_4+AnyOfOrNone(all) {
740                         repeat= true;
741                         action= MovePtr(x=-1,y=+0);
742                 };
743                 interpret KP_Left+AnyOfOrNone(all) {
744                         repeat= true;
745                         action= MovePtr(x=-1,y=+0);
746                 };
747                 interpret KP_6+AnyOfOrNone(all) {
748                         repeat= true;
749                         action= MovePtr(x=+1,y=+0);
750                 };
751                 interpret KP_Right+AnyOfOrNone(all) {
752                         repeat= true;
753                         action= MovePtr(x=+1,y=+0);
754                 };
755                 interpret KP_7+AnyOfOrNone(all) {
756                         repeat= true;
757                         action= MovePtr(x=-1,y=-1);
758                 };
759                 interpret KP_Home+AnyOfOrNone(all) {
760                         repeat= true;
761                         action= MovePtr(x=-1,y=-1);
762                 };
763                 interpret KP_8+AnyOfOrNone(all) {
764                         repeat= true;
765                         action= MovePtr(x=+0,y=-1);
766                 };
767                 interpret KP_Up+AnyOfOrNone(all) {
768                         repeat= true;
769                         action= MovePtr(x=+0,y=-1);
770                 };
771                 interpret KP_9+AnyOfOrNone(all) {
772                         repeat= true;
773                         action= MovePtr(x=+1,y=-1);
774                 };
775                 interpret KP_Prior+AnyOfOrNone(all) {
776                         repeat= true;
777                         action= MovePtr(x=+1,y=-1);
778                 };
779                 interpret KP_5+AnyOfOrNone(all) {
780                         repeat= true;
781                         action= PtrBtn(button=default);
782                 };
783                 interpret KP_Begin+AnyOfOrNone(all) {
784                         repeat= true;
785                         action= PtrBtn(button=default);
786                 };
787                 interpret KP_F2+AnyOfOrNone(all) {
788                         repeat= true;
789                         action= SetPtrDflt(affect=button,button=1);
790                 };
791                 interpret KP_Divide+AnyOfOrNone(all) {
792                         repeat= true;
793                         action= SetPtrDflt(affect=button,button=1);
794                 };
795                 interpret KP_F3+AnyOfOrNone(all) {
796                         repeat= true;
797                         action= SetPtrDflt(affect=button,button=2);
798                 };
799                 interpret KP_Multiply+AnyOfOrNone(all) {
800                         repeat= true;
801                         action= SetPtrDflt(affect=button,button=2);
802                 };
803                 interpret KP_F4+AnyOfOrNone(all) {
804                         repeat= true;
805                         action= SetPtrDflt(affect=button,button=3);
806                 };
807                 interpret KP_Subtract+AnyOfOrNone(all) {
808                         repeat= true;
809                         action= SetPtrDflt(affect=button,button=3);
810                 };
811                 interpret KP_Separator+AnyOfOrNone(all) {
812                         repeat= true;
813                         action= PtrBtn(button=default,count=2);
814                 };
815                 interpret KP_Add+AnyOfOrNone(all) {
816                         repeat= true;
817                         action= PtrBtn(button=default,count=2);
818                 };
819                 interpret KP_0+AnyOfOrNone(all) {
820                         repeat= true;
821                         action= LockPtrBtn(button=default,affect=lock);
822                 };
823                 interpret KP_Insert+AnyOfOrNone(all) {
824                         repeat= true;
825                         action= LockPtrBtn(button=default,affect=lock);
826                 };
827                 interpret KP_Decimal+AnyOfOrNone(all) {
828                         repeat= true;
829                         action= LockPtrBtn(button=default,affect=unlock);
830                 };
831                 interpret KP_Delete+AnyOfOrNone(all) {
832                         repeat= true;
833                         action= LockPtrBtn(button=default,affect=unlock);
834                 };
835                 interpret F25+AnyOfOrNone(all) {
836                         repeat= true;
837                         action= SetPtrDflt(affect=button,button=1);
838                 };
839                 interpret F26+AnyOfOrNone(all) {
840                         repeat= true;
841                         action= SetPtrDflt(affect=button,button=2);
842                 };
843                 interpret F27+AnyOfOrNone(all) {
844                         repeat= true;
845                         action= MovePtr(x=-1,y=-1);
846                 };
847                 interpret F29+AnyOfOrNone(all) {
848                         repeat= true;
849                         action= MovePtr(x=+1,y=-1);
850                 };
851                 interpret F31+AnyOfOrNone(all) {
852                         repeat= true;
853                         action= PtrBtn(button=default);
854                 };
855                 interpret F33+AnyOfOrNone(all) {
856                         repeat= true;
857                         action= MovePtr(x=-1,y=+1);
858                 };
859                 interpret F35+AnyOfOrNone(all) {
860                         repeat= true;
861                         action= MovePtr(x=+1,y=+1);
862                 };
863                 interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
864                         action= PtrBtn(button=default);
865                 };
866                 interpret Pointer_Button1+AnyOfOrNone(all) {
867                         action= PtrBtn(button=1);
868                 };
869                 interpret Pointer_Button2+AnyOfOrNone(all) {
870                         action= PtrBtn(button=2);
871                 };
872                 interpret Pointer_Button3+AnyOfOrNone(all) {
873                         action= PtrBtn(button=3);
874                 };
875                 interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
876                         action= PtrBtn(button=default,count=2);
877                 };
878                 interpret Pointer_DblClick1+AnyOfOrNone(all) {
879                         action= PtrBtn(button=1,count=2);
880                 };
881                 interpret Pointer_DblClick2+AnyOfOrNone(all) {
882                         action= PtrBtn(button=2,count=2);
883                 };
884                 interpret Pointer_DblClick3+AnyOfOrNone(all) {
885                         action= PtrBtn(button=3,count=2);
886                 };
887                 interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
888                         action= LockPtrBtn(button=default,affect=both);
889                 };
890                 interpret Pointer_Drag1+AnyOfOrNone(all) {
891                         action= LockPtrBtn(button=1,affect=both);
892                 };
893                 interpret Pointer_Drag2+AnyOfOrNone(all) {
894                         action= LockPtrBtn(button=2,affect=both);
895                 };
896                 interpret Pointer_Drag3+AnyOfOrNone(all) {
897                         action= LockPtrBtn(button=3,affect=both);
898                 };
899                 interpret Pointer_EnableKeys+AnyOfOrNone(all) {
900                         action= LockControls(controls=mouseKeys);
901                 };
902                 interpret Pointer_Accelerate+AnyOfOrNone(all) {
903                         action= LockControls(controls=mouseKeysAccel);
904                 };
905                 interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
906                         action= SetPtrDflt(affect=button,button=+1);
907                 };
908                 interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
909                         action= SetPtrDflt(affect=button,button=-1);
910                 };
911                 interpret AccessX_Enable+AnyOfOrNone(all) {
912                         action= LockControls(controls=accessXKeys);
913                 };
914                 interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
915                         action= LockControls(controls=accessXFeedback);
916                 };
917                 interpret RepeatKeys_Enable+AnyOfOrNone(all) {
918                         action= LockControls(controls=repeatKeys);
919                 };
920                 interpret SlowKeys_Enable+AnyOfOrNone(all) {
921                         action= LockControls(controls=slowKeys);
922                 };
923                 interpret BounceKeys_Enable+AnyOfOrNone(all) {
924                         action= LockControls(controls=bounceKeys);
925                 };
926                 interpret StickyKeys_Enable+AnyOfOrNone(all) {
927                         action= LockControls(controls=stickyKeys);
928                 };
929                 interpret MouseKeys_Enable+AnyOfOrNone(all) {
930                         action= LockControls(controls=mouseKeys);
931                 };
932                 interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
933                         action= LockControls(controls=mouseKeysAccel);
934                 };
935                 interpret Overlay1_Enable+AnyOfOrNone(all) {
936                         action= LockControls(controls=none);
937                 };
938                 interpret Overlay2_Enable+AnyOfOrNone(all) {
939                         action= LockControls(controls=none);
940                 };
941                 interpret AudibleBell_Enable+AnyOfOrNone(all) {
942                         action= LockControls(controls=audibleBell);
943                 };
944                 interpret Terminate_Server+AnyOfOrNone(all) {
945                         action= Terminate();
946                 };
947                 interpret Alt_L+AnyOfOrNone(all) {
948                         action= SetMods(modifiers=Alt,clearLocks);
949                 };
950                 interpret Alt_R+AnyOfOrNone(all) {
951                         action= SetMods(modifiers=Alt,clearLocks);
952                 };
953                 interpret Meta_L+AnyOfOrNone(all) {
954                         action= SetMods(modifiers=Meta,clearLocks);
955                 };
956                 interpret Meta_R+AnyOfOrNone(all) {
957                         action= SetMods(modifiers=Meta,clearLocks);
958                 };
959                 interpret Super_L+AnyOfOrNone(all) {
960                         action= SetMods(modifiers=Super,clearLocks);
961                 };
962                 interpret Super_R+AnyOfOrNone(all) {
963                         action= SetMods(modifiers=Super,clearLocks);
964                 };
965                 interpret Hyper_L+AnyOfOrNone(all) {
966                         action= SetMods(modifiers=Hyper,clearLocks);
967                 };
968                 interpret Hyper_R+AnyOfOrNone(all) {
969                         action= SetMods(modifiers=Hyper,clearLocks);
970                 };
971                 interpret Shift_L+AnyOfOrNone(all) {
972                         action= SetMods(modifiers=Shift,clearLocks);
973                 };
974                 interpret XF86Switch_VT_1+AnyOfOrNone(all) {
975                         repeat= true;
976                         action= SwitchScreen(screen=1,!same);
977                 };
978                 interpret XF86Switch_VT_2+AnyOfOrNone(all) {
979                         repeat= true;
980                         action= SwitchScreen(screen=2,!same);
981                 };
982                 interpret XF86Switch_VT_3+AnyOfOrNone(all) {
983                         repeat= true;
984                         action= SwitchScreen(screen=3,!same);
985                 };
986                 interpret XF86Switch_VT_4+AnyOfOrNone(all) {
987                         repeat= true;
988                         action= SwitchScreen(screen=4,!same);
989                 };
990                 interpret XF86Switch_VT_5+AnyOfOrNone(all) {
991                         repeat= true;
992                         action= SwitchScreen(screen=5,!same);
993                 };
994                 interpret XF86Switch_VT_6+AnyOfOrNone(all) {
995                         repeat= true;
996                         action= SwitchScreen(screen=6,!same);
997                 };
998                 interpret XF86Switch_VT_7+AnyOfOrNone(all) {
999                         repeat= true;
1000                         action= SwitchScreen(screen=7,!same);
1001                 };
1002                 interpret XF86Switch_VT_8+AnyOfOrNone(all) {
1003                         repeat= true;
1004                         action= SwitchScreen(screen=8,!same);
1005                 };
1006                 interpret XF86Switch_VT_9+AnyOfOrNone(all) {
1007                         repeat= true;
1008                         action= SwitchScreen(screen=9,!same);
1009                 };
1010                 interpret XF86Switch_VT_10+AnyOfOrNone(all) {
1011                         repeat= true;
1012                         action= SwitchScreen(screen=10,!same);
1013                 };
1014                 interpret XF86Switch_VT_11+AnyOfOrNone(all) {
1015                         repeat= true;
1016                         action= SwitchScreen(screen=11,!same);
1017                 };
1018                 interpret XF86Switch_VT_12+AnyOfOrNone(all) {
1019                         repeat= true;
1020                         action= SwitchScreen(screen=12,!same);
1021                 };
1022                 interpret XF86LogGrabInfo+AnyOfOrNone(all) {
1023                         repeat= true;
1024                         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);
1025                 };
1026                 interpret XF86LogWindowTree+AnyOfOrNone(all) {
1027                         repeat= true;
1028                         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);
1029                 };
1030                 interpret XF86Next_VMode+AnyOfOrNone(all) {
1031                         repeat= true;
1032                         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);
1033                 };
1034                 interpret XF86Prev_VMode+AnyOfOrNone(all) {
1035                         repeat= true;
1036                         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);
1037                 };
1038                 interpret ISO_Level5_Shift+AnyOfOrNone(all) {
1039                         action= SetMods(modifiers=LevelFive,clearLocks);
1040                 };
1041                 interpret ISO_Level5_Latch+AnyOfOrNone(all) {
1042                         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
1043                 };
1044                 interpret ISO_Level5_Lock+AnyOfOrNone(all) {
1045                         action= LockMods(modifiers=LevelFive);
1046                 };
1047                 interpret Caps_Lock+AnyOfOrNone(all) {
1048                         action= LockMods(modifiers=Lock);
1049                 };
1050                 interpret Any+Exactly(Lock) {
1051                         action= LockMods(modifiers=Lock);
1052                 };
1053                 interpret Any+AnyOf(all) {
1054                         action= SetMods(modifiers=modMapMods,clearLocks);
1055                 };
1056                 group 2 = AltGr;
1057                 group 3 = AltGr;
1058                 group 4 = AltGr;
1059                 indicator "Caps Lock" {
1060                         whichModState= locked;
1061                         modifiers= Lock;
1062                 };
1063                 indicator "Num Lock" {
1064                         whichModState= locked;
1065                         modifiers= NumLock;
1066                 };
1067                 indicator "Scroll Lock" {
1068                         whichModState= locked;
1069                         modifiers= ScrollLock;
1070                 };
1071                 indicator "Shift Lock" {
1072                         whichModState= locked;
1073                         modifiers= Shift;
1074                 };
1075                 indicator "Group 2" {
1076                         groups= 0xfe;
1077                 };
1078                 indicator "Mouse Keys" {
1079                         controls= mouseKeys;
1080                 };
1081         };
1082
1083         xkb_symbols {
1084
1085                 name[group1]="English (US)";
1086
1087                 key  <ESC> {    [          Escape ] };
1088                 key <AE01> {    [               1,          exclam ] };
1089                 key <AE02> {    [               2,              at ] };
1090                 key <AE03> {    [               3,      numbersign ] };
1091                 key <AE04> {    [               4,          dollar ] };
1092                 key <AE05> {    [               5,         percent ] };
1093                 key <AE06> {    [               6,     asciicircum ] };
1094                 key <AE07> {    [               7,       ampersand ] };
1095                 key <AE08> {    [               8,        asterisk ] };
1096                 key <AE09> {    [               9,       parenleft ] };
1097                 key <AE10> {    [               0,      parenright ] };
1098                 key <AE11> {    [           minus,      underscore ] };
1099                 key <AE12> {    [           equal,            plus ] };
1100                 key <BKSP> {    [       BackSpace,       BackSpace ] };
1101                 key  <TAB> {    [             Tab,    ISO_Left_Tab ] };
1102                 key <AD01> {
1103                         type= "ALPHABETIC",
1104                         symbols[Group1]= [               q,               Q ]
1105                 };
1106                 key <AD02> {
1107                         type= "ALPHABETIC",
1108                         symbols[Group1]= [               w,               W ]
1109                 };
1110                 key <AD03> {
1111                         type= "ALPHABETIC",
1112                         symbols[Group1]= [               e,               E ]
1113                 };
1114                 key <AD04> {
1115                         type= "ALPHABETIC",
1116                         symbols[Group1]= [               r,               R ]
1117                 };
1118                 key <AD05> {
1119                         type= "ALPHABETIC",
1120                         symbols[Group1]= [               t,               T ]
1121                 };
1122                 key <AD06> {
1123                         type= "ALPHABETIC",
1124                         symbols[Group1]= [               y,               Y ]
1125                 };
1126                 key <AD07> {
1127                         type= "ALPHABETIC",
1128                         symbols[Group1]= [               u,               U ]
1129                 };
1130                 key <AD08> {
1131                         type= "ALPHABETIC",
1132                         symbols[Group1]= [               i,               I ]
1133                 };
1134                 key <AD09> {
1135                         type= "ALPHABETIC",
1136                         symbols[Group1]= [               o,               O ]
1137                 };
1138                 key <AD10> {
1139                         type= "ALPHABETIC",
1140                         symbols[Group1]= [               p,               P ]
1141                 };
1142                 key <AD11> {    [     bracketleft,       braceleft ] };
1143                 key <AD12> {    [    bracketright,      braceright ] };
1144                 key <RTRN> {    [          Return ] };
1145                 key <LCTL> {    [       Control_L ] };
1146                 key <AC01> {
1147                         type= "ALPHABETIC",
1148                         symbols[Group1]= [               a,               A ]
1149                 };
1150                 key <AC02> {
1151                         type= "ALPHABETIC",
1152                         symbols[Group1]= [               s,               S ]
1153                 };
1154                 key <AC03> {
1155                         type= "ALPHABETIC",
1156                         symbols[Group1]= [               d,               D ]
1157                 };
1158                 key <AC04> {
1159                         type= "ALPHABETIC",
1160                         symbols[Group1]= [               f,               F ]
1161                 };
1162                 key <AC05> {
1163                         type= "ALPHABETIC",
1164                         symbols[Group1]= [               g,               G ]
1165                 };
1166                 key <AC06> {
1167                         type= "ALPHABETIC",
1168                         symbols[Group1]= [               h,               H ]
1169                 };
1170                 key <AC07> {
1171                         type= "ALPHABETIC",
1172                         symbols[Group1]= [               j,               J ]
1173                 };
1174                 key <AC08> {
1175                         type= "ALPHABETIC",
1176                         symbols[Group1]= [               k,               K ]
1177                 };
1178                 key <AC09> {
1179                         type= "ALPHABETIC",
1180                         symbols[Group1]= [               l,               L ]
1181                 };
1182                 key <AC10> {    [       semicolon,           colon ] };
1183                 key <AC11> {    [      apostrophe,        quotedbl ] };
1184                 key <TLDE> {    [           grave,      asciitilde ] };
1185                 key <LFSH> {    [         Shift_L ] };
1186                 key <BKSL> {    [        NoSymbol,        NoSymbol ] };
1187                 key <AB01> {
1188                         type= "ALPHABETIC",
1189                         symbols[Group1]= [               z,               Z ]
1190                 };
1191                 key <AB02> {
1192                         type= "ALPHABETIC",
1193                         symbols[Group1]= [               x,               X ]
1194                 };
1195                 key <AB03> {
1196                         type= "ALPHABETIC",
1197                         symbols[Group1]= [               c,               C ]
1198                 };
1199                 key <AB04> {
1200                         type= "ALPHABETIC",
1201                         symbols[Group1]= [               v,               V ]
1202                 };
1203                 key <AB05> {
1204                         type= "ALPHABETIC",
1205                         symbols[Group1]= [               b,               B ]
1206                 };
1207                 key <AB06> {
1208                         type= "ALPHABETIC",
1209                         symbols[Group1]= [               n,               N ]
1210                 };
1211                 key <AB07> {
1212                         type= "ALPHABETIC",
1213                         symbols[Group1]= [               m,               M ]
1214                 };
1215                 key <AB08> {    [           comma,            less ] };
1216                 key <AB09> {    [          period,         greater ] };
1217                 key <AB10> {    [           slash,        question ] };
1218                 key <RTSH> {    [         Shift_R ] };
1219                 key <KPMU> {
1220                         type= "CTRL+ALT",
1221                         symbols[Group1]= [     KP_Multiply,     KP_Multiply,     KP_Multiply,     KP_Multiply,   XF86ClearGrab ]
1222                 };
1223                 key <LALT> {    [           Alt_L,          Meta_L ] };
1224                 key <SPCE> {    [           space ] };
1225                 key <CAPS> {    [       Caps_Lock ] };
1226                 key <FK01> {
1227                         type= "CTRL+ALT",
1228                         symbols[Group1]= [              F1,              F1,              F1,              F1, XF86Switch_VT_1 ]
1229                 };
1230                 key <FK02> {
1231                         type= "CTRL+ALT",
1232                         symbols[Group1]= [              F2,              F2,              F2,              F2, XF86Switch_VT_2 ]
1233                 };
1234                 key <FK03> {
1235                         type= "CTRL+ALT",
1236                         symbols[Group1]= [              F3,              F3,              F3,              F3, XF86Switch_VT_3 ]
1237                 };
1238                 key <FK04> {
1239                         type= "CTRL+ALT",
1240                         symbols[Group1]= [              F4,              F4,              F4,              F4, XF86Switch_VT_4 ]
1241                 };
1242                 key <FK05> {
1243                         type= "CTRL+ALT",
1244                         symbols[Group1]= [              F5,              F5,              F5,              F5, XF86Switch_VT_5 ]
1245                 };
1246                 key <FK06> {
1247                         type= "CTRL+ALT",
1248                         symbols[Group1]= [              F6,              F6,              F6,              F6, XF86Switch_VT_6 ]
1249                 };
1250                 key <FK07> {
1251                         type= "CTRL+ALT",
1252                         symbols[Group1]= [              F7,              F7,              F7,              F7, XF86Switch_VT_7 ]
1253                 };
1254                 key <FK08> {
1255                         type= "CTRL+ALT",
1256                         symbols[Group1]= [              F8,              F8,              F8,              F8, XF86Switch_VT_8 ]
1257                 };
1258                 key <FK09> {
1259                         type= "CTRL+ALT",
1260                         symbols[Group1]= [              F9,              F9,              F9,              F9, XF86Switch_VT_9 ]
1261                 };
1262                 key <FK10> {
1263                         type= "CTRL+ALT",
1264                         symbols[Group1]= [             F10,             F10,             F10,             F10, XF86Switch_VT_10 ]
1265                 };
1266                 key <NMLK> {    [        Num_Lock ] };
1267                 key <SCLK> {    [     Scroll_Lock ] };
1268                 key  <KP7> {    [         KP_Home,            KP_7 ] };
1269                 key  <KP8> {    [           KP_Up,            KP_8 ] };
1270                 key  <KP9> {    [        KP_Prior,            KP_9 ] };
1271                 key <KPSU> {
1272                         type= "CTRL+ALT",
1273                         symbols[Group1]= [     KP_Subtract,     KP_Subtract,     KP_Subtract,     KP_Subtract,  XF86Prev_VMode ]
1274                 };
1275                 key  <KP4> {    [         KP_Left,            KP_4 ] };
1276                 key  <KP5> {    [        KP_Begin,            KP_5 ] };
1277                 key  <KP6> {    [        KP_Right,            KP_6 ] };
1278                 key <KPAD> {
1279                         type= "CTRL+ALT",
1280                         symbols[Group1]= [          KP_Add,          KP_Add,          KP_Add,          KP_Add,  XF86Next_VMode ]
1281                 };
1282                 key  <KP1> {    [          KP_End,            KP_1 ] };
1283                 key  <KP2> {    [         KP_Down,            KP_2 ] };
1284                 key  <KP3> {    [         KP_Next,            KP_3 ] };
1285                 key  <KP0> {    [       KP_Insert,            KP_0 ] };
1286                 key <KPDL> {    [       KP_Delete,      KP_Decimal ] };
1287                 key <LVL3> {    [ ISO_Level3_Shift ] };
1288                 key <LSGT> {
1289                         type= "FOUR_LEVEL",
1290                         symbols[Group1]= [            less,         greater,             bar,       brokenbar ]
1291                 };
1292                 key <FK11> {
1293                         type= "CTRL+ALT",
1294                         symbols[Group1]= [             F11,             F11,             F11,             F11, XF86Switch_VT_11 ]
1295                 };
1296                 key <FK12> {
1297                         type= "CTRL+ALT",
1298                         symbols[Group1]= [             F12,             F12,             F12,             F12, XF86Switch_VT_12 ]
1299                 };
1300                 key <KATA> {    [        Katakana ] };
1301                 key <HIRA> {    [        Hiragana ] };
1302                 key <HENK> {    [     Henkan_Mode ] };
1303                 key <HKTG> {    [ Hiragana_Katakana ] };
1304                 key <MUHE> {    [        Muhenkan ] };
1305                 key <KPEN> {    [        KP_Enter ] };
1306                 key <RCTL> {    [       Control_R ] };
1307                 key <KPDV> {
1308                         type= "CTRL+ALT",
1309                         symbols[Group1]= [       KP_Divide,       KP_Divide,       KP_Divide,       KP_Divide,      XF86Ungrab ]
1310                 };
1311                 key <PRSC> {
1312                         type= "PC_ALT_LEVEL2",
1313                         symbols[Group1]= [           Print,         Sys_Req ]
1314                 };
1315                 key <RALT> {
1316                         type= "TWO_LEVEL",
1317                         symbols[Group1]= [           Alt_R,          Meta_R ]
1318                 };
1319                 key <LNFD> {    [        Linefeed ] };
1320                 key <HOME> {    [            Home ] };
1321                 key   <UP> {    [              Up ] };
1322                 key <PGUP> {    [           Prior ] };
1323                 key <LEFT> {    [            Left ] };
1324                 key <RGHT> {    [           Right ] };
1325                 key  <END> {    [             End ] };
1326                 key <DOWN> {    [            Down ] };
1327                 key <PGDN> {    [            Next ] };
1328                 key  <INS> {    [          Insert ] };
1329                 key <DELE> {    [          Delete ] };
1330                 key <MUTE> {    [   XF86AudioMute ] };
1331                 key <VOL-> {    [ XF86AudioLowerVolume ] };
1332                 key <VOL+> {    [ XF86AudioRaiseVolume ] };
1333                 key <POWR> {    [    XF86PowerOff ] };
1334                 key <KPEQ> {    [        KP_Equal ] };
1335                 key <I126> {    [       plusminus ] };
1336                 key <PAUS> {
1337                         type= "PC_CONTROL_LEVEL2",
1338                         symbols[Group1]= [           Pause,           Break ]
1339                 };
1340                 key <I128> {    [     XF86LaunchA ] };
1341                 key <I129> {    [      KP_Decimal,      KP_Decimal ] };
1342                 key <HNGL> {    [          Hangul ] };
1343                 key <HJCV> {    [    Hangul_Hanja ] };
1344                 key <LWIN> {    [         Super_L ] };
1345                 key <RWIN> {    [         Super_R ] };
1346                 key <COMP> {    [            Menu ] };
1347                 key <STOP> {    [          Cancel ] };
1348                 key <AGAI> {    [            Redo ] };
1349                 key <PROP> {    [        SunProps ] };
1350                 key <UNDO> {    [            Undo ] };
1351                 key <FRNT> {    [        SunFront ] };
1352                 key <COPY> {    [        XF86Copy ] };
1353                 key <OPEN> {    [         SunOpen ] };
1354                 key <PAST> {    [       XF86Paste ] };
1355                 key <FIND> {    [            Find ] };
1356                 key  <CUT> {    [         XF86Cut ] };
1357                 key <HELP> {    [            Help ] };
1358                 key <I147> {    [      XF86MenuKB ] };
1359                 key <I148> {    [  XF86Calculator ] };
1360                 key <I150> {    [       XF86Sleep ] };
1361                 key <I151> {    [      XF86WakeUp ] };
1362                 key <I152> {    [    XF86Explorer ] };
1363                 key <I153> {    [        XF86Send ] };
1364                 key <I155> {    [        XF86Xfer ] };
1365                 key <I156> {    [     XF86Launch1 ] };
1366                 key <I157> {    [     XF86Launch2 ] };
1367                 key <I158> {    [         XF86WWW ] };
1368                 key <I159> {    [         XF86DOS ] };
1369                 key <I160> {    [ XF86ScreenSaver ] };
1370                 key <I162> {    [ XF86RotateWindows ] };
1371                 key <I163> {    [        XF86Mail ] };
1372                 key <I164> {    [   XF86Favorites ] };
1373                 key <I165> {    [  XF86MyComputer ] };
1374                 key <I166> {    [        XF86Back ] };
1375                 key <I167> {    [     XF86Forward ] };
1376                 key <I169> {    [       XF86Eject ] };
1377                 key <I170> {    [       XF86Eject,       XF86Eject ] };
1378                 key <I171> {    [   XF86AudioNext ] };
1379                 key <I172> {    [   XF86AudioPlay,  XF86AudioPause ] };
1380                 key <I173> {    [   XF86AudioPrev ] };
1381                 key <I174> {    [   XF86AudioStop,       XF86Eject ] };
1382                 key <I175> {    [ XF86AudioRecord ] };
1383                 key <I176> {    [ XF86AudioRewind ] };
1384                 key <I177> {    [       XF86Phone ] };
1385                 key <I179> {    [       XF86Tools ] };
1386                 key <I180> {    [    XF86HomePage ] };
1387                 key <I181> {    [      XF86Reload ] };
1388                 key <I182> {    [       XF86Close ] };
1389                 key <I185> {    [    XF86ScrollUp ] };
1390                 key <I186> {    [  XF86ScrollDown ] };
1391                 key <I187> {    [       parenleft ] };
1392                 key <I188> {    [      parenright ] };
1393                 key <I189> {    [         XF86New ] };
1394                 key <I190> {    [            Redo ] };
1395                 key <FK13> {    [       XF86Tools ] };
1396                 key <FK14> {    [     XF86Launch5 ] };
1397                 key <FK15> {    [     XF86Launch6 ] };
1398                 key <FK16> {    [     XF86Launch7 ] };
1399                 key <FK17> {    [     XF86Launch8 ] };
1400                 key <FK18> {    [     XF86Launch9 ] };
1401                 key <FK21> {    [ XF86TouchpadToggle ] };
1402                 key <FK22> {    [  XF86TouchpadOn ] };
1403                 key <FK23> {    [ XF86TouchpadOff ] };
1404                 key <MDSW> {    [     Mode_switch ] };
1405                 key  <ALT> {    [        NoSymbol,           Alt_L ] };
1406                 key <META> {    [        NoSymbol,          Meta_L ] };
1407                 key <SUPR> {    [        NoSymbol,         Super_L ] };
1408                 key <HYPR> {    [        NoSymbol,         Hyper_L ] };
1409                 key <I208> {    [   XF86AudioPlay ] };
1410                 key <I209> {    [  XF86AudioPause ] };
1411                 key <I210> {    [     XF86Launch3 ] };
1412                 key <I211> {    [     XF86Launch4 ] };
1413                 key <I212> {    [     XF86LaunchB ] };
1414                 key <I213> {    [     XF86Suspend ] };
1415                 key <I214> {    [       XF86Close ] };
1416                 key <I215> {    [   XF86AudioPlay ] };
1417                 key <I216> {    [ XF86AudioForward ] };
1418                 key <I218> {    [           Print ] };
1419                 key <I220> {    [      XF86WebCam ] };
1420                 key <I223> {    [        XF86Mail ] };
1421                 key <I224> {    [   XF86Messenger ] };
1422                 key <I225> {    [      XF86Search ] };
1423                 key <I226> {    [          XF86Go ] };
1424                 key <I227> {    [     XF86Finance ] };
1425                 key <I228> {    [        XF86Game ] };
1426                 key <I229> {    [        XF86Shop ] };
1427                 key <I231> {    [          Cancel ] };
1428                 key <I232> {    [ XF86MonBrightnessDown ] };
1429                 key <I233> {    [ XF86MonBrightnessUp ] };
1430                 key <I234> {    [  XF86AudioMedia ] };
1431                 key <I235> {    [     XF86Display ] };
1432                 key <I236> {    [ XF86KbdLightOnOff ] };
1433                 key <I237> {    [ XF86KbdBrightnessDown ] };
1434                 key <I238> {    [ XF86KbdBrightnessUp ] };
1435                 key <I239> {    [        XF86Send ] };
1436                 key <I240> {    [       XF86Reply ] };
1437                 key <I241> {    [ XF86MailForward ] };
1438                 key <I242> {    [        XF86Save ] };
1439                 key <I243> {    [   XF86Documents ] };
1440                 key <I244> {    [     XF86Battery ] };
1441                 key <I245> {    [   XF86Bluetooth ] };
1442                 key <I246> {    [        XF86WLAN ] };
1443                 modifier_map Control { <LCTL> };
1444                 modifier_map Shift { <LFSH> };
1445                 modifier_map Shift { <RTSH> };
1446                 modifier_map Mod1 { <LALT> };
1447                 modifier_map Lock { <CAPS> };
1448                 modifier_map Mod2 { <NMLK> };
1449                 modifier_map Mod5 { <LVL3> };
1450                 modifier_map Control { <RCTL> };
1451                 modifier_map Mod1 { <RALT> };
1452                 modifier_map Mod4 { <LWIN> };
1453                 modifier_map Mod4 { <RWIN> };
1454                 modifier_map Mod5 { <MDSW> };
1455                 modifier_map Mod1 { <META> };
1456                 modifier_map Mod4 { <SUPR> };
1457                 modifier_map Mod4 { <HYPR> };
1458         };
1459
1460 };