SHARE
TWEET

Untitled

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