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