myconfig

my config files
git clone https://a3nm.net/git/myconfig/
Log | Files | Refs | README

xmodmaprc (76470B)


      1 xkb_keymap {
      2 xkb_keycodes "evdev+aliases(qwerty)" {
      3     minimum = 8;
      4     maximum = 255;
      5      <ESC> = 9;
      6     <AE01> = 10;
      7     <AE02> = 11;
      8     <AE03> = 12;
      9     <AE04> = 13;
     10     <AE05> = 14;
     11     <AE06> = 15;
     12     <AE07> = 16;
     13     <AE08> = 17;
     14     <AE09> = 18;
     15     <AE10> = 19;
     16     <AE11> = 20;
     17     <AE12> = 21;
     18     <BKSP> = 22;
     19      <TAB> = 23;
     20     <AD01> = 24;
     21     <AD02> = 25;
     22     <AD03> = 26;
     23     <AD04> = 27;
     24     <AD05> = 28;
     25     <AD06> = 29;
     26     <AD07> = 30;
     27     <AD08> = 31;
     28     <AD09> = 32;
     29     <AD10> = 33;
     30     <AD11> = 34;
     31     <AD12> = 35;
     32     <RTRN> = 36;
     33     <LCTL> = 37;
     34     <AC01> = 38;
     35     <AC02> = 39;
     36     <AC03> = 40;
     37     <AC04> = 41;
     38     <AC05> = 42;
     39     <AC06> = 43;
     40     <AC07> = 44;
     41     <AC08> = 45;
     42     <AC09> = 46;
     43     <AC10> = 47;
     44     <AC11> = 48;
     45     <TLDE> = 49;
     46     <LFSH> = 50;
     47     <BKSL> = 51;
     48     <AB01> = 52;
     49     <AB02> = 53;
     50     <AB03> = 54;
     51     <AB04> = 55;
     52     <AB05> = 56;
     53     <AB06> = 57;
     54     <AB07> = 58;
     55     <AB08> = 59;
     56     <AB09> = 60;
     57     <AB10> = 61;
     58     <RTSH> = 62;
     59     <KPMU> = 63;
     60     <LALT> = 64;
     61     <SPCE> = 65;
     62     <CAPS> = 66;
     63     <FK01> = 67;
     64     <FK02> = 68;
     65     <FK03> = 69;
     66     <FK04> = 70;
     67     <FK05> = 71;
     68     <FK06> = 72;
     69     <FK07> = 73;
     70     <FK08> = 74;
     71     <FK09> = 75;
     72     <FK10> = 76;
     73     <NMLK> = 77;
     74     <SCLK> = 78;
     75      <KP7> = 79;
     76      <KP8> = 80;
     77      <KP9> = 81;
     78     <KPSU> = 82;
     79      <KP4> = 83;
     80      <KP5> = 84;
     81      <KP6> = 85;
     82     <KPAD> = 86;
     83      <KP1> = 87;
     84      <KP2> = 88;
     85      <KP3> = 89;
     86      <KP0> = 90;
     87     <KPDL> = 91;
     88     <LVL3> = 92;
     89     <LSGT> = 94;
     90     <FK11> = 95;
     91     <FK12> = 96;
     92     <AB11> = 97;
     93     <KATA> = 98;
     94     <HIRA> = 99;
     95     <HENK> = 100;
     96     <HKTG> = 101;
     97     <MUHE> = 102;
     98     <JPCM> = 103;
     99     <KPEN> = 104;
    100     <RCTL> = 105;
    101     <KPDV> = 106;
    102     <PRSC> = 107;
    103     <RALT> = 108;
    104     <LNFD> = 109;
    105     <HOME> = 110;
    106       <UP> = 111;
    107     <PGUP> = 112;
    108     <LEFT> = 113;
    109     <RGHT> = 114;
    110      <END> = 115;
    111     <DOWN> = 116;
    112     <PGDN> = 117;
    113      <INS> = 118;
    114     <DELE> = 119;
    115     <I120> = 120;
    116     <MUTE> = 121;
    117     <VOL-> = 122;
    118     <VOL+> = 123;
    119     <POWR> = 124;
    120     <KPEQ> = 125;
    121     <I126> = 126;
    122     <PAUS> = 127;
    123     <I128> = 128;
    124     <I129> = 129;
    125     <HNGL> = 130;
    126     <HJCV> = 131;
    127     <AE13> = 132;
    128     <LWIN> = 133;
    129     <RWIN> = 134;
    130     <COMP> = 135;
    131     <STOP> = 136;
    132     <AGAI> = 137;
    133     <PROP> = 138;
    134     <UNDO> = 139;
    135     <FRNT> = 140;
    136     <COPY> = 141;
    137     <OPEN> = 142;
    138     <PAST> = 143;
    139     <FIND> = 144;
    140      <CUT> = 145;
    141     <HELP> = 146;
    142     <I147> = 147;
    143     <I148> = 148;
    144     <I149> = 149;
    145     <I150> = 150;
    146     <I151> = 151;
    147     <I152> = 152;
    148     <I153> = 153;
    149     <I154> = 154;
    150     <I155> = 155;
    151     <I156> = 156;
    152     <I157> = 157;
    153     <I158> = 158;
    154     <I159> = 159;
    155     <I160> = 160;
    156     <I161> = 161;
    157     <I162> = 162;
    158     <I163> = 163;
    159     <I164> = 164;
    160     <I165> = 165;
    161     <I166> = 166;
    162     <I167> = 167;
    163     <I168> = 168;
    164     <I169> = 169;
    165     <I170> = 170;
    166     <I171> = 171;
    167     <I172> = 172;
    168     <I173> = 173;
    169     <I174> = 174;
    170     <I175> = 175;
    171     <I176> = 176;
    172     <I177> = 177;
    173     <I178> = 178;
    174     <I179> = 179;
    175     <I180> = 180;
    176     <I181> = 181;
    177     <I182> = 182;
    178     <I183> = 183;
    179     <I184> = 184;
    180     <I185> = 185;
    181     <I186> = 186;
    182     <I187> = 187;
    183     <I188> = 188;
    184     <I189> = 189;
    185     <I190> = 190;
    186     <FK13> = 191;
    187     <FK14> = 192;
    188     <FK15> = 193;
    189     <FK16> = 194;
    190     <FK17> = 195;
    191     <FK18> = 196;
    192     <FK19> = 197;
    193     <FK20> = 198;
    194     <FK21> = 199;
    195     <FK22> = 200;
    196     <FK23> = 201;
    197     <FK24> = 202;
    198     <MDSW> = 203;
    199      <ALT> = 204;
    200     <META> = 205;
    201     <SUPR> = 206;
    202     <HYPR> = 207;
    203     <I208> = 208;
    204     <I209> = 209;
    205     <I210> = 210;
    206     <I211> = 211;
    207     <I212> = 212;
    208     <I213> = 213;
    209     <I214> = 214;
    210     <I215> = 215;
    211     <I216> = 216;
    212     <I217> = 217;
    213     <I218> = 218;
    214     <I219> = 219;
    215     <I220> = 220;
    216     <I221> = 221;
    217     <I222> = 222;
    218     <I223> = 223;
    219     <I224> = 224;
    220     <I225> = 225;
    221     <I226> = 226;
    222     <I227> = 227;
    223     <I228> = 228;
    224     <I229> = 229;
    225     <I230> = 230;
    226     <I231> = 231;
    227     <I232> = 232;
    228     <I233> = 233;
    229     <I234> = 234;
    230     <I235> = 235;
    231     <I236> = 236;
    232     <I237> = 237;
    233     <I238> = 238;
    234     <I239> = 239;
    235     <I240> = 240;
    236     <I241> = 241;
    237     <I242> = 242;
    238     <I243> = 243;
    239     <I244> = 244;
    240     <I245> = 245;
    241     <I246> = 246;
    242     <I247> = 247;
    243     <I248> = 248;
    244     <I249> = 249;
    245     <I250> = 250;
    246     <I251> = 251;
    247     <I252> = 252;
    248     <I253> = 253;
    249     indicator 1 = "Caps Lock";
    250     indicator 2 = "Num Lock";
    251     indicator 3 = "Scroll Lock";
    252     indicator 4 = "Compose";
    253     indicator 5 = "Kana";
    254     indicator 6 = "Sleep";
    255     indicator 7 = "Suspend";
    256     indicator 8 = "Mute";
    257     indicator 9 = "Misc";
    258     indicator 10 = "Mail";
    259     indicator 11 = "Charging";
    260     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 <LatY> = <AD06>;
    276     alias <LatU> = <AD07>;
    277     alias <LatI> = <AD08>;
    278     alias <LatO> = <AD09>;
    279     alias <LatP> = <AD10>;
    280     alias <LatA> = <AC01>;
    281     alias <LatS> = <AC02>;
    282     alias <LatD> = <AC03>;
    283     alias <LatF> = <AC04>;
    284     alias <LatG> = <AC05>;
    285     alias <LatH> = <AC06>;
    286     alias <LatJ> = <AC07>;
    287     alias <LatK> = <AC08>;
    288     alias <LatL> = <AC09>;
    289     alias <LatZ> = <AB01>;
    290     alias <LatX> = <AB02>;
    291     alias <LatC> = <AB03>;
    292     alias <LatV> = <AB04>;
    293     alias <LatB> = <AB05>;
    294     alias <LatN> = <AB06>;
    295     alias <LatM> = <AB07>;
    296 };
    297 
    298 xkb_types "complete" {
    299 
    300     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper,AlGr;
    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= Control+Alt;
    370         map[Control+Alt]= Level2;
    371         level_name[Level1]= "Base";
    372         level_name[Level2]= "Ctrl+Alt";
    373     };
    374     type "LOCAL_EIGHT_LEVEL" {
    375         modifiers= Shift+Lock+Control+LevelThree;
    376         map[Shift+Lock]= Level1;
    377         map[Shift]= Level2;
    378         map[Lock]= Level2;
    379         map[LevelThree]= Level3;
    380         map[Shift+Lock+LevelThree]= Level3;
    381         map[Shift+LevelThree]= Level4;
    382         map[Lock+LevelThree]= Level4;
    383         map[Control]= Level5;
    384         map[Shift+Lock+Control]= Level5;
    385         map[Shift+Control]= Level6;
    386         map[Lock+Control]= Level6;
    387         map[Control+LevelThree]= Level7;
    388         map[Shift+Lock+Control+LevelThree]= Level7;
    389         map[Shift+Control+LevelThree]= Level8;
    390         map[Lock+Control+LevelThree]= Level8;
    391         level_name[Level1]= "Base";
    392         level_name[Level2]= "Shift";
    393         level_name[Level3]= "Level3";
    394         level_name[Level4]= "Shift Level3";
    395         level_name[Level5]= "Ctrl";
    396         level_name[Level6]= "Shift Ctrl";
    397         level_name[Level7]= "Level3 Ctrl";
    398         level_name[Level8]= "Shift Level3 Ctrl";
    399     };
    400     type "THREE_LEVEL" {
    401         modifiers= Shift+LevelThree;
    402         map[Shift]= Level2;
    403         map[LevelThree]= Level3;
    404         map[Shift+LevelThree]= Level3;
    405         level_name[Level1]= "Base";
    406         level_name[Level2]= "Shift";
    407         level_name[Level3]= "Level3";
    408     };
    409     type "EIGHT_LEVEL" {
    410         modifiers= Shift+LevelThree+LevelFive;
    411         map[Shift]= Level2;
    412         map[LevelThree]= Level3;
    413         map[Shift+LevelThree]= Level4;
    414         map[LevelFive]= Level5;
    415         map[Shift+LevelFive]= Level6;
    416         map[LevelThree+LevelFive]= Level7;
    417         map[Shift+LevelThree+LevelFive]= Level8;
    418         level_name[Level1]= "Base";
    419         level_name[Level2]= "Shift";
    420         level_name[Level3]= "Alt Base";
    421         level_name[Level4]= "Shift Alt";
    422         level_name[Level5]= "X";
    423         level_name[Level6]= "X Shift";
    424         level_name[Level7]= "X Alt Base";
    425         level_name[Level8]= "X Shift Alt";
    426     };
    427     type "EIGHT_LEVEL_ALPHABETIC" {
    428         modifiers= Shift+Lock+LevelThree+LevelFive;
    429         map[Shift]= Level2;
    430         map[Lock]= Level2;
    431         map[LevelThree]= Level3;
    432         map[Shift+LevelThree]= Level4;
    433         map[Lock+LevelThree]= Level4;
    434         map[Shift+Lock+LevelThree]= Level3;
    435         map[LevelFive]= Level5;
    436         map[Shift+LevelFive]= Level6;
    437         map[Lock+LevelFive]= Level6;
    438         map[LevelThree+LevelFive]= Level7;
    439         map[Shift+LevelThree+LevelFive]= Level8;
    440         map[Lock+LevelThree+LevelFive]= Level8;
    441         map[Shift+Lock+LevelThree+LevelFive]= Level7;
    442         level_name[Level1]= "Base";
    443         level_name[Level2]= "Shift";
    444         level_name[Level3]= "Alt Base";
    445         level_name[Level4]= "Shift Alt";
    446         level_name[Level5]= "X";
    447         level_name[Level6]= "X Shift";
    448         level_name[Level7]= "X Alt Base";
    449         level_name[Level8]= "X Shift Alt";
    450     };
    451     type "EIGHT_LEVEL_SEMIALPHABETIC" {
    452         modifiers= Shift+Lock+LevelThree+LevelFive;
    453         map[Shift]= Level2;
    454         map[Lock]= Level2;
    455         map[LevelThree]= Level3;
    456         map[Shift+LevelThree]= Level4;
    457         map[Lock+LevelThree]= Level3;
    458         preserve[Lock+LevelThree]= Lock;
    459         map[Shift+Lock+LevelThree]= Level4;
    460         preserve[Shift+Lock+LevelThree]= Lock;
    461         map[LevelFive]= Level5;
    462         map[Shift+LevelFive]= Level6;
    463         map[Lock+LevelFive]= Level6;
    464         preserve[Lock+LevelFive]= Lock;
    465         map[LevelThree+LevelFive]= Level7;
    466         map[Shift+LevelThree+LevelFive]= Level8;
    467         map[Lock+LevelThree+LevelFive]= Level7;
    468         preserve[Lock+LevelThree+LevelFive]= Lock;
    469         map[Shift+Lock+LevelThree+LevelFive]= Level8;
    470         preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
    471         map[Shift+Lock+LevelFive]= Level1;
    472         preserve[Shift+Lock+LevelFive]= Lock;
    473         level_name[Level1]= "Base";
    474         level_name[Level2]= "Shift";
    475         level_name[Level3]= "Alt Base";
    476         level_name[Level4]= "Shift Alt";
    477         level_name[Level5]= "X";
    478         level_name[Level6]= "X Shift";
    479         level_name[Level7]= "X Alt Base";
    480         level_name[Level8]= "X Shift Alt";
    481     };
    482     type "FOUR_LEVEL" {
    483         modifiers= Shift+LevelThree;
    484         map[Shift]= Level2;
    485         map[LevelThree]= Level3;
    486         map[Shift+LevelThree]= Level4;
    487         level_name[Level1]= "Base";
    488         level_name[Level2]= "Shift";
    489         level_name[Level3]= "Alt Base";
    490         level_name[Level4]= "Shift Alt";
    491     };
    492     type "FOUR_LEVEL_ALPHABETIC" {
    493         modifiers= Shift+Lock+LevelThree;
    494         map[Shift]= Level2;
    495         map[Lock]= Level2;
    496         map[LevelThree]= Level3;
    497         map[Shift+LevelThree]= Level4;
    498         map[Lock+LevelThree]= Level4;
    499         map[Shift+Lock+LevelThree]= Level3;
    500         level_name[Level1]= "Base";
    501         level_name[Level2]= "Shift";
    502         level_name[Level3]= "Alt Base";
    503         level_name[Level4]= "Shift Alt";
    504     };
    505     type "FOUR_LEVEL_SEMIALPHABETIC" {
    506         modifiers= Shift+Lock+LevelThree;
    507         map[Shift]= Level2;
    508         map[Lock]= Level2;
    509         map[LevelThree]= Level3;
    510         map[Shift+LevelThree]= Level4;
    511         map[Lock+LevelThree]= Level3;
    512         preserve[Lock+LevelThree]= Lock;
    513         map[Shift+Lock+LevelThree]= Level4;
    514         preserve[Shift+Lock+LevelThree]= Lock;
    515         level_name[Level1]= "Base";
    516         level_name[Level2]= "Shift";
    517         level_name[Level3]= "Alt Base";
    518         level_name[Level4]= "Shift Alt";
    519     };
    520     type "FOUR_LEVEL_MIXED_KEYPAD" {
    521         modifiers= Shift+NumLock+LevelThree;
    522         map[Shift+NumLock]= Level1;
    523         map[NumLock]= Level2;
    524         map[Shift]= Level2;
    525         map[LevelThree]= Level3;
    526         map[NumLock+LevelThree]= Level3;
    527         map[Shift+LevelThree]= Level4;
    528         map[Shift+NumLock+LevelThree]= Level4;
    529         level_name[Level1]= "Base";
    530         level_name[Level2]= "Number";
    531         level_name[Level3]= "Alt Base";
    532         level_name[Level4]= "Shift Alt";
    533     };
    534     type "FOUR_LEVEL_X" {
    535         modifiers= Shift+Control+Alt+LevelThree;
    536         map[LevelThree]= Level2;
    537         map[Shift+LevelThree]= Level3;
    538         map[Control+Alt]= Level4;
    539         level_name[Level1]= "Base";
    540         level_name[Level2]= "Alt Base";
    541         level_name[Level3]= "Shift Alt";
    542         level_name[Level4]= "Ctrl+Alt";
    543     };
    544     type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
    545         modifiers= Shift+Lock+LevelThree;
    546         map[Shift]= Level2;
    547         map[Lock]= Level4;
    548         preserve[Lock]= Lock;
    549         map[LevelThree]= Level3;
    550         map[Shift+LevelThree]= Level4;
    551         map[Lock+LevelThree]= Level3;
    552         preserve[Lock+LevelThree]= Lock;
    553         map[Shift+Lock+LevelThree]= Level3;
    554         level_name[Level1]= "Base";
    555         level_name[Level2]= "Shift";
    556         level_name[Level3]= "AltGr Base";
    557         level_name[Level4]= "Shift AltGr";
    558     };
    559     type "FOUR_LEVEL_PLUS_LOCK" {
    560         modifiers= Shift+Lock+LevelThree;
    561         map[Shift]= Level2;
    562         map[LevelThree]= Level3;
    563         map[Shift+LevelThree]= Level4;
    564         map[Lock]= Level5;
    565         map[Shift+Lock]= Level2;
    566         map[Lock+LevelThree]= Level3;
    567         map[Shift+Lock+LevelThree]= Level4;
    568         level_name[Level1]= "Base";
    569         level_name[Level2]= "Shift";
    570         level_name[Level3]= "Alt Base";
    571         level_name[Level4]= "Shift Alt";
    572         level_name[Level5]= "Lock";
    573     };
    574     type "FOUR_LEVEL_KEYPAD" {
    575         modifiers= Shift+NumLock+LevelThree;
    576         map[Shift]= Level2;
    577         map[NumLock]= Level2;
    578         map[LevelThree]= Level3;
    579         map[Shift+LevelThree]= Level4;
    580         map[NumLock+LevelThree]= Level4;
    581         map[Shift+NumLock+LevelThree]= Level3;
    582         level_name[Level1]= "Base";
    583         level_name[Level2]= "Number";
    584         level_name[Level3]= "Alt Base";
    585         level_name[Level4]= "Alt Number";
    586     };
    587 };
    588 
    589 xkb_compatibility "complete" {
    590 
    591     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper,AlGr;
    592 
    593     interpret.useModMapMods= AnyLevel;
    594     interpret.repeat= False;
    595     interpret.locking= False;
    596     interpret ISO_Level2_Latch+Exactly(Shift) {
    597         useModMapMods=level1;
    598         action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
    599     };
    600     interpret Shift_Lock+AnyOf(Shift+Lock) {
    601         action= LockMods(modifiers=Shift);
    602     };
    603     interpret Num_Lock+AnyOf(all) {
    604         virtualModifier= NumLock;
    605         action= LockMods(modifiers=NumLock);
    606     };
    607     interpret ISO_Lock+AnyOf(all) {
    608         action= ISOLock(modifiers=modMapMods,affect=all);
    609     };
    610     interpret ISO_Level3_Shift+AnyOf(all) {
    611         virtualModifier= LevelThree;
    612         useModMapMods=level1;
    613         action= SetMods(modifiers=LevelThree,clearLocks);
    614     };
    615     interpret ISO_Level3_Latch+AnyOf(all) {
    616         virtualModifier= LevelThree;
    617         useModMapMods=level1;
    618         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    619     };
    620     interpret ISO_Level3_Lock+AnyOf(all) {
    621         virtualModifier= LevelThree;
    622         useModMapMods=level1;
    623         action= LockMods(modifiers=LevelThree);
    624     };
    625     interpret Alt_L+AnyOf(all) {
    626         virtualModifier= Alt;
    627         action= SetMods(modifiers=modMapMods,clearLocks);
    628     };
    629     interpret Alt_R+AnyOf(all) {
    630         virtualModifier= Alt;
    631         action= SetMods(modifiers=modMapMods,clearLocks);
    632     };
    633     interpret Meta_L+AnyOf(all) {
    634         virtualModifier= Meta;
    635         action= SetMods(modifiers=modMapMods,clearLocks);
    636     };
    637     interpret Meta_R+AnyOf(all) {
    638         virtualModifier= Meta;
    639         action= SetMods(modifiers=modMapMods,clearLocks);
    640     };
    641     interpret Super_L+AnyOf(all) {
    642         virtualModifier= Super;
    643         action= SetMods(modifiers=modMapMods,clearLocks);
    644     };
    645     interpret Super_R+AnyOf(all) {
    646         virtualModifier= Super;
    647         action= SetMods(modifiers=modMapMods,clearLocks);
    648     };
    649     interpret Hyper_L+AnyOf(all) {
    650         virtualModifier= Hyper;
    651         action= SetMods(modifiers=modMapMods,clearLocks);
    652     };
    653     interpret Hyper_R+AnyOf(all) {
    654         virtualModifier= Hyper;
    655         action= SetMods(modifiers=modMapMods,clearLocks);
    656     };
    657     interpret Scroll_Lock+AnyOf(all) {
    658         virtualModifier= ScrollLock;
    659         action= LockMods(modifiers=modMapMods);
    660     };
    661     interpret ISO_Level5_Shift+AnyOf(all) {
    662         virtualModifier= LevelFive;
    663         useModMapMods=level1;
    664         action= SetMods(modifiers=LevelFive,clearLocks);
    665     };
    666     interpret ISO_Level5_Latch+AnyOf(all) {
    667         virtualModifier= LevelFive;
    668         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
    669     };
    670     interpret ISO_Level5_Lock+AnyOf(all) {
    671         virtualModifier= LevelFive;
    672         action= LockMods(modifiers=LevelFive);
    673     };
    674     interpret Mode_switch+AnyOfOrNone(all) {
    675         virtualModifier= AltGr;
    676         useModMapMods=level1;
    677         action= SetGroup(group=+1);
    678     };
    679     interpret ISO_Level3_Shift+AnyOfOrNone(all) {
    680         action= SetMods(modifiers=LevelThree,clearLocks);
    681     };
    682     interpret ISO_Level3_Latch+AnyOfOrNone(all) {
    683         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
    684     };
    685     interpret ISO_Level3_Lock+AnyOfOrNone(all) {
    686         action= LockMods(modifiers=LevelThree);
    687     };
    688     interpret ISO_Group_Latch+AnyOfOrNone(all) {
    689         virtualModifier= AltGr;
    690         useModMapMods=level1;
    691         action= LatchGroup(group=2);
    692     };
    693     interpret ISO_Next_Group+AnyOfOrNone(all) {
    694         virtualModifier= AltGr;
    695         useModMapMods=level1;
    696         action= LockGroup(group=+1);
    697     };
    698     interpret ISO_Prev_Group+AnyOfOrNone(all) {
    699         virtualModifier= AltGr;
    700         useModMapMods=level1;
    701         action= LockGroup(group=-1);
    702     };
    703     interpret ISO_First_Group+AnyOfOrNone(all) {
    704         action= LockGroup(group=1);
    705     };
    706     interpret ISO_Last_Group+AnyOfOrNone(all) {
    707         action= LockGroup(group=2);
    708     };
    709     interpret KP_1+AnyOfOrNone(all) {
    710         repeat= True;
    711         action= MovePtr(x=-1,y=+1);
    712     };
    713     interpret KP_End+AnyOfOrNone(all) {
    714         repeat= True;
    715         action= MovePtr(x=-1,y=+1);
    716     };
    717     interpret KP_2+AnyOfOrNone(all) {
    718         repeat= True;
    719         action= MovePtr(x=+0,y=+1);
    720     };
    721     interpret KP_Down+AnyOfOrNone(all) {
    722         repeat= True;
    723         action= MovePtr(x=+0,y=+1);
    724     };
    725     interpret KP_3+AnyOfOrNone(all) {
    726         repeat= True;
    727         action= MovePtr(x=+1,y=+1);
    728     };
    729     interpret KP_Next+AnyOfOrNone(all) {
    730         repeat= True;
    731         action= MovePtr(x=+1,y=+1);
    732     };
    733     interpret KP_4+AnyOfOrNone(all) {
    734         repeat= True;
    735         action= MovePtr(x=-1,y=+0);
    736     };
    737     interpret KP_Left+AnyOfOrNone(all) {
    738         repeat= True;
    739         action= MovePtr(x=-1,y=+0);
    740     };
    741     interpret KP_6+AnyOfOrNone(all) {
    742         repeat= True;
    743         action= MovePtr(x=+1,y=+0);
    744     };
    745     interpret KP_Right+AnyOfOrNone(all) {
    746         repeat= True;
    747         action= MovePtr(x=+1,y=+0);
    748     };
    749     interpret KP_7+AnyOfOrNone(all) {
    750         repeat= True;
    751         action= MovePtr(x=-1,y=-1);
    752     };
    753     interpret KP_Home+AnyOfOrNone(all) {
    754         repeat= True;
    755         action= MovePtr(x=-1,y=-1);
    756     };
    757     interpret KP_8+AnyOfOrNone(all) {
    758         repeat= True;
    759         action= MovePtr(x=+0,y=-1);
    760     };
    761     interpret KP_Up+AnyOfOrNone(all) {
    762         repeat= True;
    763         action= MovePtr(x=+0,y=-1);
    764     };
    765     interpret KP_9+AnyOfOrNone(all) {
    766         repeat= True;
    767         action= MovePtr(x=+1,y=-1);
    768     };
    769     interpret KP_Prior+AnyOfOrNone(all) {
    770         repeat= True;
    771         action= MovePtr(x=+1,y=-1);
    772     };
    773     interpret KP_5+AnyOfOrNone(all) {
    774         repeat= True;
    775         action= PtrBtn(button=default);
    776     };
    777     interpret KP_Begin+AnyOfOrNone(all) {
    778         repeat= True;
    779         action= PtrBtn(button=default);
    780     };
    781     interpret KP_F2+AnyOfOrNone(all) {
    782         repeat= True;
    783         action= SetPtrDflt(affect=button,button=1);
    784     };
    785     interpret KP_Divide+AnyOfOrNone(all) {
    786         repeat= True;
    787         action= SetPtrDflt(affect=button,button=1);
    788     };
    789     interpret KP_F3+AnyOfOrNone(all) {
    790         repeat= True;
    791         action= SetPtrDflt(affect=button,button=2);
    792     };
    793     interpret KP_Multiply+AnyOfOrNone(all) {
    794         repeat= True;
    795         action= SetPtrDflt(affect=button,button=2);
    796     };
    797     interpret KP_F4+AnyOfOrNone(all) {
    798         repeat= True;
    799         action= SetPtrDflt(affect=button,button=3);
    800     };
    801     interpret KP_Subtract+AnyOfOrNone(all) {
    802         repeat= True;
    803         action= SetPtrDflt(affect=button,button=3);
    804     };
    805     interpret KP_Separator+AnyOfOrNone(all) {
    806         repeat= True;
    807         action= PtrBtn(button=default,count=2);
    808     };
    809     interpret KP_Add+AnyOfOrNone(all) {
    810         repeat= True;
    811         action= PtrBtn(button=default,count=2);
    812     };
    813     interpret KP_0+AnyOfOrNone(all) {
    814         repeat= True;
    815         action= LockPtrBtn(button=default,affect=lock);
    816     };
    817     interpret KP_Insert+AnyOfOrNone(all) {
    818         repeat= True;
    819         action= LockPtrBtn(button=default,affect=lock);
    820     };
    821     interpret KP_Decimal+AnyOfOrNone(all) {
    822         repeat= True;
    823         action= LockPtrBtn(button=default,affect=unlock);
    824     };
    825     interpret KP_Delete+AnyOfOrNone(all) {
    826         repeat= True;
    827         action= LockPtrBtn(button=default,affect=unlock);
    828     };
    829     interpret F25+AnyOfOrNone(all) {
    830         repeat= True;
    831         action= SetPtrDflt(affect=button,button=1);
    832     };
    833     interpret F26+AnyOfOrNone(all) {
    834         repeat= True;
    835         action= SetPtrDflt(affect=button,button=2);
    836     };
    837     interpret F27+AnyOfOrNone(all) {
    838         repeat= True;
    839         action= MovePtr(x=-1,y=-1);
    840     };
    841     interpret F29+AnyOfOrNone(all) {
    842         repeat= True;
    843         action= MovePtr(x=+1,y=-1);
    844     };
    845     interpret F31+AnyOfOrNone(all) {
    846         repeat= True;
    847         action= PtrBtn(button=default);
    848     };
    849     interpret F33+AnyOfOrNone(all) {
    850         repeat= True;
    851         action= MovePtr(x=-1,y=+1);
    852     };
    853     interpret F35+AnyOfOrNone(all) {
    854         repeat= True;
    855         action= MovePtr(x=+1,y=+1);
    856     };
    857     interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
    858         action= PtrBtn(button=default);
    859     };
    860     interpret Pointer_Button1+AnyOfOrNone(all) {
    861         action= PtrBtn(button=1);
    862     };
    863     interpret Pointer_Button2+AnyOfOrNone(all) {
    864         action= PtrBtn(button=2);
    865     };
    866     interpret Pointer_Button3+AnyOfOrNone(all) {
    867         action= PtrBtn(button=3);
    868     };
    869     interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
    870         action= PtrBtn(button=default,count=2);
    871     };
    872     interpret Pointer_DblClick1+AnyOfOrNone(all) {
    873         action= PtrBtn(button=1,count=2);
    874     };
    875     interpret Pointer_DblClick2+AnyOfOrNone(all) {
    876         action= PtrBtn(button=2,count=2);
    877     };
    878     interpret Pointer_DblClick3+AnyOfOrNone(all) {
    879         action= PtrBtn(button=3,count=2);
    880     };
    881     interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
    882         action= LockPtrBtn(button=default,affect=both);
    883     };
    884     interpret Pointer_Drag1+AnyOfOrNone(all) {
    885         action= LockPtrBtn(button=1,affect=both);
    886     };
    887     interpret Pointer_Drag2+AnyOfOrNone(all) {
    888         action= LockPtrBtn(button=2,affect=both);
    889     };
    890     interpret Pointer_Drag3+AnyOfOrNone(all) {
    891         action= LockPtrBtn(button=3,affect=both);
    892     };
    893     interpret Pointer_EnableKeys+AnyOfOrNone(all) {
    894         action= LockControls(controls=MouseKeys);
    895     };
    896     interpret Pointer_Accelerate+AnyOfOrNone(all) {
    897         action= LockControls(controls=MouseKeysAccel);
    898     };
    899     interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
    900         action= SetPtrDflt(affect=button,button=+1);
    901     };
    902     interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
    903         action= SetPtrDflt(affect=button,button=-1);
    904     };
    905     interpret AccessX_Enable+AnyOfOrNone(all) {
    906         action= LockControls(controls=AccessXKeys);
    907     };
    908     interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
    909         action= LockControls(controls=AccessXFeedback);
    910     };
    911     interpret RepeatKeys_Enable+AnyOfOrNone(all) {
    912         action= LockControls(controls=RepeatKeys);
    913     };
    914     interpret SlowKeys_Enable+AnyOfOrNone(all) {
    915         action= LockControls(controls=SlowKeys);
    916     };
    917     interpret BounceKeys_Enable+AnyOfOrNone(all) {
    918         action= LockControls(controls=BounceKeys);
    919     };
    920     interpret StickyKeys_Enable+AnyOfOrNone(all) {
    921         action= LockControls(controls=StickyKeys);
    922     };
    923     interpret MouseKeys_Enable+AnyOfOrNone(all) {
    924         action= LockControls(controls=MouseKeys);
    925     };
    926     interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
    927         action= LockControls(controls=MouseKeysAccel);
    928     };
    929     interpret Overlay1_Enable+AnyOfOrNone(all) {
    930         action= LockControls(controls=Overlay1);
    931     };
    932     interpret Overlay2_Enable+AnyOfOrNone(all) {
    933         action= LockControls(controls=Overlay2);
    934     };
    935     interpret AudibleBell_Enable+AnyOfOrNone(all) {
    936         action= LockControls(controls=AudibleBell);
    937     };
    938     interpret Terminate_Server+AnyOfOrNone(all) {
    939         action= Terminate();
    940     };
    941     interpret Alt_L+AnyOfOrNone(all) {
    942         action= SetMods(modifiers=Alt,clearLocks);
    943     };
    944     interpret Alt_R+AnyOfOrNone(all) {
    945         action= SetMods(modifiers=Alt,clearLocks);
    946     };
    947     interpret Meta_L+AnyOfOrNone(all) {
    948         action= SetMods(modifiers=Meta,clearLocks);
    949     };
    950     interpret Meta_R+AnyOfOrNone(all) {
    951         action= SetMods(modifiers=Meta,clearLocks);
    952     };
    953     interpret Super_L+AnyOfOrNone(all) {
    954         action= SetMods(modifiers=Super,clearLocks);
    955     };
    956     interpret Super_R+AnyOfOrNone(all) {
    957         action= SetMods(modifiers=Super,clearLocks);
    958     };
    959     interpret Hyper_L+AnyOfOrNone(all) {
    960         action= SetMods(modifiers=Hyper,clearLocks);
    961     };
    962     interpret Hyper_R+AnyOfOrNone(all) {
    963         action= SetMods(modifiers=Hyper,clearLocks);
    964     };
    965     interpret XF86_Switch_VT_1+AnyOfOrNone(all) {
    966         repeat= True;
    967         action= SwitchScreen(screen=1,!same);
    968     };
    969     interpret XF86_Switch_VT_2+AnyOfOrNone(all) {
    970         repeat= True;
    971         action= SwitchScreen(screen=2,!same);
    972     };
    973     interpret XF86_Switch_VT_3+AnyOfOrNone(all) {
    974         repeat= True;
    975         action= SwitchScreen(screen=3,!same);
    976     };
    977     interpret XF86_Switch_VT_4+AnyOfOrNone(all) {
    978         repeat= True;
    979         action= SwitchScreen(screen=4,!same);
    980     };
    981     interpret XF86_Switch_VT_5+AnyOfOrNone(all) {
    982         repeat= True;
    983         action= SwitchScreen(screen=5,!same);
    984     };
    985     interpret XF86_Switch_VT_6+AnyOfOrNone(all) {
    986         repeat= True;
    987         action= SwitchScreen(screen=6,!same);
    988     };
    989     interpret XF86_Switch_VT_7+AnyOfOrNone(all) {
    990         repeat= True;
    991         action= SwitchScreen(screen=7,!same);
    992     };
    993     interpret XF86_Switch_VT_8+AnyOfOrNone(all) {
    994         repeat= True;
    995         action= SwitchScreen(screen=8,!same);
    996     };
    997     interpret XF86_Switch_VT_9+AnyOfOrNone(all) {
    998         repeat= True;
    999         action= SwitchScreen(screen=9,!same);
   1000     };
   1001     interpret XF86_Switch_VT_10+AnyOfOrNone(all) {
   1002         repeat= True;
   1003         action= SwitchScreen(screen=10,!same);
   1004     };
   1005     interpret XF86_Switch_VT_11+AnyOfOrNone(all) {
   1006         repeat= True;
   1007         action= SwitchScreen(screen=11,!same);
   1008     };
   1009     interpret XF86_Switch_VT_12+AnyOfOrNone(all) {
   1010         repeat= True;
   1011         action= SwitchScreen(screen=12,!same);
   1012     };
   1013     interpret XF86_Ungrab+AnyOfOrNone(all) {
   1014         repeat= True;
   1015         action= Private(type=0x86,data[0]=0x55,data[1]=0x6e,data[2]=0x67,data[3]=0x72,data[4]=0x61,data[5]=0x62,data[6]=0x00);
   1016     };
   1017     interpret XF86_ClearGrab+AnyOfOrNone(all) {
   1018         repeat= True;
   1019         action= Private(type=0x86,data[0]=0x43,data[1]=0x6c,data[2]=0x73,data[3]=0x47,data[4]=0x72,data[5]=0x62,data[6]=0x00);
   1020     };
   1021     interpret XF86_Next_VMode+AnyOfOrNone(all) {
   1022         repeat= True;
   1023         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);
   1024     };
   1025     interpret XF86_Prev_VMode+AnyOfOrNone(all) {
   1026         repeat= True;
   1027         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);
   1028     };
   1029     interpret ISO_Level5_Shift+AnyOfOrNone(all) {
   1030         action= SetMods(modifiers=LevelFive,clearLocks);
   1031     };
   1032     interpret ISO_Level5_Latch+AnyOfOrNone(all) {
   1033         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
   1034     };
   1035     interpret ISO_Level5_Lock+AnyOfOrNone(all) {
   1036         action= LockMods(modifiers=LevelFive);
   1037     };
   1038     interpret Any+Exactly(Lock) {
   1039         action= LockMods(modifiers=Lock);
   1040     };
   1041     interpret Any+AnyOf(all) {
   1042         action= SetMods(modifiers=modMapMods,clearLocks);
   1043     };
   1044     indicator "Caps Lock" {
   1045         !allowExplicit;
   1046         whichModState= locked;
   1047         modifiers= Lock;
   1048     };
   1049     indicator "Num Lock" {
   1050         !allowExplicit;
   1051         whichModState= locked;
   1052         modifiers= NumLock;
   1053     };
   1054     indicator "Scroll Lock" {
   1055         whichModState= locked;
   1056         modifiers= ScrollLock;
   1057     };
   1058     indicator "Shift Lock" {
   1059         !allowExplicit;
   1060         whichModState= locked;
   1061         modifiers= Shift;
   1062     };
   1063     indicator "Group 2" {
   1064         !allowExplicit;
   1065         groups= 0xfe;
   1066     };
   1067     indicator "Mouse Keys" {
   1068         indicatorDrivesKeyboard;
   1069         controls= mouseKeys;
   1070     };
   1071 };
   1072 
   1073 xkb_symbols "pc+us(dvorak)+fr:2+fr(dvorak):3+us:4+inet(evdev)+level3(ralt_switch_for_alts_toggle):1+level3(ralt_" {
   1074 
   1075     name[group1]="USA - Dvorak";
   1076     name[group2]="France";
   1077     name[group3]="France - Dvorak";
   1078     name[group4]="USA";
   1079 
   1080     key  <ESC> {         [          Escape ] };
   1081     key <AE01> {
   1082         type[group2]= "FOUR_LEVEL",
   1083         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1084         symbols[Group1]= [               1,          exclam ],
   1085         symbols[Group2]= [       ampersand,               1,     onesuperior,      exclamdown ],
   1086         symbols[Group3]= [           equal,               1,        NoSymbol,        NoSymbol ],
   1087         symbols[Group4]= [               1,          exclam ]
   1088     };
   1089     key <AE02> {
   1090         type[group2]= "FOUR_LEVEL",
   1091         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1092         symbols[Group1]= [               2,              at ],
   1093         symbols[Group2]= [          eacute,               2,      asciitilde,       oneeighth ],
   1094         symbols[Group3]= [           slash,               2,       plusminus,        NoSymbol ],
   1095         symbols[Group4]= [               2,              at ]
   1096     };
   1097     key <AE03> {
   1098         type[group2]= "FOUR_LEVEL",
   1099         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1100         symbols[Group1]= [               3,      numbersign ],
   1101         symbols[Group2]= [        quotedbl,               3,      numbersign,        sterling ],
   1102         symbols[Group3]= [           minus,               3,      onequarter,        NoSymbol ],
   1103         symbols[Group4]= [               3,      numbersign ]
   1104     };
   1105     key <AE04> {
   1106         type[group2]= "FOUR_LEVEL",
   1107         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1108         symbols[Group1]= [               4,          dollar ],
   1109         symbols[Group2]= [      apostrophe,               4,       braceleft,          dollar ],
   1110         symbols[Group3]= [          egrave,               4,         onehalf,        NoSymbol ],
   1111         symbols[Group4]= [               4,          dollar ]
   1112     };
   1113     key <AE05> {
   1114         type[group2]= "FOUR_LEVEL",
   1115         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1116         symbols[Group1]= [               5,         percent ],
   1117         symbols[Group2]= [       parenleft,               5,     bracketleft,    threeeighths ],
   1118         symbols[Group3]= [       backslash,               5,   threequarters,        NoSymbol ],
   1119         symbols[Group4]= [               5,         percent ]
   1120     };
   1121     key <AE06> {
   1122         type[group1]= "FOUR_LEVEL",
   1123         type[group2]= "FOUR_LEVEL",
   1124         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1125         symbols[Group1]= [               6,     asciicircum, dead_circumflex, dead_circumflex ],
   1126         symbols[Group2]= [           minus,               6,             bar,     fiveeighths ],
   1127         symbols[Group3]= [ dead_circumflex,               6,        NoSymbol,        NoSymbol ],
   1128         symbols[Group4]= [               6,     asciicircum ]
   1129     };
   1130     key <AE07> {
   1131         type[group2]= "FOUR_LEVEL",
   1132         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1133         symbols[Group1]= [               7,       ampersand ],
   1134         symbols[Group2]= [          egrave,               7,           grave,    seveneighths ],
   1135         symbols[Group3]= [       parenleft,               7,        NoSymbol,        NoSymbol ],
   1136         symbols[Group4]= [               7,       ampersand ]
   1137     };
   1138     key <AE08> {
   1139         type[group2]= "FOUR_LEVEL",
   1140         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1141         symbols[Group1]= [               8,        asterisk ],
   1142         symbols[Group2]= [      underscore,               8,       backslash,       trademark ],
   1143         symbols[Group3]= [ ISO_Level3_Latch,               8,           grave,        NoSymbol ],
   1144         symbols[Group4]= [               8,        asterisk ]
   1145     };
   1146     key <AE09> {
   1147         type[group1]= "FOUR_LEVEL",
   1148         type[group2]= "FOUR_LEVEL",
   1149         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1150         symbols[Group1]= [               9,       parenleft,      dead_grave,        NoSymbol ],
   1151         symbols[Group2]= [        ccedilla,               9,     asciicircum,       plusminus ],
   1152         symbols[Group3]= [      parenright,               9,        NoSymbol,        NoSymbol ],
   1153         symbols[Group4]= [               9,       parenleft ]
   1154     };
   1155     key <AE10> {
   1156         type[group2]= "FOUR_LEVEL",
   1157         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1158         symbols[Group1]= [               0,      parenright ],
   1159         symbols[Group2]= [          agrave,               0,              at,          degree ],
   1160         symbols[Group3]= [        quotedbl,               0,        NoSymbol,        NoSymbol ],
   1161         symbols[Group4]= [               0,      parenright ]
   1162     };
   1163     key <AE11> {
   1164         type[group2]= "FOUR_LEVEL",
   1165         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1166         symbols[Group1]= [     bracketleft,       braceleft ],
   1167         symbols[Group2]= [      parenright,          degree,    bracketright,    questiondown ],
   1168         symbols[Group3]= [     bracketleft,            plus,        NoSymbol,        NoSymbol ],
   1169         symbols[Group4]= [           minus,      underscore ]
   1170     };
   1171     key <AE12> {
   1172         type[group1]= "FOUR_LEVEL",
   1173         type[group2]= "FOUR_LEVEL",
   1174         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1175         symbols[Group1]= [    bracketright,      braceright,      dead_tilde,        NoSymbol ],
   1176         symbols[Group2]= [           equal,            plus,      braceright,     dead_ogonek ],
   1177         symbols[Group3]= [    bracketright,         percent,        NoSymbol,        NoSymbol ],
   1178         symbols[Group4]= [           equal,            plus ]
   1179     };
   1180     key <BKSP> {         [       BackSpace ] };
   1181     key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
   1182     key <AD01> {
   1183         type[group1]= "FOUR_LEVEL",
   1184         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1185         type[group3]= "FOUR_LEVEL",
   1186         type[group4]= "ALPHABETIC",
   1187         symbols[Group1]= [      apostrophe,        quotedbl,      dead_acute,  dead_diaeresis ],
   1188         symbols[Group2]= [               a,               A,              ae,              AE ],
   1189         symbols[Group3]= [           colon,        question,              ae,              AE ],
   1190         symbols[Group4]= [               q,               Q ]
   1191     };
   1192     key <AD02> {
   1193         type[group1]= "FOUR_LEVEL",
   1194         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1195         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1196         type[group4]= "ALPHABETIC",
   1197         symbols[Group1]= [           comma,            less,    dead_cedilla,      dead_caron ],
   1198         symbols[Group2]= [               z,               Z,   guillemotleft,            less ],
   1199         symbols[Group3]= [      apostrophe,            less,          dollar,        NoSymbol ],
   1200         symbols[Group4]= [               w,               W ]
   1201     };
   1202     key <AD03> {
   1203         type[group1]= "FOUR_LEVEL",
   1204         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1205         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1206         type[group4]= "ALPHABETIC",
   1207         symbols[Group1]= [          period,         greater,        EuroSign,  periodcentered ],
   1208         symbols[Group2]= [               e,               E,        EuroSign,            cent ],
   1209         symbols[Group3]= [          eacute,         greater,          Eacute,        NoSymbol ],
   1210         symbols[Group4]= [               e,               E ]
   1211     };
   1212     key <AD04> {
   1213         type[group1]= "ALPHABETIC",
   1214         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1215         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1216         type[group4]= "ALPHABETIC",
   1217         symbols[Group1]= [               p,               P ],
   1218         symbols[Group2]= [               r,               R,       paragraph,      registered ],
   1219         symbols[Group3]= [               g,               G,        EuroSign,        NoSymbol ],
   1220         symbols[Group4]= [               r,               R ]
   1221     };
   1222     key <AD05> {
   1223         type[group1]= "ALPHABETIC",
   1224         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1225         type[group3]= "FOUR_LEVEL",
   1226         type[group4]= "ALPHABETIC",
   1227         symbols[Group1]= [               y,               Y ],
   1228         symbols[Group2]= [               t,               T,          tslash,          Tslash ],
   1229         symbols[Group3]= [          period,          exclam,          degree,        NoSymbol ],
   1230         symbols[Group4]= [               t,               T ]
   1231     };
   1232     key <AD06> {
   1233         type[group1]= "ALPHABETIC",
   1234         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1235         type[group3]= "ALPHABETIC",
   1236         type[group4]= "ALPHABETIC",
   1237         symbols[Group1]= [               f,               F ],
   1238         symbols[Group2]= [               y,               Y,       leftarrow,             yen ],
   1239         symbols[Group3]= [               h,               H ],
   1240         symbols[Group4]= [               y,               Y ]
   1241     };
   1242     key <AD07> {
   1243         type[group1]= "FOUR_LEVEL_ALPHABETIC",
   1244         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1245         type[group3]= "ALPHABETIC",
   1246         type[group4]= "ALPHABETIC",
   1247         symbols[Group1]= [               g,               G,     gcircumflex,     Gcircumflex ],
   1248         symbols[Group2]= [               u,               U,       downarrow,         uparrow ],
   1249         symbols[Group3]= [               v,               V ],
   1250         symbols[Group4]= [               u,               U ]
   1251     };
   1252     key <AD08> {
   1253         type[group1]= "FOUR_LEVEL_ALPHABETIC",
   1254         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1255         type[group3]= "FOUR_LEVEL_ALPHABETIC",
   1256         type[group4]= "ALPHABETIC",
   1257         symbols[Group1]= [               c,               C,     ccircumflex,     Ccircumflex ],
   1258         symbols[Group2]= [               i,               I,      rightarrow,        idotless ],
   1259         symbols[Group3]= [               c,               C,        ccedilla,        Ccedilla ],
   1260         symbols[Group4]= [               i,               I ]
   1261     };
   1262     key <AD09> {
   1263         type[group1]= "ALPHABETIC",
   1264         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1265         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1266         type[group4]= "ALPHABETIC",
   1267         symbols[Group1]= [               r,               R ],
   1268         symbols[Group2]= [               o,               O,          oslash,          Oslash ],
   1269         symbols[Group3]= [               m,               M,              mu,        NoSymbol ],
   1270         symbols[Group4]= [               o,               O ]
   1271     };
   1272     key <AD10> {
   1273         type[group1]= "ALPHABETIC",
   1274         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1275         type[group3]= "ALPHABETIC",
   1276         type[group4]= "ALPHABETIC",
   1277         symbols[Group1]= [               l,               L ],
   1278         symbols[Group2]= [               p,               P,           thorn,           THORN ],
   1279         symbols[Group3]= [               k,               K ],
   1280         symbols[Group4]= [               p,               P ]
   1281     };
   1282     key <AD11> {
   1283         type[group2]= "FOUR_LEVEL",
   1284         type[group3]= "ALPHABETIC",
   1285         symbols[Group1]= [           slash,        question ],
   1286         symbols[Group2]= [ dead_circumflex,  dead_diaeresis,  dead_diaeresis,  dead_abovering ],
   1287         symbols[Group3]= [               z,               Z ],
   1288         symbols[Group4]= [     bracketleft,       braceleft ]
   1289     };
   1290     key <AD12> {
   1291         type[group2]= "FOUR_LEVEL",
   1292         symbols[Group1]= [           equal,            plus ],
   1293         symbols[Group2]= [          dollar,        sterling,        currency,     dead_macron ],
   1294         symbols[Group3]= [  dead_diaeresis,       ampersand ],
   1295         symbols[Group4]= [    bracketright,      braceright ]
   1296     };
   1297     key <RTRN> {         [          Return ] };
   1298     key <LCTL> {         [       Control_L ] };
   1299     key <AC01> {
   1300         type[group1]= "ALPHABETIC",
   1301         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1302         type[group3]= "FOUR_LEVEL_ALPHABETIC",
   1303         type[group4]= "ALPHABETIC",
   1304         symbols[Group1]= [               a,               A ],
   1305         symbols[Group2]= [               q,               Q,              at,     Greek_OMEGA ],
   1306         symbols[Group3]= [               o,               O,          ograve,          Ograve ],
   1307         symbols[Group4]= [               a,               A ]
   1308     };
   1309     key <AC02> {
   1310         type[group1]= "ALPHABETIC",
   1311         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1312         type[group3]= "FOUR_LEVEL_ALPHABETIC",
   1313         type[group4]= "ALPHABETIC",
   1314         symbols[Group1]= [               o,               O ],
   1315         symbols[Group2]= [               s,               S,          ssharp,         section ],
   1316         symbols[Group3]= [               a,               A,          agrave,          Agrave ],
   1317         symbols[Group4]= [               s,               S ]
   1318     };
   1319     key <AC03> {
   1320         type[group1]= "ALPHABETIC",
   1321         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1322         type[group3]= "FOUR_LEVEL_ALPHABETIC",
   1323         type[group4]= "ALPHABETIC",
   1324         symbols[Group1]= [               e,               E ],
   1325         symbols[Group2]= [               d,               D,             eth,             ETH ],
   1326         symbols[Group3]= [               u,               U,          ugrave,          Ugrave ],
   1327         symbols[Group4]= [               d,               D ]
   1328     };
   1329     key <AC04> {
   1330         type[group1]= "FOUR_LEVEL_ALPHABETIC",
   1331         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1332         type[group3]= "FOUR_LEVEL_ALPHABETIC",
   1333         type[group4]= "ALPHABETIC",
   1334         symbols[Group1]= [               u,               U,          ubreve,          Ubreve ],
   1335         symbols[Group2]= [               f,               F,         dstroke,     ordfeminine ],
   1336         symbols[Group3]= [               e,               E,          egrave,          Egrave ],
   1337         symbols[Group4]= [               f,               F ]
   1338     };
   1339     key <AC05> {
   1340         type[group1]= "ALPHABETIC",
   1341         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1342         type[group3]= "ALPHABETIC",
   1343         type[group4]= "ALPHABETIC",
   1344         symbols[Group1]= [               i,               I ],
   1345         symbols[Group2]= [               g,               G,             eng,             ENG ],
   1346         symbols[Group3]= [               b,               B ],
   1347         symbols[Group4]= [               g,               G ]
   1348     };
   1349     key <AC06> {
   1350         type[group1]= "FOUR_LEVEL",
   1351         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1352         type[group3]= "FOUR_LEVEL",
   1353         type[group4]= "ALPHABETIC",
   1354         symbols[Group1]= [      apostrophe,        quotedbl,      dead_acute,  dead_diaeresis ],
   1355         symbols[Group2]= [               a,               A,              ae,              AE ],
   1356         symbols[Group3]= [           colon,        question,              ae,              AE ],
   1357         symbols[Group4]= [               q,               Q ]
   1358     };
   1359     key <AC07> {
   1360         type[group1]= "FOUR_LEVEL",
   1361         type[group2]= "FOUR_LEVEL",
   1362         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1363         symbols[Group1]= [               6,     asciicircum, dead_circumflex, dead_circumflex ],
   1364         symbols[Group2]= [           minus,               6,             bar,     fiveeighths ],
   1365         symbols[Group3]= [ dead_circumflex,               6,        NoSymbol,        NoSymbol ],
   1366         symbols[Group4]= [               6,     asciicircum ]
   1367     };
   1368     key <AC08> {
   1369         type[group1]= "FOUR_LEVEL",
   1370         type[group2]= "FOUR_LEVEL",
   1371         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1372         symbols[Group1]= [               9,       parenleft,      dead_grave,        NoSymbol ],
   1373         symbols[Group2]= [        ccedilla,               9,     asciicircum,       plusminus ],
   1374         symbols[Group3]= [      parenright,               9,        NoSymbol,        NoSymbol ],
   1375         symbols[Group4]= [               9,       parenleft ]
   1376     };
   1377     key <AC06> {
   1378         type[group1]= "FOUR_LEVEL",
   1379         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1380         type[group3]= "FOUR_LEVEL",
   1381         type[group4]= "ALPHABETIC",
   1382         symbols[Group1]= [               d,               D, dead_acute, dead_acute ],
   1383         symbols[Group2]= [               h,               H,         hstroke,         Hstroke ],
   1384         symbols[Group3]= [               f,               F, dead_grave, dead_grave ],
   1385         symbols[Group4]= [               h,               H ]
   1386     };
   1387     key <AC07> {
   1388         type[group1]= "FOUR_LEVEL",
   1389         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1390         type[group3]= "FOUR_LEVEL",
   1391         type[group4]= "ALPHABETIC",
   1392         symbols[Group1]= [               h,               H,     dead_acute, dead_acute ],
   1393         symbols[Group2]= [               j,               J,               j,               J ],
   1394         symbols[Group3]= [               s,               S,   dead_acute,        dead_acute ],
   1395         symbols[Group4]= [               j,               J ]
   1396     };
   1397     key <AC08> {
   1398         type[group1]= "FOUR_LEVEL_ALPHABETIC",
   1399         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1400         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1401         type[group4]= "ALPHABETIC",
   1402         symbols[Group1]= [               t,               T , dead_circumflex, dead_circumflex],
   1403         symbols[Group2]= [               k,               K,             kra,       ampersand ],
   1404         symbols[Group3]= [               t,               T , dead_circumflex, dead_circumflex],
   1405         symbols[Group4]= [               k,               K ]
   1406     };
   1407     key <AC09> {
   1408         type[group1]= "FOUR_LEVEL_ALPHABETIC",
   1409         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1410         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1411         type[group4]= "ALPHABETIC",
   1412         symbols[Group1]= [               n,               N, dead_grave, dead_grave ],
   1413         symbols[Group2]= [               l,               L,         lstroke,         Lstroke ],
   1414         symbols[Group3]= [               n,               N,  dead_grave,        dead_grave ],
   1415         symbols[Group4]= [               l,               L ]
   1416     };
   1417     key <AC10> {
   1418         type[group1]= "FOUR_LEVEL_ALPHABETIC",
   1419         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1420         type[group3]= "ALPHABETIC",
   1421         symbols[Group1]= [               s,               S,     scircumflex,     Scircumflex ],
   1422         symbols[Group2]= [               m,               M,              mu,       masculine ],
   1423         symbols[Group3]= [               d,               D ],
   1424         symbols[Group4]= [       semicolon,           colon ]
   1425     };
   1426     key <AC11> {
   1427         type[group2]= "FOUR_LEVEL",
   1428         type[group3]= "ALPHABETIC",
   1429         symbols[Group1]= [           minus,      underscore ],
   1430         symbols[Group2]= [          ugrave,         percent, dead_circumflex,      dead_caron ],
   1431         symbols[Group3]= [               w,               W ],
   1432         symbols[Group4]= [      apostrophe,        quotedbl ]
   1433     };
   1434     key <TLDE> {
   1435         type[group1]= "FOUR_LEVEL",
   1436         type[group2]= "FOUR_LEVEL",
   1437         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1438         symbols[Group1]= [           grave,      asciitilde,      dead_grave,      dead_tilde ],
   1439         symbols[Group2]= [     twosuperior,      asciitilde,         notsign,         notsign ],
   1440         symbols[Group3]= [      underscore,        asterisk,        NoSymbol,        NoSymbol ],
   1441         symbols[Group4]= [           grave,      asciitilde ]
   1442     };
   1443     key <LFSH> {         [         Shift_L ] };
   1444     key <BKSL> {
   1445         type[group2]= "FOUR_LEVEL",
   1446         symbols[Group1]= [       backslash,             bar ],
   1447         symbols[Group2]= [        asterisk,              mu,      dead_grave,      dead_breve ],
   1448         symbols[Group3]= [      asciitilde,      numbersign ],
   1449         symbols[Group4]= [       backslash,             bar ]
   1450     };
   1451     key <AB01> {
   1452         type[group1]= "FOUR_LEVEL",
   1453         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1454         type[group3]= "FOUR_LEVEL_PLUS_LOCK",
   1455         type[group4]= "ALPHABETIC",
   1456         symbols[Group1]= [       semicolon,           colon,     dead_ogonek, dead_doubleacute ],
   1457         symbols[Group2]= [               w,               W,         lstroke,         Lstroke ],
   1458         symbols[Group3]= [       semicolon,             bar,              oe,              OE,           minus ],
   1459         symbols[Group4]= [               z,               Z ]
   1460     };
   1461     key <AB02> {
   1462         type[group1]= "ALPHABETIC",
   1463         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1464         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1465         type[group4]= "ALPHABETIC",
   1466         symbols[Group1]= [               q,               Q ],
   1467         symbols[Group2]= [               x,               X,  guillemotright,         greater ],
   1468         symbols[Group3]= [               q,               Q,       braceleft,        NoSymbol ],
   1469         symbols[Group4]= [               x,               X ]
   1470     };
   1471     key <AB03> {
   1472         type[group1]= "FOUR_LEVEL_ALPHABETIC",
   1473         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1474         type[group3]= "FOUR_LEVEL",
   1475         type[group4]= "ALPHABETIC",
   1476         symbols[Group1]= [               j,               J,     jcircumflex,     Jcircumflex ],
   1477         symbols[Group2]= [               c,               C,            cent,       copyright ],
   1478         symbols[Group3]= [           comma,              at,      braceright,        NoSymbol ],
   1479         symbols[Group4]= [               c,               C ]
   1480     };
   1481     key <AB04> {
   1482         type[group1]= "ALPHABETIC",
   1483         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1484         type[group3]= "FOUR_LEVEL_ALPHABETIC",
   1485         type[group4]= "ALPHABETIC",
   1486         symbols[Group1]= [               k,               K ],
   1487         symbols[Group2]= [               v,               V, leftdoublequotemark, leftsinglequotemark ],
   1488         symbols[Group3]= [               i,               I,          igrave,          Igrave ],
   1489         symbols[Group4]= [               v,               V ]
   1490     };
   1491     key <AB05> {
   1492         type[group1]= "ALPHABETIC",
   1493         type[group2]= "FOUR_LEVEL_SEMIALPHABETIC",
   1494         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1495         type[group4]= "ALPHABETIC",
   1496         symbols[Group1]= [               x,               X ],
   1497         symbols[Group2]= [               b,               B, rightdoublequotemark, rightsinglequotemark ],
   1498         symbols[Group3]= [               y,               Y,        sterling,        NoSymbol ],
   1499         symbols[Group4]= [               b,               B ]
   1500     };
   1501     key <AB06> {
   1502         type[group1]= "ALPHABETIC",
   1503         type[group2]= "FOUR_LEVEL_ALPHABETIC",
   1504         type[group3]= "ALPHABETIC",
   1505         type[group4]= "ALPHABETIC",
   1506         symbols[Group1]= [               b,               B ],
   1507         symbols[Group2]= [               n,               N,               n,               N ],
   1508         symbols[Group3]= [               x,               X ],
   1509         symbols[Group4]= [               n,               N ]
   1510     };
   1511     key <AB07> {
   1512         type[group1]= "ALPHABETIC",
   1513         type[group2]= "FOUR_LEVEL",
   1514         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1515         type[group4]= "ALPHABETIC",
   1516         symbols[Group1]= [               m,               M ],
   1517         symbols[Group2]= [           comma,        question,      dead_acute, dead_doubleacute ],
   1518         symbols[Group3]= [               r,               R,       masculine,        NoSymbol ],
   1519         symbols[Group4]= [               m,               M ]
   1520     };
   1521     key <AB08> {
   1522         type[group1]= "ALPHABETIC",
   1523         type[group2]= "FOUR_LEVEL",
   1524         type[group3]= "ALPHABETIC",
   1525         symbols[Group1]= [               w,               W ],
   1526         symbols[Group2]= [       semicolon,          period,  horizconnector,        multiply ],
   1527         symbols[Group3]= [               l,               L ],
   1528         symbols[Group4]= [           comma,            less ]
   1529     };
   1530     key <AB09> {
   1531         type[group1]= "ALPHABETIC",
   1532         type[group2]= "FOUR_LEVEL",
   1533         type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
   1534         symbols[Group1]= [               v,               V ],
   1535         symbols[Group2]= [           colon,           slash,  periodcentered,        division ],
   1536         symbols[Group3]= [               p,               P,         section,        NoSymbol ],
   1537         symbols[Group4]= [          period,         greater ]
   1538     };
   1539     key <AB10> {
   1540         type[group1]= "ALPHABETIC",
   1541         type[group2]= "FOUR_LEVEL",
   1542         type[group3]= "ALPHABETIC",
   1543         symbols[Group1]= [               z,               Z ],
   1544         symbols[Group2]= [          exclam,         section,   dead_belowdot,   dead_abovedot ],
   1545         symbols[Group3]= [               j,               J ],
   1546         symbols[Group4]= [           slash,        question ]
   1547     };
   1548     key <RTSH> {         [         Shift_R ] };
   1549     key <KPMU> {
   1550         type= "CTRL+ALT",
   1551         symbols[Group1]= [     KP_Multiply,  KP_Multiply ]
   1552     };
   1553     key <LALT> {
   1554         type= "PC_RALT_LEVEL2",
   1555         symbols[Group1]= [           Alt_L,  ISO_Prev_Group ]
   1556     };
   1557     key <SPCE> {
   1558         type[group1]= "LOCAL_EIGHT_LEVEL",
   1559         type[group3]= "FOUR_LEVEL",
   1560         symbols[Group1]= [           space,           space,           space,    nobreakspace,           space,           U202F,        NoSymbol,        NoSymbol ],
   1561         symbols[Group2]= [           space,           space ],
   1562         symbols[Group3]= [           space,           space,    nobreakspace,    nobreakspace ]
   1563     };
   1564     key <CAPS> {
   1565         type= "TWO_LEVEL",
   1566         symbols[Group1]= [       Multi_key,       Multi_key ]
   1567     };
   1568     key <FK01> {
   1569         type= "CTRL+ALT",
   1570         symbols[Group1]= [              F1, XF86_Switch_VT_1 ]
   1571     };
   1572     key <FK02> {
   1573         type= "CTRL+ALT",
   1574         symbols[Group1]= [              F2, XF86_Switch_VT_2 ]
   1575     };
   1576     key <FK03> {
   1577         type= "CTRL+ALT",
   1578         symbols[Group1]= [              F3, XF86_Switch_VT_3 ]
   1579     };
   1580     key <FK04> {
   1581         type= "CTRL+ALT",
   1582         symbols[Group1]= [              F4, XF86_Switch_VT_4 ]
   1583     };
   1584     key <FK05> {
   1585         type= "CTRL+ALT",
   1586         symbols[Group1]= [              F5, XF86_Switch_VT_5 ]
   1587     };
   1588     key <FK06> {
   1589         type= "CTRL+ALT",
   1590         symbols[Group1]= [              F6, XF86_Switch_VT_6 ]
   1591     };
   1592     key <FK07> {
   1593         type= "CTRL+ALT",
   1594         symbols[Group1]= [              F7, XF86_Switch_VT_7 ]
   1595     };
   1596     key <FK08> {
   1597         type= "CTRL+ALT",
   1598         symbols[Group1]= [              F8, XF86_Switch_VT_8 ]
   1599     };
   1600     key <FK09> {
   1601         type= "CTRL+ALT",
   1602         symbols[Group1]= [              F9, XF86_Switch_VT_9 ]
   1603     };
   1604     key <FK10> {
   1605         type= "CTRL+ALT",
   1606         symbols[Group1]= [             F10, XF86_Switch_VT_10 ]
   1607     };
   1608     key <NMLK> {         [        Num_Lock, Pointer_EnableKeys ] };
   1609     key <SCLK> {         [     Scroll_Lock ] };
   1610     key  <KP7> {         [         KP_Home,            KP_7 ] };
   1611     key  <KP8> {         [           KP_Up,            KP_8 ] };
   1612     key  <KP9> {         [        KP_Prior,            KP_9 ] };
   1613     key <KPSU> {
   1614         type= "CTRL+ALT",
   1615         symbols[Group1]= [     KP_Subtract, XF86_Prev_VMode ]
   1616     };
   1617     key  <KP4> {         [         KP_Left,            KP_4 ] };
   1618     key  <KP5> {         [        KP_Begin,            KP_5 ] };
   1619     key  <KP6> {         [        KP_Right,            KP_6 ] };
   1620     key <KPAD> {
   1621         type= "CTRL+ALT",
   1622         symbols[Group1]= [          KP_Add, XF86_Next_VMode ]
   1623     };
   1624     key  <KP1> {         [          KP_End,            KP_1 ] };
   1625     key  <KP2> {         [         KP_Down,            KP_2 ] };
   1626     key  <KP3> {         [         KP_Next,            KP_3 ] };
   1627     key  <KP0> {         [       KP_Insert,            KP_0 ] };
   1628     key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
   1629     key <LVL3> {         [ ISO_Level3_Shift ] };
   1630     key <LSGT> {
   1631         type[group1]= "FOUR_LEVEL",
   1632         type[group2]= "FOUR_LEVEL",
   1633         type[group3]= "FOUR_LEVEL_PLUS_LOCK",
   1634         symbols[Group1]= [            less,         greater,             bar,       brokenbar ],
   1635         symbols[Group2]= [            less,         greater,             bar,       brokenbar ],
   1636         symbols[Group3]= [          agrave,        ccedilla,          Agrave,        Ccedilla,           slash ]
   1637     };
   1638     key <FK11> {
   1639         type= "CTRL+ALT",
   1640         symbols[Group1]= [             F11, XF86_Switch_VT_11 ]
   1641     };
   1642     key <FK12> {
   1643         type= "CTRL+ALT",
   1644         symbols[Group1]= [             F12, XF86_Switch_VT_12 ]
   1645     };
   1646     key <KATA> {         [        Katakana ] };
   1647     key <HIRA> {         [        Hiragana ] };
   1648     key <HENK> {         [     Henkan_Mode ] };
   1649     key <HKTG> {         [ Hiragana_Katakana ] };
   1650     key <MUHE> {         [        Muhenkan ] };
   1651     key <KPEN> {         [        KP_Enter ] };
   1652     key <RCTL> {         [       Control_R ] };
   1653     key <KPDV> {
   1654         type= "CTRL+ALT",
   1655         symbols[Group1]= [       KP_Divide,     KP_Divide ]
   1656     };
   1657     key <PRSC> {
   1658         type= "PC_ALT_LEVEL2",
   1659         symbols[Group1]= [           Print,         Sys_Req ]
   1660     };
   1661     key <RALT> {
   1662         type[group1]= "PC_LALT_LEVEL2",
   1663         type[group2]= "PC_ALT_LEVEL2",
   1664         type[group3]= "PC_ALT_LEVEL2",
   1665         type[group4]= "PC_ALT_LEVEL2",
   1666         symbols[Group1]= [ ISO_Level3_Shift,  ISO_Next_Group ],
   1667         symbols[Group2]= [ ISO_Level3_Shift,  ISO_Next_Group ],
   1668         symbols[Group3]= [ ISO_Level3_Shift,  ISO_Next_Group ],
   1669         symbols[Group4]= [ ISO_Level3_Shift,  ISO_Next_Group ]
   1670     };
   1671     key <LNFD> {         [        Linefeed ] };
   1672     key <HOME> {         [            Home ] };
   1673     key   <UP> {         [              Up ] };
   1674     key <PGUP> {         [           Prior ] };
   1675     key <LEFT> {         [            Left ] };
   1676     key <RGHT> {         [           Right ] };
   1677     key  <END> {         [             End ] };
   1678     key <DOWN> {         [            Down ] };
   1679     key <PGDN> {         [            Next ] };
   1680     key  <INS> {         [          Insert ] };
   1681     key <DELE> {         [          Delete ] };
   1682     key <MUTE> {         [   XF86AudioMute ] };
   1683     key <VOL-> {         [ XF86AudioLowerVolume ] };
   1684     key <VOL+> {         [ XF86AudioRaiseVolume ] };
   1685     key <POWR> {         [    XF86PowerOff ] };
   1686     key <KPEQ> {         [        KP_Equal ] };
   1687     key <I126> {         [       plusminus ] };
   1688     key <PAUS> {
   1689         type= "PC_CONTROL_LEVEL2",
   1690         symbols[Group1]= [           Pause,           Break ]
   1691     };
   1692     key <I128> {         [     XF86LaunchA ] };
   1693     key <I129> {         [      KP_Decimal ] };
   1694     key <HNGL> {         [          Hangul ] };
   1695     key <HJCV> {         [    Hangul_Hanja ] };
   1696     key <LWIN> {         [         Super_L ] };
   1697     key <RWIN> {         [         Super_R ] };
   1698     key <COMP> {         [            Menu ] };
   1699     key <STOP> {         [          Cancel ] };
   1700     key <AGAI> {         [            Redo ] };
   1701     key <PROP> {         [        SunProps ] };
   1702     key <UNDO> {         [            Undo ] };
   1703     key <FRNT> {         [        SunFront ] };
   1704     key <COPY> {         [        XF86Copy ] };
   1705     key <OPEN> {         [         SunOpen ] };
   1706     key <PAST> {         [       XF86Paste ] };
   1707     key <FIND> {         [            Find ] };
   1708     key  <CUT> {         [         XF86Cut ] };
   1709     key <HELP> {         [            Help ] };
   1710     key <I147> {         [      XF86MenuKB ] };
   1711     key <I148> {         [  XF86Calculator ] };
   1712     key <I150> {         [       XF86Sleep ] };
   1713     key <I151> {         [      XF86WakeUp ] };
   1714     key <I152> {         [    XF86Explorer ] };
   1715     key <I153> {         [        XF86Send ] };
   1716     key <I155> {         [        XF86Xfer ] };
   1717     key <I156> {         [     XF86Launch1 ] };
   1718     key <I157> {         [     XF86Launch2 ] };
   1719     key <I158> {         [         XF86WWW ] };
   1720     key <I159> {         [         XF86DOS ] };
   1721     key <I160> {         [ XF86ScreenSaver ] };
   1722     key <I162> {         [ XF86RotateWindows ] };
   1723     key <I163> {         [        XF86Mail ] };
   1724     key <I164> {         [   XF86Favorites ] };
   1725     key <I165> {         [  XF86MyComputer ] };
   1726     key <I166> {         [        XF86Back ] };
   1727     key <I167> {         [     XF86Forward ] };
   1728     key <I169> {         [       XF86Eject ] };
   1729     key <I170> {         [       XF86Eject,       XF86Eject ] };
   1730     key <I171> {         [   XF86AudioNext ] };
   1731     key <I172> {         [   XF86AudioPlay,  XF86AudioPause ] };
   1732     key <I173> {         [   XF86AudioPrev ] };
   1733     key <I174> {         [   XF86AudioStop,       XF86Eject ] };
   1734     key <I175> {         [ XF86AudioRecord ] };
   1735     key <I176> {         [ XF86AudioRewind ] };
   1736     key <I177> {         [       XF86Phone ] };
   1737     key <I179> {         [       XF86Tools ] };
   1738     key <I180> {         [    XF86HomePage ] };
   1739     key <I181> {         [      XF86Reload ] };
   1740     key <I182> {         [       XF86Close ] };
   1741     key <I185> {         [    XF86ScrollUp ] };
   1742     key <I186> {         [  XF86ScrollDown ] };
   1743     key <I187> {         [       parenleft ] };
   1744     key <I188> {         [      parenright ] };
   1745     key <I189> {         [         XF86New ] };
   1746     key <I190> {         [            Redo ] };
   1747     key <FK13> {         [       XF86Tools ] };
   1748     key <FK14> {         [     XF86Launch5 ] };
   1749     key <FK15> {         [      XF86MenuKB ] };
   1750     key <FK22> {         [ XF86TouchpadToggle ] };
   1751     key <MDSW> {         [     Mode_switch ] };
   1752     key  <ALT> {         [        NoSymbol,           Alt_L ] };
   1753     key <META> {         [        NoSymbol,          Meta_L ] };
   1754     key <SUPR> {         [        NoSymbol,         Super_L ] };
   1755     key <HYPR> {         [        NoSymbol,         Hyper_L ] };
   1756     key <I208> {         [   XF86AudioPlay ] };
   1757     key <I209> {         [  XF86AudioPause ] };
   1758     key <I210> {         [     XF86Launch3 ] };
   1759     key <I211> {         [     XF86Launch4 ] };
   1760     key <I212> {         [     XF86LaunchB ] };
   1761     key <I213> {         [     XF86Suspend ] };
   1762     key <I214> {         [       XF86Close ] };
   1763     key <I215> {         [   XF86AudioPlay ] };
   1764     key <I216> {         [ XF86AudioForward ] };
   1765     key <I218> {         [           Print ] };
   1766     key <I220> {         [      XF86WebCam ] };
   1767     key <I223> {         [        XF86Mail ] };
   1768     key <I225> {         [      XF86Search ] };
   1769     key <I227> {         [     XF86Finance ] };
   1770     key <I229> {         [        XF86Shop ] };
   1771     key <I231> {         [          Cancel ] };
   1772     key <I232> {         [ XF86MonBrightnessDown ] };
   1773     key <I233> {         [ XF86MonBrightnessUp ] };
   1774     key <I234> {         [  XF86AudioMedia ] };
   1775     key <I235> {         [     XF86Display ] };
   1776     key <I236> {         [ XF86KbdLightOnOff ] };
   1777     key <I237> {         [ XF86KbdBrightnessDown ] };
   1778     key <I238> {         [ XF86KbdBrightnessUp ] };
   1779     key <I239> {         [        XF86Send ] };
   1780     key <I240> {         [       XF86Reply ] };
   1781     key <I241> {         [ XF86MailForward ] };
   1782     key <I242> {         [        XF86Save ] };
   1783     key <I243> {         [   XF86Documents ] };
   1784     key <I244> {         [     XF86Battery ] };
   1785     key <I245> {         [   XF86Bluetooth ] };
   1786     key <I246> {         [        XF86WLAN ] };
   1787     modifier_map Control { <LCTL> };
   1788     modifier_map Shift { <LFSH> };
   1789     modifier_map Shift { <RTSH> };
   1790     modifier_map Mod1 { <LALT> };
   1791     modifier_map Mod2 { <NMLK> };
   1792     modifier_map Mod5 { <LVL3> };
   1793     modifier_map Control { <RCTL> };
   1794     modifier_map Mod4 { <LWIN> };
   1795     modifier_map Mod4 { <RWIN> };
   1796     modifier_map Mod5 { <MDSW> };
   1797     modifier_map Mod1 { <META> };
   1798     modifier_map Mod4 { <SUPR> };
   1799     modifier_map Mod4 { <HYPR> };
   1800 };
   1801 
   1802 xkb_geometry "pc(pc105)" {
   1803 
   1804     width=       470;
   1805     height=      180;
   1806 
   1807     alias <AC00> = <CAPS>;
   1808     alias <AA00> = <LCTL>;
   1809 
   1810     baseColor=   "white";
   1811     labelColor=  "black";
   1812     xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
   1813     description= "Generic 105";
   1814 
   1815     shape "NORM" {
   1816         corner= 1,
   1817         { [  18,  18 ] },
   1818         { [   2,   1 ], [  16,  16 ] }
   1819     };
   1820     shape "BKSP" {
   1821         corner= 1,
   1822         { [  38,  18 ] },
   1823         { [   2,   1 ], [  36,  16 ] }
   1824     };
   1825     shape "TABK" {
   1826         corner= 1,
   1827         { [  28,  18 ] },
   1828         { [   2,   1 ], [  26,  16 ] }
   1829     };
   1830     shape "BKSL" {
   1831         corner= 1,
   1832         { [  28,  18 ] },
   1833         { [   2,   1 ], [  26,  16 ] }
   1834     };
   1835     shape "RTRN" {
   1836         corner= 1,
   1837         { [  42,  18 ] },
   1838         { [   2,   1 ], [  40,  16 ] }
   1839     };
   1840     shape "CAPS" {
   1841         corner= 1,
   1842         { [  33,  18 ] },
   1843         { [   2,   1 ], [  31,  16 ] }
   1844     };
   1845     shape "LFSH" {
   1846         corner= 1,
   1847         { [  25,  18 ] },
   1848         { [   2,   1 ], [  23,  16 ] }
   1849     };
   1850     shape "RTSH" {
   1851         corner= 1,
   1852         { [  50,  18 ] },
   1853         { [   2,   1 ], [  50,  16 ] }
   1854     };
   1855     shape "MODK" {
   1856         corner= 1,
   1857         { [  27,  18 ] },
   1858         { [   2,   1 ], [  25,  16 ] }
   1859     };
   1860     shape "SMOD" {
   1861         corner= 1,
   1862         { [  23,  18 ] },
   1863         { [   2,   1 ], [  21,  16 ] }
   1864     };
   1865     shape "SPCE" {
   1866         corner= 1,
   1867         { [ 113,  18 ] },
   1868         { [   2,   1 ], [ 111,  16 ] }
   1869     };
   1870     shape "KP0" {
   1871         corner= 1,
   1872         { [  37,  18 ] },
   1873         { [   2,   1 ], [  35,  16 ] }
   1874     };
   1875     shape "KPAD" {
   1876         corner= 1,
   1877         { [  18,  37 ] },
   1878         { [   2,   1 ], [  16,  35 ] }
   1879     };
   1880     shape "LEDS" { { [  75,  20 ] } };
   1881     shape "LED" { { [   5,   1 ] } };
   1882     section "Function" {
   1883         key.color= "grey20";
   1884         priority=  7;
   1885         top=       22;
   1886         left=      19;
   1887         width=     351;
   1888         height=    19;
   1889         row {
   1890             top=  1;
   1891             left= 1;
   1892             keys {
   1893                 {  <ESC>, "NORM",   1 },
   1894                 { <FK01>, "NORM",  20, color="white" },
   1895                 { <FK02>, "NORM",   1, color="white" },
   1896                 { <FK03>, "NORM",   1, color="white" },
   1897                 { <FK04>, "NORM",   1, color="white" },
   1898                 { <FK05>, "NORM",  11, color="white" },
   1899                 { <FK06>, "NORM",   1, color="white" },
   1900                 { <FK07>, "NORM",   1, color="white" },
   1901                 { <FK08>, "NORM",   1, color="white" },
   1902                 { <FK09>, "NORM",  11, color="white" },
   1903                 { <FK10>, "NORM",   1, color="white" },
   1904                 { <FK11>, "NORM",   1, color="white" },
   1905                 { <FK12>, "NORM",   1, color="white" },
   1906                 { <PRSC>, "NORM",   8, color="white" },
   1907                 { <SCLK>, "NORM",   1, color="white" },
   1908                 { <PAUS>, "NORM",   1, color="white" }
   1909             };
   1910         };
   1911     }; // End of "Function" section
   1912 
   1913     section "Alpha" {
   1914         key.color= "white";
   1915         priority=  8;
   1916         top=       61;
   1917         left=      19;
   1918         width=     287;
   1919         height=    95;
   1920         row {
   1921             top=  1;
   1922             left= 1;
   1923             keys {
   1924                 { <TLDE>, "NORM",   1 }, { <AE01>, "NORM",   1 },
   1925                 { <AE02>, "NORM",   1 }, { <AE03>, "NORM",   1 },
   1926                 { <AE04>, "NORM",   1 }, { <AE05>, "NORM",   1 },
   1927                 { <AE06>, "NORM",   1 }, { <AE07>, "NORM",   1 },
   1928                 { <AE08>, "NORM",   1 }, { <AE09>, "NORM",   1 },
   1929                 { <AE10>, "NORM",   1 }, { <AE11>, "NORM",   1 },
   1930                 { <AE12>, "NORM",   1 },
   1931                 { <BKSP>, "BKSP",   1, color="grey20" }
   1932             };
   1933         };
   1934         row {
   1935             top=  20;
   1936             left= 1;
   1937             keys {
   1938                 {  <TAB>, "TABK",   1, color="grey20" },
   1939                 { <AD01>, "NORM",   1 }, { <AD02>, "NORM",   1 },
   1940                 { <AD03>, "NORM",   1 }, { <AD04>, "NORM",   1 },
   1941                 { <AD05>, "NORM",   1 }, { <AD06>, "NORM",   1 },
   1942                 { <AD07>, "NORM",   1 }, { <AD08>, "NORM",   1 },
   1943                 { <AD09>, "NORM",   1 }, { <AD10>, "NORM",   1 },
   1944                 { <AD11>, "NORM",   1 }, { <AD12>, "NORM",   1 },
   1945                 { <BKSL>, "BKSL",   1 }
   1946             };
   1947         };
   1948         row {
   1949             top=  39;
   1950             left= 1;
   1951             keys {
   1952                 { <CAPS>, "CAPS",   1, color="grey20" },
   1953                 { <AC01>, "NORM",   1 }, { <AC02>, "NORM",   1 },
   1954                 { <AC03>, "NORM",   1 }, { <AC04>, "NORM",   1 },
   1955                 { <AC05>, "NORM",   1 }, { <AC06>, "NORM",   1 },
   1956                 { <AC07>, "NORM",   1 }, { <AC08>, "NORM",   1 },
   1957                 { <AC09>, "NORM",   1 }, { <AC10>, "NORM",   1 },
   1958                 { <AC11>, "NORM",   1 },
   1959                 { <RTRN>, "RTRN",   1, color="grey20" }
   1960             };
   1961         };
   1962         row {
   1963             top=  58;
   1964             left= 1;
   1965             keys {
   1966                 { <LFSH>, "LFSH",   1, color="grey20" },
   1967                 { <LSGT>, "NORM",   1 }, { <AB01>, "NORM",   1 },
   1968                 { <AB02>, "NORM",   1 }, { <AB03>, "NORM",   1 },
   1969                 { <AB04>, "NORM",   1 }, { <AB05>, "NORM",   1 },
   1970                 { <AB06>, "NORM",   1 }, { <AB07>, "NORM",   1 },
   1971                 { <AB08>, "NORM",   1 }, { <AB09>, "NORM",   1 },
   1972                 { <AB10>, "NORM",   1 },
   1973                 { <RTSH>, "RTSH",   1, color="grey20" }
   1974             };
   1975         };
   1976         row {
   1977             top=  77;
   1978             left= 1;
   1979             keys {
   1980                 { <LCTL>, "MODK",   1, color="grey20" },
   1981                 { <LWIN>, "SMOD",   1, color="grey20" },
   1982                 { <LALT>, "SMOD",   1, color="grey20" },
   1983                 { <SPCE>, "SPCE",   1 },
   1984                 { <RALT>, "SMOD",   1, color="grey20" },
   1985                 { <RWIN>, "SMOD",   1, color="grey20" },
   1986                 { <MENU>, "SMOD",   1, color="grey20" },
   1987                 { <RCTL>, "SMOD",   1, color="grey20" }
   1988             };
   1989         };
   1990     }; // End of "Alpha" section
   1991 
   1992     section "Editing" {
   1993         key.color= "grey20";
   1994         priority=  9;
   1995         top=       61;
   1996         left=      312;
   1997         width=     58;
   1998         height=    95;
   1999         row {
   2000             top=  1;
   2001             left= 1;
   2002             keys {
   2003                 {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },
   2004                 { <PGUP>, "NORM",   1 }
   2005             };
   2006         };
   2007         row {
   2008             top=  20;
   2009             left= 1;
   2010             keys {
   2011                 { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },
   2012                 { <PGDN>, "NORM",   1 }
   2013             };
   2014         };
   2015         row {
   2016             top=  58;
   2017             left= 20;
   2018             keys {
   2019                 {   <UP>, "NORM",   1 }
   2020             };
   2021         };
   2022         row {
   2023             top=  77;
   2024             left= 1;
   2025             keys {
   2026                 { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },
   2027                 { <RGHT>, "NORM",   1 }
   2028             };
   2029         };
   2030     }; // End of "Editing" section
   2031 
   2032     section "Keypad" {
   2033         key.color= "grey20";
   2034         priority=  10;
   2035         top=       61;
   2036         left=      376;
   2037         width=     77;
   2038         height=    95;
   2039         row {
   2040             top=  1;
   2041             left= 1;
   2042             keys {
   2043                 { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },
   2044                 { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }
   2045             };
   2046         };
   2047         row {
   2048             top=  20;
   2049             left= 1;
   2050             keys {
   2051                 {  <KP7>, "NORM",   1, color="white" },
   2052                 {  <KP8>, "NORM",   1, color="white" },
   2053                 {  <KP9>, "NORM",   1, color="white" },
   2054                 { <KPAD>, "KPAD",   1 }
   2055             };
   2056         };
   2057         row {
   2058             top=  39;
   2059             left= 1;
   2060             keys {
   2061                 {  <KP4>, "NORM",   1, color="white" },
   2062                 {  <KP5>, "NORM",   1, color="white" },
   2063                 {  <KP6>, "NORM",   1, color="white" }
   2064             };
   2065         };
   2066         row {
   2067             top=  58;
   2068             left= 1;
   2069             keys {
   2070                 {  <KP1>, "NORM",   1, color="white" },
   2071                 {  <KP2>, "NORM",   1, color="white" },
   2072                 {  <KP3>, "NORM",   1, color="white" },
   2073                 { <KPEN>, "KPAD",   1 }
   2074             };
   2075         };
   2076         row {
   2077             top=  77;
   2078             left= 1;
   2079             keys {
   2080                 {  <KP0>, "KP0",   1, color="white" },
   2081                 { <KPDL>, "NORM",   1, color="white" }
   2082             };
   2083         };
   2084     }; // End of "Keypad" section
   2085 
   2086     solid "LedPanel" {
   2087         top=      22;
   2088         left=     377;
   2089         priority= 0;
   2090         color= "grey10";
   2091         shape= "LEDS";
   2092     };
   2093     indicator "Num Lock" {
   2094         top=      37;
   2095         left=     382;
   2096         priority= 1;
   2097         onColor= "green";
   2098         offColor= "green30";
   2099         shape= "LED";
   2100     };
   2101     indicator "Caps Lock" {
   2102         top=      37;
   2103         left=     407;
   2104         priority= 2;
   2105         onColor= "green";
   2106         offColor= "green30";
   2107         shape= "LED";
   2108     };
   2109     indicator "Scroll Lock" {
   2110         top=      37;
   2111         left=     433;
   2112         priority= 3;
   2113         onColor= "green";
   2114         offColor= "green30";
   2115         shape= "LED";
   2116     };
   2117     text "NumLockLabel" {
   2118         top=      25;
   2119         left=     378;
   2120         priority= 4;
   2121         width=  19.8;
   2122         height=  10;
   2123         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
   2124         text=  "Num\nLock";
   2125     };
   2126     text "CapsLockLabel" {
   2127         top=      25;
   2128         left=     403;
   2129         priority= 5;
   2130         width=  26.4;
   2131         height=  10;
   2132         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
   2133         text=  "Caps\nLock";
   2134     };
   2135     text "ScrollLockLabel" {
   2136         top=      25;
   2137         left=     428;
   2138         priority= 6;
   2139         width=  39.6;
   2140         height=  10;
   2141         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
   2142         text=  "Scroll\nLock";
   2143     };
   2144 };
   2145 
   2146 };