[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#650637: x11-xkb-utils: setxkbmap -layout us -variant intl doesn't work properly with accent dead keys (`, ', ~, ", ^, etc)



Control: tag -1 moreinfo

Hi,

Sorry for the lack of replies for 10(!) years.  Is this still an issue?

(The xkbcomp output below look sensible so I don't know why the dead
keys wouldn't actually work...)

Cheers,
Julien

On Fri, Dec 02, 2011 at 11:27:41AM +0200, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Dec 01, 2011 at 07:30:47PM +0100, Julien Cristau wrote:
> > On Thu, Dec  1, 2011 at 17:28:09 +0200, Felipe Balbi wrote:
> > 
> > > Package: x11-xkb-utils
> > > Version: 7.6+4
> > > Severity: important
> > > 
> > > Dear Maintainer,
> > > 
> > >    * What led up to the situation?
> > > 
> > > 	A recent dist-upgrade (couple of days ago)
> > > 
> > >    * What exactly did you do (or not do) that was effective (or
> > >      ineffective)?
> > > 
> > > 	setxkbmap -layout us -variant intl didn't work at all. Now
> > > 	I either don't support for áéíóú characters or I need to hold
> > > 	AltGr key for those, but US International layout is supposed
> > > 	to support diacritics by treating `'^ keys as dead keys.
> > > 
> > >    * What was the outcome of this action?
> > > 
> > > 	No accentuated keys supported.
> > > 
> > >    * What outcome did you expect instead?
> > > 
> > > 	áéíóú were supposed to come out by pressing ' followed by
> > > 	a vowel
> > > 
> > Please attach the full X log.
> > 
> > What does 'xkbcomp $DISPLAY -' output before/after running setxkbmap?
> 
> attached all files. I took the liberty of checking the diff of xkbcomp
> output:
> 
> --- xkbcomp-before.txt	2011-12-02 11:26:01.000000000 +0200
> +++ xkbcomp-after.txt	2011-12-02 11:26:16.000000000 +0200
> @@ -1074,141 +1074,204 @@ xkb_compatibility "complete" {
>      };
>  };
>  
> -xkb_symbols "pc+us+inet(evdev)" {
> +xkb_symbols "pc+us(intl)+inet(evdev)" {
>  
>      name[group1]="USA";
>  
>      key  <ESC> {         [          Escape ] };
> -    key <AE01> {         [               1,          exclam ] };
> -    key <AE02> {         [               2,              at ] };
> -    key <AE03> {         [               3,      numbersign ] };
> -    key <AE04> {         [               4,          dollar ] };
> -    key <AE05> {         [               5,         percent ] };
> -    key <AE06> {         [               6,     asciicircum ] };
> -    key <AE07> {         [               7,       ampersand ] };
> -    key <AE08> {         [               8,        asterisk ] };
> -    key <AE09> {         [               9,       parenleft ] };
> -    key <AE10> {         [               0,      parenright ] };
> -    key <AE11> {         [           minus,      underscore ] };
> -    key <AE12> {         [           equal,            plus ] };
> +    key <AE01> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               1,          exclam,      exclamdown,     onesuperior ]
> +    };
> +    key <AE02> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               2,              at,     twosuperior, dead_doubleacute ]
> +    };
> +    key <AE03> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               3,      numbersign,   threesuperior,     dead_macron ]
> +    };
> +    key <AE04> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               4,          dollar,        currency,        sterling ]
> +    };
> +    key <AE05> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               5,         percent,        EuroSign,    dead_cedilla ]
> +    };
> +    key <AE06> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               6, dead_circumflex,      onequarter,     asciicircum ]
> +    };
> +    key <AE07> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               7,       ampersand,         onehalf,       dead_horn ]
> +    };
> +    key <AE08> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               8,        asterisk,   threequarters,     dead_ogonek ]
> +    };
> +    key <AE09> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               9,       parenleft, leftsinglequotemark,      dead_breve ]
> +    };
> +    key <AE10> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [               0,      parenright, rightsinglequotemark,  dead_abovering ]
> +    };
> +    key <AE11> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [           minus,      underscore,             yen,   dead_belowdot ]
> +    };
> +    key <AE12> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [           equal,            plus,        multiply,        division ]
> +    };
>      key <BKSP> {         [       BackSpace ] };
>      key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
>      key <AD01> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               q,               Q ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               q,               Q,      adiaeresis,      Adiaeresis ]
>      };
>      key <AD02> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               w,               W ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               w,               W,           aring,           Aring ]
>      };
>      key <AD03> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               e,               E ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               e,               E,          eacute,          Eacute ]
>      };
>      key <AD04> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               r,               R ]
> +        type= "FOUR_LEVEL_SEMIALPHABETIC",
> +        symbols[Group1]= [               r,               R,      registered,      registered ]
>      };
>      key <AD05> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               t,               T ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               t,               T,           thorn,           THORN ]
>      };
>      key <AD06> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               y,               Y ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               y,               Y,      udiaeresis,      Udiaeresis ]
>      };
>      key <AD07> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               u,               U ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               u,               U,          uacute,          Uacute ]
>      };
>      key <AD08> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               i,               I ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               i,               I,          iacute,          Iacute ]
>      };
>      key <AD09> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               o,               O ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               o,               O,          oacute,          Oacute ]
>      };
>      key <AD10> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               p,               P ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               p,               P,      odiaeresis,      Odiaeresis ]
> +    };
> +    key <AD11> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [     bracketleft,       braceleft,   guillemotleft, leftdoublequotemark ]
> +    };
> +    key <AD12> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [    bracketright,      braceright,  guillemotright, rightdoublequotemark ]
>      };
> -    key <AD11> {         [     bracketleft,       braceleft ] };
> -    key <AD12> {         [    bracketright,      braceright ] };
>      key <RTRN> {         [          Return ] };
>      key <LCTL> {         [       Control_L ] };
>      key <AC01> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               a,               A ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               a,               A,          aacute,          Aacute ]
>      };
>      key <AC02> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               s,               S ]
> +        type= "FOUR_LEVEL_SEMIALPHABETIC",
> +        symbols[Group1]= [               s,               S,          ssharp,         section ]
>      };
>      key <AC03> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               d,               D ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               d,               D,             eth,             ETH ]
>      };
>      key <AC04> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               f,               F ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               f,               F,               f,               F ]
>      };
>      key <AC05> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               g,               G ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               g,               G,               g,               G ]
>      };
>      key <AC06> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               h,               H ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               h,               H,               h,               H ]
>      };
>      key <AC07> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               j,               J ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               j,               J,               j,               J ]
>      };
>      key <AC08> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               k,               K ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               k,               K,              oe,              OE ]
>      };
>      key <AC09> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               l,               L ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               l,               L,          oslash,          Oslash ]
> +    };
> +    key <AC10> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [       semicolon,           colon,       paragraph,          degree ]
> +    };
> +    key <AC11> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [      dead_acute,  dead_diaeresis,      apostrophe,        quotedbl ]
> +    };
> +    key <TLDE> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [      dead_grave,      dead_tilde,           grave,      asciitilde ]
>      };
> -    key <AC10> {         [       semicolon,           colon ] };
> -    key <AC11> {         [      apostrophe,        quotedbl ] };
> -    key <TLDE> {         [           grave,      asciitilde ] };
>      key <LFSH> {         [         Shift_L ] };
> -    key <BKSL> {         [       backslash,             bar ] };
> +    key <BKSL> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [       backslash,             bar,         notsign,       brokenbar ]
> +    };
>      key <AB01> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               z,               Z ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               z,               Z,              ae,              AE ]
>      };
>      key <AB02> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               x,               X ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               x,               X,               x,               X ]
>      };
>      key <AB03> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               c,               C ]
> +        type= "FOUR_LEVEL_SEMIALPHABETIC",
> +        symbols[Group1]= [               c,               C,       copyright,            cent ]
>      };
>      key <AB04> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               v,               V ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               v,               V,               v,               V ]
>      };
>      key <AB05> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               b,               B ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               b,               B,               b,               B ]
>      };
>      key <AB06> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               n,               N ]
> +        type= "FOUR_LEVEL_ALPHABETIC",
> +        symbols[Group1]= [               n,               N,          ntilde,          Ntilde ]
>      };
>      key <AB07> {
> -        type= "ALPHABETIC",
> -        symbols[Group1]= [               m,               M ]
> +        type= "FOUR_LEVEL_SEMIALPHABETIC",
> +        symbols[Group1]= [               m,               M,              mu,              mu ]
> +    };
> +    key <AB08> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [           comma,            less,        ccedilla,        Ccedilla ]
> +    };
> +    key <AB09> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [          period,         greater,   dead_abovedot,      dead_caron ]
> +    };
> +    key <AB10> {
> +        type= "FOUR_LEVEL",
> +        symbols[Group1]= [           slash,        question,    questiondown,       dead_hook ]
>      };
> -    key <AB08> {         [           comma,            less ] };
> -    key <AB09> {         [          period,         greater ] };
> -    key <AB10> {         [           slash,        question ] };
>      key <RTSH> {         [         Shift_R ] };
>      key <KPMU> {
>          type= "CTRL+ALT",
> @@ -1307,8 +1370,8 @@ xkb_symbols "pc+us+inet(evdev)" {
>          symbols[Group1]= [           Print,         Sys_Req ]
>      };
>      key <RALT> {
> -        type= "TWO_LEVEL",
> -        symbols[Group1]= [           Alt_R,          Meta_R ]
> +        type= "ONE_LEVEL",
> +        symbols[Group1]= [ ISO_Level3_Shift ]
>      };
>      key <LNFD> {         [        Linefeed ] };
>      key <HOME> {         [            Home ] };
> @@ -1440,7 +1503,6 @@ xkb_symbols "pc+us+inet(evdev)" {
>      modifier_map Mod2 { <NMLK> };
>      modifier_map Mod5 { <LVL3> };
>      modifier_map Control { <RCTL> };
> -    modifier_map Mod1 { <RALT> };
>      modifier_map Mod4 { <LWIN> };
>      modifier_map Mod4 { <RWIN> };
>      modifier_map Mod5 { <MDSW> };
> 
> -- 
> balbi

> xkb_keymap {
> xkb_keycodes "evdev+aliases(qwerty)" {
>     minimum = 8;
>     maximum = 255;
>      <ESC> = 9;
>     <AE01> = 10;
>     <AE02> = 11;
>     <AE03> = 12;
>     <AE04> = 13;
>     <AE05> = 14;
>     <AE06> = 15;
>     <AE07> = 16;
>     <AE08> = 17;
>     <AE09> = 18;
>     <AE10> = 19;
>     <AE11> = 20;
>     <AE12> = 21;
>     <BKSP> = 22;
>      <TAB> = 23;
>     <AD01> = 24;
>     <AD02> = 25;
>     <AD03> = 26;
>     <AD04> = 27;
>     <AD05> = 28;
>     <AD06> = 29;
>     <AD07> = 30;
>     <AD08> = 31;
>     <AD09> = 32;
>     <AD10> = 33;
>     <AD11> = 34;
>     <AD12> = 35;
>     <RTRN> = 36;
>     <LCTL> = 37;
>     <AC01> = 38;
>     <AC02> = 39;
>     <AC03> = 40;
>     <AC04> = 41;
>     <AC05> = 42;
>     <AC06> = 43;
>     <AC07> = 44;
>     <AC08> = 45;
>     <AC09> = 46;
>     <AC10> = 47;
>     <AC11> = 48;
>     <TLDE> = 49;
>     <LFSH> = 50;
>     <BKSL> = 51;
>     <AB01> = 52;
>     <AB02> = 53;
>     <AB03> = 54;
>     <AB04> = 55;
>     <AB05> = 56;
>     <AB06> = 57;
>     <AB07> = 58;
>     <AB08> = 59;
>     <AB09> = 60;
>     <AB10> = 61;
>     <RTSH> = 62;
>     <KPMU> = 63;
>     <LALT> = 64;
>     <SPCE> = 65;
>     <CAPS> = 66;
>     <FK01> = 67;
>     <FK02> = 68;
>     <FK03> = 69;
>     <FK04> = 70;
>     <FK05> = 71;
>     <FK06> = 72;
>     <FK07> = 73;
>     <FK08> = 74;
>     <FK09> = 75;
>     <FK10> = 76;
>     <NMLK> = 77;
>     <SCLK> = 78;
>      <KP7> = 79;
>      <KP8> = 80;
>      <KP9> = 81;
>     <KPSU> = 82;
>      <KP4> = 83;
>      <KP5> = 84;
>      <KP6> = 85;
>     <KPAD> = 86;
>      <KP1> = 87;
>      <KP2> = 88;
>      <KP3> = 89;
>      <KP0> = 90;
>     <KPDL> = 91;
>     <LVL3> = 92;
>     <LSGT> = 94;
>     <FK11> = 95;
>     <FK12> = 96;
>     <AB11> = 97;
>     <KATA> = 98;
>     <HIRA> = 99;
>     <HENK> = 100;
>     <HKTG> = 101;
>     <MUHE> = 102;
>     <JPCM> = 103;
>     <KPEN> = 104;
>     <RCTL> = 105;
>     <KPDV> = 106;
>     <PRSC> = 107;
>     <RALT> = 108;
>     <LNFD> = 109;
>     <HOME> = 110;
>       <UP> = 111;
>     <PGUP> = 112;
>     <LEFT> = 113;
>     <RGHT> = 114;
>      <END> = 115;
>     <DOWN> = 116;
>     <PGDN> = 117;
>      <INS> = 118;
>     <DELE> = 119;
>     <I120> = 120;
>     <MUTE> = 121;
>     <VOL-> = 122;
>     <VOL+> = 123;
>     <POWR> = 124;
>     <KPEQ> = 125;
>     <I126> = 126;
>     <PAUS> = 127;
>     <I129> = 129;
>     <HNGL> = 130;
>     <HJCV> = 131;
>     <AE13> = 132;
>     <LWIN> = 133;
>     <RWIN> = 134;
>     <COMP> = 135;
>     <STOP> = 136;
>     <AGAI> = 137;
>     <PROP> = 138;
>     <UNDO> = 139;
>     <FRNT> = 140;
>     <COPY> = 141;
>     <OPEN> = 142;
>     <PAST> = 143;
>     <FIND> = 144;
>      <CUT> = 145;
>     <HELP> = 146;
>     <I147> = 147;
>     <I148> = 148;
>     <I149> = 149;
>     <I150> = 150;
>     <I151> = 151;
>     <I152> = 152;
>     <I153> = 153;
>     <I154> = 154;
>     <I155> = 155;
>     <I156> = 156;
>     <I157> = 157;
>     <I158> = 158;
>     <I159> = 159;
>     <I160> = 160;
>     <I161> = 161;
>     <I162> = 162;
>     <I163> = 163;
>     <I164> = 164;
>     <I165> = 165;
>     <I166> = 166;
>     <I167> = 167;
>     <I168> = 168;
>     <I169> = 169;
>     <I170> = 170;
>     <I171> = 171;
>     <I172> = 172;
>     <I173> = 173;
>     <I174> = 174;
>     <I175> = 175;
>     <I176> = 176;
>     <I177> = 177;
>     <I178> = 178;
>     <I179> = 179;
>     <I180> = 180;
>     <I181> = 181;
>     <I182> = 182;
>     <I183> = 183;
>     <I184> = 184;
>     <I185> = 185;
>     <I186> = 186;
>     <I187> = 187;
>     <I188> = 188;
>     <I189> = 189;
>     <I190> = 190;
>     <FK13> = 191;
>     <FK14> = 192;
>     <FK15> = 193;
>     <FK16> = 194;
>     <FK17> = 195;
>     <FK18> = 196;
>     <FK19> = 197;
>     <FK20> = 198;
>     <FK21> = 199;
>     <FK22> = 200;
>     <FK23> = 201;
>     <FK24> = 202;
>     <MDSW> = 203;
>      <ALT> = 204;
>     <META> = 205;
>     <SUPR> = 206;
>     <HYPR> = 207;
>     <I208> = 208;
>     <I209> = 209;
>     <I210> = 210;
>     <I211> = 211;
>     <I213> = 213;
>     <I214> = 214;
>     <I215> = 215;
>     <I216> = 216;
>     <I217> = 217;
>     <I218> = 218;
>     <I219> = 219;
>     <I220> = 220;
>     <I221> = 221;
>     <I222> = 222;
>     <I223> = 223;
>     <I224> = 224;
>     <I225> = 225;
>     <I226> = 226;
>     <I227> = 227;
>     <I228> = 228;
>     <I229> = 229;
>     <I230> = 230;
>     <I231> = 231;
>     <I232> = 232;
>     <I233> = 233;
>     <I234> = 234;
>     <I235> = 235;
>     <I236> = 236;
>     <I237> = 237;
>     <I238> = 238;
>     <I239> = 239;
>     <I240> = 240;
>     <I241> = 241;
>     <I242> = 242;
>     <I243> = 243;
>     <I244> = 244;
>     <I245> = 245;
>     <I246> = 246;
>     <I247> = 247;
>     <I248> = 248;
>     <I249> = 249;
>     <I250> = 250;
>     <I251> = 251;
>     <I252> = 252;
>     <I253> = 253;
>     indicator 1 = "Caps Lock";
>     indicator 2 = "Num Lock";
>     indicator 3 = "Scroll Lock";
>     indicator 4 = "Compose";
>     indicator 5 = "Kana";
>     indicator 6 = "Sleep";
>     indicator 7 = "Suspend";
>     indicator 8 = "Mute";
>     indicator 9 = "Misc";
>     indicator 10 = "Mail";
>     indicator 11 = "Charging";
>     virtual indicator 12 = "Shift Lock";
>     virtual indicator 13 = "Group 2";
>     virtual indicator 14 = "Mouse Keys";
>     alias <AC12> = <BKSL>;
>     alias <MENU> = <COMP>;
>     alias <HZTG> = <TLDE>;
>     alias <LMTA> = <LWIN>;
>     alias <RMTA> = <RWIN>;
>     alias <ALGR> = <RALT>;
>     alias <KPPT> = <I129>;
>     alias <LatQ> = <AD01>;
>     alias <LatW> = <AD02>;
>     alias <LatE> = <AD03>;
>     alias <LatR> = <AD04>;
>     alias <LatT> = <AD05>;
>     alias <LatY> = <AD06>;
>     alias <LatU> = <AD07>;
>     alias <LatI> = <AD08>;
>     alias <LatO> = <AD09>;
>     alias <LatP> = <AD10>;
>     alias <LatA> = <AC01>;
>     alias <LatS> = <AC02>;
>     alias <LatD> = <AC03>;
>     alias <LatF> = <AC04>;
>     alias <LatG> = <AC05>;
>     alias <LatH> = <AC06>;
>     alias <LatJ> = <AC07>;
>     alias <LatK> = <AC08>;
>     alias <LatL> = <AC09>;
>     alias <LatZ> = <AB01>;
>     alias <LatX> = <AB02>;
>     alias <LatC> = <AB03>;
>     alias <LatV> = <AB04>;
>     alias <LatB> = <AB05>;
>     alias <LatN> = <AB06>;
>     alias <LatM> = <AB07>;
> };
> 
> xkb_types "complete" {
> 
>     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
> 
>     type "ONE_LEVEL" {
>         modifiers= none;
>         level_name[Level1]= "Any";
>     };
>     type "TWO_LEVEL" {
>         modifiers= Shift;
>         map[Shift]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>     };
>     type "ALPHABETIC" {
>         modifiers= Shift+Lock;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Caps";
>     };
>     type "KEYPAD" {
>         modifiers= Shift+NumLock;
>         map[Shift]= Level2;
>         map[NumLock]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Number";
>     };
>     type "SHIFT+ALT" {
>         modifiers= Shift+Alt;
>         map[Shift+Alt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift+Alt";
>     };
>     type "PC_CONTROL_LEVEL2" {
>         modifiers= Control;
>         map[Control]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Control";
>     };
>     type "PC_LCONTROL_LEVEL2" {
>         modifiers= LControl;
>         map[LControl]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "LControl";
>     };
>     type "PC_RCONTROL_LEVEL2" {
>         modifiers= RControl;
>         map[RControl]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "RControl";
>     };
>     type "PC_ALT_LEVEL2" {
>         modifiers= Alt;
>         map[Alt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Alt";
>     };
>     type "PC_LALT_LEVEL2" {
>         modifiers= LAlt;
>         map[LAlt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "LAlt";
>     };
>     type "PC_RALT_LEVEL2" {
>         modifiers= RAlt;
>         map[RAlt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "RAlt";
>     };
>     type "CTRL+ALT" {
>         modifiers= Control+Alt;
>         map[Control+Alt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Ctrl+Alt";
>     };
>     type "LOCAL_EIGHT_LEVEL" {
>         modifiers= Shift+Lock+Control+LevelThree;
>         map[Shift+Lock]= Level1;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+Lock+LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level4;
>         map[Control]= Level5;
>         map[Shift+Lock+Control]= Level5;
>         map[Shift+Control]= Level6;
>         map[Lock+Control]= Level6;
>         map[Control+LevelThree]= Level7;
>         map[Shift+Lock+Control+LevelThree]= Level7;
>         map[Shift+Control+LevelThree]= Level8;
>         map[Lock+Control+LevelThree]= Level8;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Level3";
>         level_name[Level4]= "Shift Level3";
>         level_name[Level5]= "Ctrl";
>         level_name[Level6]= "Shift Ctrl";
>         level_name[Level7]= "Level3 Ctrl";
>         level_name[Level8]= "Shift Level3 Ctrl";
>     };
>     type "THREE_LEVEL" {
>         modifiers= Shift+LevelThree;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Level3";
>     };
>     type "EIGHT_LEVEL" {
>         modifiers= Shift+LevelThree+LevelFive;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[LevelFive]= Level5;
>         map[Shift+LevelFive]= Level6;
>         map[LevelThree+LevelFive]= Level7;
>         map[Shift+LevelThree+LevelFive]= Level8;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "X";
>         level_name[Level6]= "X Shift";
>         level_name[Level7]= "X Alt Base";
>         level_name[Level8]= "X Shift Alt";
>     };
>     type "EIGHT_LEVEL_ALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree+LevelFive;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level4;
>         map[Shift+Lock+LevelThree]= Level3;
>         map[LevelFive]= Level5;
>         map[Shift+LevelFive]= Level6;
>         map[Lock+LevelFive]= Level6;
>         map[LevelThree+LevelFive]= Level7;
>         map[Shift+LevelThree+LevelFive]= Level8;
>         map[Lock+LevelThree+LevelFive]= Level8;
>         map[Shift+Lock+LevelThree+LevelFive]= Level7;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "X";
>         level_name[Level6]= "X Shift";
>         level_name[Level7]= "X Alt Base";
>         level_name[Level8]= "X Shift Alt";
>     };
>     type "EIGHT_LEVEL_SEMIALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree+LevelFive;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level3;
>         preserve[Lock+LevelThree]= Lock;
>         map[Shift+Lock+LevelThree]= Level4;
>         preserve[Shift+Lock+LevelThree]= Lock;
>         map[LevelFive]= Level5;
>         map[Shift+LevelFive]= Level6;
>         map[Lock+LevelFive]= Level6;
>         preserve[Lock+LevelFive]= Lock;
>         map[LevelThree+LevelFive]= Level7;
>         map[Shift+LevelThree+LevelFive]= Level8;
>         map[Lock+LevelThree+LevelFive]= Level7;
>         preserve[Lock+LevelThree+LevelFive]= Lock;
>         map[Shift+Lock+LevelThree+LevelFive]= Level8;
>         preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
>         map[Shift+Lock+LevelFive]= Level1;
>         preserve[Shift+Lock+LevelFive]= Lock;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "X";
>         level_name[Level6]= "X Shift";
>         level_name[Level7]= "X Alt Base";
>         level_name[Level8]= "X Shift Alt";
>     };
>     type "FOUR_LEVEL" {
>         modifiers= Shift+LevelThree;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_ALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level4;
>         map[Shift+Lock+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_SEMIALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level3;
>         preserve[Lock+LevelThree]= Lock;
>         map[Shift+Lock+LevelThree]= Level4;
>         preserve[Shift+Lock+LevelThree]= Lock;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_MIXED_KEYPAD" {
>         modifiers= Shift+NumLock+LevelThree;
>         map[Shift+NumLock]= Level1;
>         map[NumLock]= Level2;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[NumLock+LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Shift+NumLock+LevelThree]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Number";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_X" {
>         modifiers= Shift+Control+Alt+LevelThree;
>         map[LevelThree]= Level2;
>         map[Shift+LevelThree]= Level3;
>         map[Control+Alt]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Alt Base";
>         level_name[Level3]= "Shift Alt";
>         level_name[Level4]= "Ctrl+Alt";
>     };
>     type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[Lock]= Level4;
>         preserve[Lock]= Lock;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level3;
>         preserve[Lock+LevelThree]= Lock;
>         map[Shift+Lock+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "AltGr Base";
>         level_name[Level4]= "Shift AltGr";
>     };
>     type "FOUR_LEVEL_PLUS_LOCK" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock]= Level5;
>         map[Shift+Lock]= Level2;
>         map[Lock+LevelThree]= Level3;
>         map[Shift+Lock+LevelThree]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "Lock";
>     };
>     type "FOUR_LEVEL_KEYPAD" {
>         modifiers= Shift+NumLock+LevelThree;
>         map[Shift]= Level2;
>         map[NumLock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[NumLock+LevelThree]= Level4;
>         map[Shift+NumLock+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Number";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Alt Number";
>     };
> };
> 
> xkb_compatibility "complete" {
> 
>     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
> 
>     interpret.useModMapMods= AnyLevel;
>     interpret.repeat= False;
>     interpret.locking= False;
>     interpret ISO_Level2_Latch+Exactly(Shift) {
>         useModMapMods=level1;
>         action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
>     };
>     interpret Shift_Lock+AnyOf(Shift+Lock) {
>         action= LockMods(modifiers=Shift);
>     };
>     interpret Num_Lock+AnyOf(all) {
>         virtualModifier= NumLock;
>         action= LockMods(modifiers=NumLock);
>     };
>     interpret ISO_Lock+AnyOf(all) {
>         action= ISOLock(modifiers=modMapMods,affect=all);
>     };
>     interpret ISO_Level3_Shift+AnyOf(all) {
>         virtualModifier= LevelThree;
>         useModMapMods=level1;
>         action= SetMods(modifiers=LevelThree,clearLocks);
>     };
>     interpret ISO_Level3_Latch+AnyOf(all) {
>         virtualModifier= LevelThree;
>         useModMapMods=level1;
>         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
>     };
>     interpret ISO_Level3_Lock+AnyOf(all) {
>         virtualModifier= LevelThree;
>         useModMapMods=level1;
>         action= LockMods(modifiers=LevelThree);
>     };
>     interpret Alt_L+AnyOf(all) {
>         virtualModifier= Alt;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Alt_R+AnyOf(all) {
>         virtualModifier= Alt;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Meta_L+AnyOf(all) {
>         virtualModifier= Meta;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Meta_R+AnyOf(all) {
>         virtualModifier= Meta;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Super_L+AnyOf(all) {
>         virtualModifier= Super;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Super_R+AnyOf(all) {
>         virtualModifier= Super;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Hyper_L+AnyOf(all) {
>         virtualModifier= Hyper;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Hyper_R+AnyOf(all) {
>         virtualModifier= Hyper;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Scroll_Lock+AnyOf(all) {
>         virtualModifier= ScrollLock;
>         action= LockMods(modifiers=modMapMods);
>     };
>     interpret ISO_Level5_Shift+AnyOf(all) {
>         virtualModifier= LevelFive;
>         useModMapMods=level1;
>         action= SetMods(modifiers=LevelFive,clearLocks);
>     };
>     interpret ISO_Level5_Latch+AnyOf(all) {
>         virtualModifier= LevelFive;
>         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
>     };
>     interpret ISO_Level5_Lock+AnyOf(all) {
>         virtualModifier= LevelFive;
>         action= LockMods(modifiers=LevelFive);
>     };
>     interpret Mode_switch+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= SetGroup(group=+1);
>     };
>     interpret ISO_Level3_Shift+AnyOfOrNone(all) {
>         action= SetMods(modifiers=LevelThree,clearLocks);
>     };
>     interpret ISO_Level3_Latch+AnyOfOrNone(all) {
>         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
>     };
>     interpret ISO_Level3_Lock+AnyOfOrNone(all) {
>         action= LockMods(modifiers=LevelThree);
>     };
>     interpret ISO_Group_Latch+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= LatchGroup(group=2);
>     };
>     interpret ISO_Next_Group+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= LockGroup(group=+1);
>     };
>     interpret ISO_Prev_Group+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= LockGroup(group=-1);
>     };
>     interpret ISO_First_Group+AnyOfOrNone(all) {
>         action= LockGroup(group=1);
>     };
>     interpret ISO_Last_Group+AnyOfOrNone(all) {
>         action= LockGroup(group=2);
>     };
>     interpret KP_1+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+1);
>     };
>     interpret KP_End+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+1);
>     };
>     interpret KP_2+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=+1);
>     };
>     interpret KP_Down+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=+1);
>     };
>     interpret KP_3+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+1);
>     };
>     interpret KP_Next+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+1);
>     };
>     interpret KP_4+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+0);
>     };
>     interpret KP_Left+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+0);
>     };
>     interpret KP_6+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+0);
>     };
>     interpret KP_Right+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+0);
>     };
>     interpret KP_7+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=-1);
>     };
>     interpret KP_Home+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=-1);
>     };
>     interpret KP_8+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=-1);
>     };
>     interpret KP_Up+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=-1);
>     };
>     interpret KP_9+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=-1);
>     };
>     interpret KP_Prior+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=-1);
>     };
>     interpret KP_5+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default);
>     };
>     interpret KP_Begin+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default);
>     };
>     interpret KP_F2+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=1);
>     };
>     interpret KP_Divide+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=1);
>     };
>     interpret KP_F3+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=2);
>     };
>     interpret KP_Multiply+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=2);
>     };
>     interpret KP_F4+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=3);
>     };
>     interpret KP_Subtract+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=3);
>     };
>     interpret KP_Separator+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default,count=2);
>     };
>     interpret KP_Add+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default,count=2);
>     };
>     interpret KP_0+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=lock);
>     };
>     interpret KP_Insert+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=lock);
>     };
>     interpret KP_Decimal+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=unlock);
>     };
>     interpret KP_Delete+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=unlock);
>     };
>     interpret F25+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=1);
>     };
>     interpret F26+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=2);
>     };
>     interpret F27+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=-1);
>     };
>     interpret F29+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=-1);
>     };
>     interpret F31+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default);
>     };
>     interpret F33+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+1);
>     };
>     interpret F35+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+1);
>     };
>     interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
>         action= PtrBtn(button=default);
>     };
>     interpret Pointer_Button1+AnyOfOrNone(all) {
>         action= PtrBtn(button=1);
>     };
>     interpret Pointer_Button2+AnyOfOrNone(all) {
>         action= PtrBtn(button=2);
>     };
>     interpret Pointer_Button3+AnyOfOrNone(all) {
>         action= PtrBtn(button=3);
>     };
>     interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
>         action= PtrBtn(button=default,count=2);
>     };
>     interpret Pointer_DblClick1+AnyOfOrNone(all) {
>         action= PtrBtn(button=1,count=2);
>     };
>     interpret Pointer_DblClick2+AnyOfOrNone(all) {
>         action= PtrBtn(button=2,count=2);
>     };
>     interpret Pointer_DblClick3+AnyOfOrNone(all) {
>         action= PtrBtn(button=3,count=2);
>     };
>     interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=default,affect=both);
>     };
>     interpret Pointer_Drag1+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=1,affect=both);
>     };
>     interpret Pointer_Drag2+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=2,affect=both);
>     };
>     interpret Pointer_Drag3+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=3,affect=both);
>     };
>     interpret Pointer_EnableKeys+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeys);
>     };
>     interpret Pointer_Accelerate+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeysAccel);
>     };
>     interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
>         action= SetPtrDflt(affect=button,button=+1);
>     };
>     interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
>         action= SetPtrDflt(affect=button,button=-1);
>     };
>     interpret AccessX_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=AccessXKeys);
>     };
>     interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=AccessXFeedback);
>     };
>     interpret RepeatKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=RepeatKeys);
>     };
>     interpret SlowKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=SlowKeys);
>     };
>     interpret BounceKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=BounceKeys);
>     };
>     interpret StickyKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=StickyKeys);
>     };
>     interpret MouseKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeys);
>     };
>     interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeysAccel);
>     };
>     interpret Overlay1_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=Overlay1);
>     };
>     interpret Overlay2_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=Overlay2);
>     };
>     interpret AudibleBell_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=AudibleBell);
>     };
>     interpret Terminate_Server+AnyOfOrNone(all) {
>         action= Terminate();
>     };
>     interpret Alt_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Alt,clearLocks);
>     };
>     interpret Alt_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Alt,clearLocks);
>     };
>     interpret Meta_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Meta,clearLocks);
>     };
>     interpret Meta_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Meta,clearLocks);
>     };
>     interpret Super_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Super,clearLocks);
>     };
>     interpret Super_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Super,clearLocks);
>     };
>     interpret Hyper_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Hyper,clearLocks);
>     };
>     interpret Hyper_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Hyper,clearLocks);
>     };
>     interpret Shift_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Shift,clearLocks);
>     };
>     interpret XF86Switch_VT_1+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=1,!same);
>     };
>     interpret XF86Switch_VT_2+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=2,!same);
>     };
>     interpret XF86Switch_VT_3+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=3,!same);
>     };
>     interpret XF86Switch_VT_4+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=4,!same);
>     };
>     interpret XF86Switch_VT_5+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=5,!same);
>     };
>     interpret XF86Switch_VT_6+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=6,!same);
>     };
>     interpret XF86Switch_VT_7+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=7,!same);
>     };
>     interpret XF86Switch_VT_8+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=8,!same);
>     };
>     interpret XF86Switch_VT_9+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=9,!same);
>     };
>     interpret XF86Switch_VT_10+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=10,!same);
>     };
>     interpret XF86Switch_VT_11+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=11,!same);
>     };
>     interpret XF86Switch_VT_12+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=12,!same);
>     };
>     interpret XF86Ungrab+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret XF86ClearGrab+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret XF86Next_VMode+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret XF86Prev_VMode+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret ISO_Level5_Shift+AnyOfOrNone(all) {
>         action= SetMods(modifiers=LevelFive,clearLocks);
>     };
>     interpret ISO_Level5_Latch+AnyOfOrNone(all) {
>         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
>     };
>     interpret ISO_Level5_Lock+AnyOfOrNone(all) {
>         action= LockMods(modifiers=LevelFive);
>     };
>     interpret Caps_Lock+AnyOfOrNone(all) {
>         action= LockMods(modifiers=Lock);
>     };
>     interpret Any+Exactly(Lock) {
>         action= LockMods(modifiers=Lock);
>     };
>     interpret Any+AnyOf(all) {
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     indicator "Caps Lock" {
>         !allowExplicit;
>         whichModState= locked;
>         modifiers= Lock;
>     };
>     indicator "Num Lock" {
>         !allowExplicit;
>         whichModState= locked;
>         modifiers= NumLock;
>     };
>     indicator "Scroll Lock" {
>         whichModState= locked;
>         modifiers= ScrollLock;
>     };
>     indicator "Shift Lock" {
>         !allowExplicit;
>         whichModState= locked;
>         modifiers= Shift;
>     };
>     indicator "Group 2" {
>         !allowExplicit;
>         groups= 0xfe;
>     };
>     indicator "Mouse Keys" {
>         indicatorDrivesKeyboard;
>         controls= mouseKeys;
>     };
> };
> 
> xkb_symbols "pc+us+inet(evdev)" {
> 
>     name[group1]="USA";
> 
>     key  <ESC> {         [          Escape ] };
>     key <AE01> {         [               1,          exclam ] };
>     key <AE02> {         [               2,              at ] };
>     key <AE03> {         [               3,      numbersign ] };
>     key <AE04> {         [               4,          dollar ] };
>     key <AE05> {         [               5,         percent ] };
>     key <AE06> {         [               6,     asciicircum ] };
>     key <AE07> {         [               7,       ampersand ] };
>     key <AE08> {         [               8,        asterisk ] };
>     key <AE09> {         [               9,       parenleft ] };
>     key <AE10> {         [               0,      parenright ] };
>     key <AE11> {         [           minus,      underscore ] };
>     key <AE12> {         [           equal,            plus ] };
>     key <BKSP> {         [       BackSpace ] };
>     key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
>     key <AD01> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               q,               Q ]
>     };
>     key <AD02> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               w,               W ]
>     };
>     key <AD03> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               e,               E ]
>     };
>     key <AD04> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               r,               R ]
>     };
>     key <AD05> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               t,               T ]
>     };
>     key <AD06> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               y,               Y ]
>     };
>     key <AD07> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               u,               U ]
>     };
>     key <AD08> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               i,               I ]
>     };
>     key <AD09> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               o,               O ]
>     };
>     key <AD10> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               p,               P ]
>     };
>     key <AD11> {         [     bracketleft,       braceleft ] };
>     key <AD12> {         [    bracketright,      braceright ] };
>     key <RTRN> {         [          Return ] };
>     key <LCTL> {         [       Control_L ] };
>     key <AC01> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               a,               A ]
>     };
>     key <AC02> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               s,               S ]
>     };
>     key <AC03> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               d,               D ]
>     };
>     key <AC04> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               f,               F ]
>     };
>     key <AC05> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               g,               G ]
>     };
>     key <AC06> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               h,               H ]
>     };
>     key <AC07> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               j,               J ]
>     };
>     key <AC08> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               k,               K ]
>     };
>     key <AC09> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               l,               L ]
>     };
>     key <AC10> {         [       semicolon,           colon ] };
>     key <AC11> {         [      apostrophe,        quotedbl ] };
>     key <TLDE> {         [           grave,      asciitilde ] };
>     key <LFSH> {         [         Shift_L ] };
>     key <BKSL> {         [       backslash,             bar ] };
>     key <AB01> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               z,               Z ]
>     };
>     key <AB02> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               x,               X ]
>     };
>     key <AB03> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               c,               C ]
>     };
>     key <AB04> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               v,               V ]
>     };
>     key <AB05> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               b,               B ]
>     };
>     key <AB06> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               n,               N ]
>     };
>     key <AB07> {
>         type= "ALPHABETIC",
>         symbols[Group1]= [               m,               M ]
>     };
>     key <AB08> {         [           comma,            less ] };
>     key <AB09> {         [          period,         greater ] };
>     key <AB10> {         [           slash,        question ] };
>     key <RTSH> {         [         Shift_R ] };
>     key <KPMU> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [     KP_Multiply,   XF86ClearGrab ]
>     };
>     key <LALT> {         [           Alt_L,          Meta_L ] };
>     key <SPCE> {         [           space ] };
>     key <CAPS> {         [       Caps_Lock ] };
>     key <FK01> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F1, XF86Switch_VT_1 ]
>     };
>     key <FK02> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F2, XF86Switch_VT_2 ]
>     };
>     key <FK03> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F3, XF86Switch_VT_3 ]
>     };
>     key <FK04> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F4, XF86Switch_VT_4 ]
>     };
>     key <FK05> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F5, XF86Switch_VT_5 ]
>     };
>     key <FK06> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F6, XF86Switch_VT_6 ]
>     };
>     key <FK07> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F7, XF86Switch_VT_7 ]
>     };
>     key <FK08> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F8, XF86Switch_VT_8 ]
>     };
>     key <FK09> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F9, XF86Switch_VT_9 ]
>     };
>     key <FK10> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [             F10, XF86Switch_VT_10 ]
>     };
>     key <NMLK> {         [        Num_Lock ] };
>     key <SCLK> {         [     Scroll_Lock ] };
>     key  <KP7> {         [         KP_Home,            KP_7 ] };
>     key  <KP8> {         [           KP_Up,            KP_8 ] };
>     key  <KP9> {         [        KP_Prior,            KP_9 ] };
>     key <KPSU> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [     KP_Subtract,  XF86Prev_VMode ]
>     };
>     key  <KP4> {         [         KP_Left,            KP_4 ] };
>     key  <KP5> {         [        KP_Begin,            KP_5 ] };
>     key  <KP6> {         [        KP_Right,            KP_6 ] };
>     key <KPAD> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [          KP_Add,  XF86Next_VMode ]
>     };
>     key  <KP1> {         [          KP_End,            KP_1 ] };
>     key  <KP2> {         [         KP_Down,            KP_2 ] };
>     key  <KP3> {         [         KP_Next,            KP_3 ] };
>     key  <KP0> {         [       KP_Insert,            KP_0 ] };
>     key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
>     key <LVL3> {         [ ISO_Level3_Shift ] };
>     key <LSGT> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [            less,         greater,             bar,       brokenbar ]
>     };
>     key <FK11> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [             F11, XF86Switch_VT_11 ]
>     };
>     key <FK12> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [             F12, XF86Switch_VT_12 ]
>     };
>     key <KATA> {         [        Katakana ] };
>     key <HIRA> {         [        Hiragana ] };
>     key <HENK> {         [     Henkan_Mode ] };
>     key <HKTG> {         [ Hiragana_Katakana ] };
>     key <MUHE> {         [        Muhenkan ] };
>     key <KPEN> {         [        KP_Enter ] };
>     key <RCTL> {         [       Control_R ] };
>     key <KPDV> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [       KP_Divide,      XF86Ungrab ]
>     };
>     key <PRSC> {
>         type= "PC_ALT_LEVEL2",
>         symbols[Group1]= [           Print,         Sys_Req ]
>     };
>     key <RALT> {
>         type= "TWO_LEVEL",
>         symbols[Group1]= [           Alt_R,          Meta_R ]
>     };
>     key <LNFD> {         [        Linefeed ] };
>     key <HOME> {         [            Home ] };
>     key   <UP> {         [              Up ] };
>     key <PGUP> {         [           Prior ] };
>     key <LEFT> {         [            Left ] };
>     key <RGHT> {         [           Right ] };
>     key  <END> {         [             End ] };
>     key <DOWN> {         [            Down ] };
>     key <PGDN> {         [            Next ] };
>     key  <INS> {         [          Insert ] };
>     key <DELE> {         [          Delete ] };
>     key <MUTE> {         [   XF86AudioMute ] };
>     key <VOL-> {         [ XF86AudioLowerVolume ] };
>     key <VOL+> {         [ XF86AudioRaiseVolume ] };
>     key <POWR> {         [    XF86PowerOff ] };
>     key <KPEQ> {         [        KP_Equal ] };
>     key <I126> {         [       plusminus ] };
>     key <PAUS> {
>         type= "PC_CONTROL_LEVEL2",
>         symbols[Group1]= [           Pause,           Break ]
>     };
>     key <I129> {         [      KP_Decimal,      KP_Decimal ] };
>     key <HNGL> {         [          Hangul ] };
>     key <HJCV> {         [    Hangul_Hanja ] };
>     key <LWIN> {         [         Super_L ] };
>     key <RWIN> {         [         Super_R ] };
>     key <COMP> {         [            Menu ] };
>     key <STOP> {         [          Cancel ] };
>     key <AGAI> {         [            Redo ] };
>     key <PROP> {         [        SunProps ] };
>     key <UNDO> {         [            Undo ] };
>     key <FRNT> {         [        SunFront ] };
>     key <COPY> {         [        XF86Copy ] };
>     key <OPEN> {         [         SunOpen ] };
>     key <PAST> {         [       XF86Paste ] };
>     key <FIND> {         [            Find ] };
>     key  <CUT> {         [         XF86Cut ] };
>     key <HELP> {         [            Help ] };
>     key <I147> {         [      XF86MenuKB ] };
>     key <I148> {         [  XF86Calculator ] };
>     key <I150> {         [       XF86Sleep ] };
>     key <I151> {         [      XF86WakeUp ] };
>     key <I152> {         [    XF86Explorer ] };
>     key <I153> {         [        XF86Send ] };
>     key <I155> {         [        XF86Xfer ] };
>     key <I156> {         [     XF86Launch1 ] };
>     key <I157> {         [     XF86Launch2 ] };
>     key <I158> {         [         XF86WWW ] };
>     key <I159> {         [         XF86DOS ] };
>     key <I160> {         [ XF86ScreenSaver ] };
>     key <I162> {         [ XF86RotateWindows ] };
>     key <I163> {         [        XF86Mail ] };
>     key <I164> {         [   XF86Favorites ] };
>     key <I165> {         [  XF86MyComputer ] };
>     key <I166> {         [        XF86Back ] };
>     key <I167> {         [     XF86Forward ] };
>     key <I169> {         [       XF86Eject ] };
>     key <I170> {         [       XF86Eject,       XF86Eject ] };
>     key <I171> {         [   XF86AudioNext ] };
>     key <I172> {         [   XF86AudioPlay,  XF86AudioPause ] };
>     key <I173> {         [   XF86AudioPrev ] };
>     key <I174> {         [   XF86AudioStop,       XF86Eject ] };
>     key <I175> {         [ XF86AudioRecord ] };
>     key <I176> {         [ XF86AudioRewind ] };
>     key <I177> {         [       XF86Phone ] };
>     key <I179> {         [       XF86Tools ] };
>     key <I180> {         [    XF86HomePage ] };
>     key <I181> {         [      XF86Reload ] };
>     key <I182> {         [       XF86Close ] };
>     key <I185> {         [    XF86ScrollUp ] };
>     key <I186> {         [  XF86ScrollDown ] };
>     key <I187> {         [       parenleft ] };
>     key <I188> {         [      parenright ] };
>     key <I189> {         [         XF86New ] };
>     key <I190> {         [            Redo ] };
>     key <FK13> {         [       XF86Tools ] };
>     key <FK14> {         [     XF86Launch5 ] };
>     key <FK15> {         [     XF86Launch6 ] };
>     key <FK16> {         [     XF86Launch7 ] };
>     key <FK17> {         [     XF86Launch8 ] };
>     key <FK18> {         [     XF86Launch9 ] };
>     key <FK21> {         [ XF86TouchpadToggle ] };
>     key <FK22> {         [  XF86TouchpadOn ] };
>     key <FK23> {         [ XF86TouchpadOff ] };
>     key <MDSW> {         [     Mode_switch ] };
>     key  <ALT> {         [        NoSymbol,           Alt_L ] };
>     key <META> {         [        NoSymbol,          Meta_L ] };
>     key <SUPR> {         [        NoSymbol,         Super_L ] };
>     key <HYPR> {         [        NoSymbol,         Hyper_L ] };
>     key <I208> {         [   XF86AudioPlay ] };
>     key <I209> {         [  XF86AudioPause ] };
>     key <I210> {         [     XF86Launch3 ] };
>     key <I211> {         [     XF86Launch4 ] };
>     key <I213> {         [     XF86Suspend ] };
>     key <I214> {         [       XF86Close ] };
>     key <I215> {         [   XF86AudioPlay ] };
>     key <I216> {         [ XF86AudioForward ] };
>     key <I218> {         [           Print ] };
>     key <I220> {         [      XF86WebCam ] };
>     key <I223> {         [        XF86Mail ] };
>     key <I224> {         [   XF86Messenger ] };
>     key <I225> {         [      XF86Search ] };
>     key <I226> {         [          XF86Go ] };
>     key <I227> {         [     XF86Finance ] };
>     key <I228> {         [        XF86Game ] };
>     key <I229> {         [        XF86Shop ] };
>     key <I231> {         [          Cancel ] };
>     key <I232> {         [ XF86MonBrightnessDown ] };
>     key <I233> {         [ XF86MonBrightnessUp ] };
>     key <I234> {         [  XF86AudioMedia ] };
>     key <I235> {         [     XF86Display ] };
>     key <I236> {         [ XF86KbdLightOnOff ] };
>     key <I237> {         [ XF86KbdBrightnessDown ] };
>     key <I238> {         [ XF86KbdBrightnessUp ] };
>     key <I239> {         [        XF86Send ] };
>     key <I240> {         [       XF86Reply ] };
>     key <I241> {         [ XF86MailForward ] };
>     key <I242> {         [        XF86Save ] };
>     key <I243> {         [   XF86Documents ] };
>     key <I244> {         [     XF86Battery ] };
>     key <I245> {         [   XF86Bluetooth ] };
>     key <I246> {         [        XF86WLAN ] };
>     modifier_map Control { <LCTL> };
>     modifier_map Shift { <LFSH> };
>     modifier_map Shift { <RTSH> };
>     modifier_map Mod1 { <LALT> };
>     modifier_map Lock { <CAPS> };
>     modifier_map Mod2 { <NMLK> };
>     modifier_map Mod5 { <LVL3> };
>     modifier_map Control { <RCTL> };
>     modifier_map Mod1 { <RALT> };
>     modifier_map Mod4 { <LWIN> };
>     modifier_map Mod4 { <RWIN> };
>     modifier_map Mod5 { <MDSW> };
>     modifier_map Mod1 { <META> };
>     modifier_map Mod4 { <SUPR> };
>     modifier_map Mod4 { <HYPR> };
> };
> 
> xkb_geometry "pc(pc105)" {
> 
>     width=       470;
>     height=      180;
> 
>     alias <AC00> = <CAPS>;
>     alias <AA00> = <LCTL>;
> 
>     baseColor=   "white";
>     labelColor=  "black";
>     xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>     description= "Generic 105";
> 
>     shape "NORM" {
>         corner= 1,
>         { [  18,  18 ] },
>         { [   2,   1 ], [  16,  16 ] }
>     };
>     shape "BKSP" {
>         corner= 1,
>         { [  38,  18 ] },
>         { [   2,   1 ], [  36,  16 ] }
>     };
>     shape "TABK" {
>         corner= 1,
>         { [  28,  18 ] },
>         { [   2,   1 ], [  26,  16 ] }
>     };
>     shape "BKSL" {
>         corner= 1,
>         { [  28,  18 ] },
>         { [   2,   1 ], [  26,  16 ] }
>     };
>     shape "RTRN" {
>         corner= 1,
>         { [   0,   0 ], [  28,   0 ], [  28,  37 ], [   5,  37 ],
>           [   5,  18 ], [   0,  18 ] },
>         { [   2,   1 ], [  26,   1 ], [  26,  35 ], [   7,  35 ],
>           [   7,  16 ], [   2,  16 ] },
>         approx= { [   5,   0 ], [  28,  37 ] }
>     };
>     shape "CAPS" {
>         corner= 1,
>         { [  33,  18 ] },
>         { [   2,   1 ], [  31,  16 ] }
>     };
>     shape "LFSH" {
>         corner= 1,
>         { [  25,  18 ] },
>         { [   2,   1 ], [  23,  16 ] }
>     };
>     shape "RTSH" {
>         corner= 1,
>         { [  50,  18 ] },
>         { [   2,   1 ], [  48,  16 ] }
>     };
>     shape "MODK" {
>         corner= 1,
>         { [  27,  18 ] },
>         { [   2,   1 ], [  25,  16 ] }
>     };
>     shape "SMOD" {
>         corner= 1,
>         { [  23,  18 ] },
>         { [   2,   1 ], [  21,  16 ] }
>     };
>     shape "SPCE" {
>         corner= 1,
>         { [ 113,  18 ] },
>         { [   2,   1 ], [ 111,  16 ] }
>     };
>     shape "KP0" {
>         corner= 1,
>         { [  37,  18 ] },
>         { [   2,   1 ], [  35,  16 ] }
>     };
>     shape "KPAD" {
>         corner= 1,
>         { [  18,  37 ] },
>         { [   2,   1 ], [  16,  35 ] }
>     };
>     shape "LEDS" { { [  75,  20 ] } };
>     shape "LED" { { [   5,   1 ] } };
>     section "Function" {
>         key.color= "grey20";
>         priority=  7;
>         top=       22;
>         left=      19;
>         width=     351;
>         height=    19;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 {  <ESC>, "NORM",   1 },
>                 { <FK01>, "NORM",  20, color="white" },
>                 { <FK02>, "NORM",   1, color="white" },
>                 { <FK03>, "NORM",   1, color="white" },
>                 { <FK04>, "NORM",   1, color="white" },
>                 { <FK05>, "NORM",  11, color="white" },
>                 { <FK06>, "NORM",   1, color="white" },
>                 { <FK07>, "NORM",   1, color="white" },
>                 { <FK08>, "NORM",   1, color="white" },
>                 { <FK09>, "NORM",  11, color="white" },
>                 { <FK10>, "NORM",   1, color="white" },
>                 { <FK11>, "NORM",   1, color="white" },
>                 { <FK12>, "NORM",   1, color="white" },
>                 { <PRSC>, "NORM",   8, color="white" },
>                 { <SCLK>, "NORM",   1, color="white" },
>                 { <PAUS>, "NORM",   1, color="white" }
>             };
>         };
>     }; // End of "Function" section
> 
>     section "Alpha" {
>         key.color= "white";
>         priority=  8;
>         top=       61;
>         left=      19;
>         width=     287;
>         height=    95;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 { <TLDE>, "NORM",   1 }, { <AE01>, "NORM",   1 },
>                 { <AE02>, "NORM",   1 }, { <AE03>, "NORM",   1 },
>                 { <AE04>, "NORM",   1 }, { <AE05>, "NORM",   1 },
>                 { <AE06>, "NORM",   1 }, { <AE07>, "NORM",   1 },
>                 { <AE08>, "NORM",   1 }, { <AE09>, "NORM",   1 },
>                 { <AE10>, "NORM",   1 }, { <AE11>, "NORM",   1 },
>                 { <AE12>, "NORM",   1 },
>                 { <BKSP>, "BKSP",   1, color="grey20" }
>             };
>         };
>         row {
>             top=  20;
>             left= 1;
>             keys {
>                 {  <TAB>, "TABK",   1, color="grey20" },
>                 { <AD01>, "NORM",   1 }, { <AD02>, "NORM",   1 },
>                 { <AD03>, "NORM",   1 }, { <AD04>, "NORM",   1 },
>                 { <AD05>, "NORM",   1 }, { <AD06>, "NORM",   1 },
>                 { <AD07>, "NORM",   1 }, { <AD08>, "NORM",   1 },
>                 { <AD09>, "NORM",   1 }, { <AD10>, "NORM",   1 },
>                 { <AD11>, "NORM",   1 }, { <AD12>, "NORM",   1 },
>                 { <RTRN>, "RTRN",   1, color="grey20" }
>             };
>         };
>         row {
>             top=  39;
>             left= 1;
>             keys {
>                 { <CAPS>, "CAPS",   1, color="grey20" },
>                 { <AC01>, "NORM",   1 }, { <AC02>, "NORM",   1 },
>                 { <AC03>, "NORM",   1 }, { <AC04>, "NORM",   1 },
>                 { <AC05>, "NORM",   1 }, { <AC06>, "NORM",   1 },
>                 { <AC07>, "NORM",   1 }, { <AC08>, "NORM",   1 },
>                 { <AC09>, "NORM",   1 }, { <AC10>, "NORM",   1 },
>                 { <AC11>, "NORM",   1 }, { <BKSL>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  58;
>             left= 1;
>             keys {
>                 { <LFSH>, "LFSH",   1, color="grey20" },
>                 { <LSGT>, "NORM",   1 }, { <AB01>, "NORM",   1 },
>                 { <AB02>, "NORM",   1 }, { <AB03>, "NORM",   1 },
>                 { <AB04>, "NORM",   1 }, { <AB05>, "NORM",   1 },
>                 { <AB06>, "NORM",   1 }, { <AB07>, "NORM",   1 },
>                 { <AB08>, "NORM",   1 }, { <AB09>, "NORM",   1 },
>                 { <AB10>, "NORM",   1 },
>                 { <RTSH>, "RTSH",   1, color="grey20" }
>             };
>         };
>         row {
>             top=  77;
>             left= 1;
>             keys {
>                 { <LCTL>, "MODK",   1, color="grey20" },
>                 { <LWIN>, "SMOD",   1, color="grey20" },
>                 { <LALT>, "SMOD",   1, color="grey20" },
>                 { <SPCE>, "SPCE",   1 },
>                 { <RALT>, "SMOD",   1, color="grey20" },
>                 { <RWIN>, "SMOD",   1, color="grey20" },
>                 { <MENU>, "SMOD",   1, color="grey20" },
>                 { <RCTL>, "SMOD",   1, color="grey20" }
>             };
>         };
>     }; // End of "Alpha" section
> 
>     section "Editing" {
>         key.color= "grey20";
>         priority=  9;
>         top=       61;
>         left=      312;
>         width=     58;
>         height=    95;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },
>                 { <PGUP>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  20;
>             left= 1;
>             keys {
>                 { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },
>                 { <PGDN>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  58;
>             left= 20;
>             keys {
>                 {   <UP>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  77;
>             left= 1;
>             keys {
>                 { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },
>                 { <RGHT>, "NORM",   1 }
>             };
>         };
>     }; // End of "Editing" section
> 
>     section "Keypad" {
>         key.color= "grey20";
>         priority=  10;
>         top=       61;
>         left=      376;
>         width=     77;
>         height=    95;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },
>                 { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  20;
>             left= 1;
>             keys {
>                 {  <KP7>, "NORM",   1, color="white" },
>                 {  <KP8>, "NORM",   1, color="white" },
>                 {  <KP9>, "NORM",   1, color="white" },
>                 { <KPAD>, "KPAD",   1 }
>             };
>         };
>         row {
>             top=  39;
>             left= 1;
>             keys {
>                 {  <KP4>, "NORM",   1, color="white" },
>                 {  <KP5>, "NORM",   1, color="white" },
>                 {  <KP6>, "NORM",   1, color="white" }
>             };
>         };
>         row {
>             top=  58;
>             left= 1;
>             keys {
>                 {  <KP1>, "NORM",   1, color="white" },
>                 {  <KP2>, "NORM",   1, color="white" },
>                 {  <KP3>, "NORM",   1, color="white" },
>                 { <KPEN>, "KPAD",   1 }
>             };
>         };
>         row {
>             top=  77;
>             left= 1;
>             keys {
>                 {  <KP0>, "KP0",   1, color="white" },
>                 { <KPDL>, "NORM",   1, color="white" }
>             };
>         };
>     }; // End of "Keypad" section
> 
>     solid "LedPanel" {
>         top=      22;
>         left=     377;
>         priority= 0;
>         color= "grey10";
>         shape= "LEDS";
>     };
>     indicator "Num Lock" {
>         top=      37;
>         left=     382;
>         priority= 1;
>         onColor= "green";
>         offColor= "green30";
>         shape= "LED";
>     };
>     indicator "Caps Lock" {
>         top=      37;
>         left=     407;
>         priority= 2;
>         onColor= "green";
>         offColor= "green30";
>         shape= "LED";
>     };
>     indicator "Scroll Lock" {
>         top=      37;
>         left=     433;
>         priority= 3;
>         onColor= "green";
>         offColor= "green30";
>         shape= "LED";
>     };
>     text "NumLockLabel" {
>         top=      25;
>         left=     378;
>         priority= 4;
>         width=  19.8;
>         height=  10;
>         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>         text=  "Num\nLock";
>     };
>     text "CapsLockLabel" {
>         top=      25;
>         left=     403;
>         priority= 5;
>         width=  26.4;
>         height=  10;
>         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>         text=  "Caps\nLock";
>     };
>     text "ScrollLockLabel" {
>         top=      25;
>         left=     428;
>         priority= 6;
>         width=  39.6;
>         height=  10;
>         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>         text=  "Scroll\nLock";
>     };
> };
> 
> };

> xkb_keymap {
> xkb_keycodes "evdev+aliases(qwerty)" {
>     minimum = 8;
>     maximum = 255;
>      <ESC> = 9;
>     <AE01> = 10;
>     <AE02> = 11;
>     <AE03> = 12;
>     <AE04> = 13;
>     <AE05> = 14;
>     <AE06> = 15;
>     <AE07> = 16;
>     <AE08> = 17;
>     <AE09> = 18;
>     <AE10> = 19;
>     <AE11> = 20;
>     <AE12> = 21;
>     <BKSP> = 22;
>      <TAB> = 23;
>     <AD01> = 24;
>     <AD02> = 25;
>     <AD03> = 26;
>     <AD04> = 27;
>     <AD05> = 28;
>     <AD06> = 29;
>     <AD07> = 30;
>     <AD08> = 31;
>     <AD09> = 32;
>     <AD10> = 33;
>     <AD11> = 34;
>     <AD12> = 35;
>     <RTRN> = 36;
>     <LCTL> = 37;
>     <AC01> = 38;
>     <AC02> = 39;
>     <AC03> = 40;
>     <AC04> = 41;
>     <AC05> = 42;
>     <AC06> = 43;
>     <AC07> = 44;
>     <AC08> = 45;
>     <AC09> = 46;
>     <AC10> = 47;
>     <AC11> = 48;
>     <TLDE> = 49;
>     <LFSH> = 50;
>     <BKSL> = 51;
>     <AB01> = 52;
>     <AB02> = 53;
>     <AB03> = 54;
>     <AB04> = 55;
>     <AB05> = 56;
>     <AB06> = 57;
>     <AB07> = 58;
>     <AB08> = 59;
>     <AB09> = 60;
>     <AB10> = 61;
>     <RTSH> = 62;
>     <KPMU> = 63;
>     <LALT> = 64;
>     <SPCE> = 65;
>     <CAPS> = 66;
>     <FK01> = 67;
>     <FK02> = 68;
>     <FK03> = 69;
>     <FK04> = 70;
>     <FK05> = 71;
>     <FK06> = 72;
>     <FK07> = 73;
>     <FK08> = 74;
>     <FK09> = 75;
>     <FK10> = 76;
>     <NMLK> = 77;
>     <SCLK> = 78;
>      <KP7> = 79;
>      <KP8> = 80;
>      <KP9> = 81;
>     <KPSU> = 82;
>      <KP4> = 83;
>      <KP5> = 84;
>      <KP6> = 85;
>     <KPAD> = 86;
>      <KP1> = 87;
>      <KP2> = 88;
>      <KP3> = 89;
>      <KP0> = 90;
>     <KPDL> = 91;
>     <LVL3> = 92;
>     <LSGT> = 94;
>     <FK11> = 95;
>     <FK12> = 96;
>     <AB11> = 97;
>     <KATA> = 98;
>     <HIRA> = 99;
>     <HENK> = 100;
>     <HKTG> = 101;
>     <MUHE> = 102;
>     <JPCM> = 103;
>     <KPEN> = 104;
>     <RCTL> = 105;
>     <KPDV> = 106;
>     <PRSC> = 107;
>     <RALT> = 108;
>     <LNFD> = 109;
>     <HOME> = 110;
>       <UP> = 111;
>     <PGUP> = 112;
>     <LEFT> = 113;
>     <RGHT> = 114;
>      <END> = 115;
>     <DOWN> = 116;
>     <PGDN> = 117;
>      <INS> = 118;
>     <DELE> = 119;
>     <I120> = 120;
>     <MUTE> = 121;
>     <VOL-> = 122;
>     <VOL+> = 123;
>     <POWR> = 124;
>     <KPEQ> = 125;
>     <I126> = 126;
>     <PAUS> = 127;
>     <I129> = 129;
>     <HNGL> = 130;
>     <HJCV> = 131;
>     <AE13> = 132;
>     <LWIN> = 133;
>     <RWIN> = 134;
>     <COMP> = 135;
>     <STOP> = 136;
>     <AGAI> = 137;
>     <PROP> = 138;
>     <UNDO> = 139;
>     <FRNT> = 140;
>     <COPY> = 141;
>     <OPEN> = 142;
>     <PAST> = 143;
>     <FIND> = 144;
>      <CUT> = 145;
>     <HELP> = 146;
>     <I147> = 147;
>     <I148> = 148;
>     <I149> = 149;
>     <I150> = 150;
>     <I151> = 151;
>     <I152> = 152;
>     <I153> = 153;
>     <I154> = 154;
>     <I155> = 155;
>     <I156> = 156;
>     <I157> = 157;
>     <I158> = 158;
>     <I159> = 159;
>     <I160> = 160;
>     <I161> = 161;
>     <I162> = 162;
>     <I163> = 163;
>     <I164> = 164;
>     <I165> = 165;
>     <I166> = 166;
>     <I167> = 167;
>     <I168> = 168;
>     <I169> = 169;
>     <I170> = 170;
>     <I171> = 171;
>     <I172> = 172;
>     <I173> = 173;
>     <I174> = 174;
>     <I175> = 175;
>     <I176> = 176;
>     <I177> = 177;
>     <I178> = 178;
>     <I179> = 179;
>     <I180> = 180;
>     <I181> = 181;
>     <I182> = 182;
>     <I183> = 183;
>     <I184> = 184;
>     <I185> = 185;
>     <I186> = 186;
>     <I187> = 187;
>     <I188> = 188;
>     <I189> = 189;
>     <I190> = 190;
>     <FK13> = 191;
>     <FK14> = 192;
>     <FK15> = 193;
>     <FK16> = 194;
>     <FK17> = 195;
>     <FK18> = 196;
>     <FK19> = 197;
>     <FK20> = 198;
>     <FK21> = 199;
>     <FK22> = 200;
>     <FK23> = 201;
>     <FK24> = 202;
>     <MDSW> = 203;
>      <ALT> = 204;
>     <META> = 205;
>     <SUPR> = 206;
>     <HYPR> = 207;
>     <I208> = 208;
>     <I209> = 209;
>     <I210> = 210;
>     <I211> = 211;
>     <I213> = 213;
>     <I214> = 214;
>     <I215> = 215;
>     <I216> = 216;
>     <I217> = 217;
>     <I218> = 218;
>     <I219> = 219;
>     <I220> = 220;
>     <I221> = 221;
>     <I222> = 222;
>     <I223> = 223;
>     <I224> = 224;
>     <I225> = 225;
>     <I226> = 226;
>     <I227> = 227;
>     <I228> = 228;
>     <I229> = 229;
>     <I230> = 230;
>     <I231> = 231;
>     <I232> = 232;
>     <I233> = 233;
>     <I234> = 234;
>     <I235> = 235;
>     <I236> = 236;
>     <I237> = 237;
>     <I238> = 238;
>     <I239> = 239;
>     <I240> = 240;
>     <I241> = 241;
>     <I242> = 242;
>     <I243> = 243;
>     <I244> = 244;
>     <I245> = 245;
>     <I246> = 246;
>     <I247> = 247;
>     <I248> = 248;
>     <I249> = 249;
>     <I250> = 250;
>     <I251> = 251;
>     <I252> = 252;
>     <I253> = 253;
>     indicator 1 = "Caps Lock";
>     indicator 2 = "Num Lock";
>     indicator 3 = "Scroll Lock";
>     indicator 4 = "Compose";
>     indicator 5 = "Kana";
>     indicator 6 = "Sleep";
>     indicator 7 = "Suspend";
>     indicator 8 = "Mute";
>     indicator 9 = "Misc";
>     indicator 10 = "Mail";
>     indicator 11 = "Charging";
>     virtual indicator 12 = "Shift Lock";
>     virtual indicator 13 = "Group 2";
>     virtual indicator 14 = "Mouse Keys";
>     alias <AC12> = <BKSL>;
>     alias <MENU> = <COMP>;
>     alias <HZTG> = <TLDE>;
>     alias <LMTA> = <LWIN>;
>     alias <RMTA> = <RWIN>;
>     alias <ALGR> = <RALT>;
>     alias <KPPT> = <I129>;
>     alias <LatQ> = <AD01>;
>     alias <LatW> = <AD02>;
>     alias <LatE> = <AD03>;
>     alias <LatR> = <AD04>;
>     alias <LatT> = <AD05>;
>     alias <LatY> = <AD06>;
>     alias <LatU> = <AD07>;
>     alias <LatI> = <AD08>;
>     alias <LatO> = <AD09>;
>     alias <LatP> = <AD10>;
>     alias <LatA> = <AC01>;
>     alias <LatS> = <AC02>;
>     alias <LatD> = <AC03>;
>     alias <LatF> = <AC04>;
>     alias <LatG> = <AC05>;
>     alias <LatH> = <AC06>;
>     alias <LatJ> = <AC07>;
>     alias <LatK> = <AC08>;
>     alias <LatL> = <AC09>;
>     alias <LatZ> = <AB01>;
>     alias <LatX> = <AB02>;
>     alias <LatC> = <AB03>;
>     alias <LatV> = <AB04>;
>     alias <LatB> = <AB05>;
>     alias <LatN> = <AB06>;
>     alias <LatM> = <AB07>;
> };
> 
> xkb_types "complete" {
> 
>     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
> 
>     type "ONE_LEVEL" {
>         modifiers= none;
>         level_name[Level1]= "Any";
>     };
>     type "TWO_LEVEL" {
>         modifiers= Shift;
>         map[Shift]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>     };
>     type "ALPHABETIC" {
>         modifiers= Shift+Lock;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Caps";
>     };
>     type "KEYPAD" {
>         modifiers= Shift+NumLock;
>         map[Shift]= Level2;
>         map[NumLock]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Number";
>     };
>     type "SHIFT+ALT" {
>         modifiers= Shift+Alt;
>         map[Shift+Alt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift+Alt";
>     };
>     type "PC_CONTROL_LEVEL2" {
>         modifiers= Control;
>         map[Control]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Control";
>     };
>     type "PC_LCONTROL_LEVEL2" {
>         modifiers= LControl;
>         map[LControl]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "LControl";
>     };
>     type "PC_RCONTROL_LEVEL2" {
>         modifiers= RControl;
>         map[RControl]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "RControl";
>     };
>     type "PC_ALT_LEVEL2" {
>         modifiers= Alt;
>         map[Alt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Alt";
>     };
>     type "PC_LALT_LEVEL2" {
>         modifiers= LAlt;
>         map[LAlt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "LAlt";
>     };
>     type "PC_RALT_LEVEL2" {
>         modifiers= RAlt;
>         map[RAlt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "RAlt";
>     };
>     type "CTRL+ALT" {
>         modifiers= Control+Alt;
>         map[Control+Alt]= Level2;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Ctrl+Alt";
>     };
>     type "LOCAL_EIGHT_LEVEL" {
>         modifiers= Shift+Lock+Control+LevelThree;
>         map[Shift+Lock]= Level1;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+Lock+LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level4;
>         map[Control]= Level5;
>         map[Shift+Lock+Control]= Level5;
>         map[Shift+Control]= Level6;
>         map[Lock+Control]= Level6;
>         map[Control+LevelThree]= Level7;
>         map[Shift+Lock+Control+LevelThree]= Level7;
>         map[Shift+Control+LevelThree]= Level8;
>         map[Lock+Control+LevelThree]= Level8;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Level3";
>         level_name[Level4]= "Shift Level3";
>         level_name[Level5]= "Ctrl";
>         level_name[Level6]= "Shift Ctrl";
>         level_name[Level7]= "Level3 Ctrl";
>         level_name[Level8]= "Shift Level3 Ctrl";
>     };
>     type "THREE_LEVEL" {
>         modifiers= Shift+LevelThree;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Level3";
>     };
>     type "EIGHT_LEVEL" {
>         modifiers= Shift+LevelThree+LevelFive;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[LevelFive]= Level5;
>         map[Shift+LevelFive]= Level6;
>         map[LevelThree+LevelFive]= Level7;
>         map[Shift+LevelThree+LevelFive]= Level8;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "X";
>         level_name[Level6]= "X Shift";
>         level_name[Level7]= "X Alt Base";
>         level_name[Level8]= "X Shift Alt";
>     };
>     type "EIGHT_LEVEL_ALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree+LevelFive;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level4;
>         map[Shift+Lock+LevelThree]= Level3;
>         map[LevelFive]= Level5;
>         map[Shift+LevelFive]= Level6;
>         map[Lock+LevelFive]= Level6;
>         map[LevelThree+LevelFive]= Level7;
>         map[Shift+LevelThree+LevelFive]= Level8;
>         map[Lock+LevelThree+LevelFive]= Level8;
>         map[Shift+Lock+LevelThree+LevelFive]= Level7;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "X";
>         level_name[Level6]= "X Shift";
>         level_name[Level7]= "X Alt Base";
>         level_name[Level8]= "X Shift Alt";
>     };
>     type "EIGHT_LEVEL_SEMIALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree+LevelFive;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level3;
>         preserve[Lock+LevelThree]= Lock;
>         map[Shift+Lock+LevelThree]= Level4;
>         preserve[Shift+Lock+LevelThree]= Lock;
>         map[LevelFive]= Level5;
>         map[Shift+LevelFive]= Level6;
>         map[Lock+LevelFive]= Level6;
>         preserve[Lock+LevelFive]= Lock;
>         map[LevelThree+LevelFive]= Level7;
>         map[Shift+LevelThree+LevelFive]= Level8;
>         map[Lock+LevelThree+LevelFive]= Level7;
>         preserve[Lock+LevelThree+LevelFive]= Lock;
>         map[Shift+Lock+LevelThree+LevelFive]= Level8;
>         preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
>         map[Shift+Lock+LevelFive]= Level1;
>         preserve[Shift+Lock+LevelFive]= Lock;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "X";
>         level_name[Level6]= "X Shift";
>         level_name[Level7]= "X Alt Base";
>         level_name[Level8]= "X Shift Alt";
>     };
>     type "FOUR_LEVEL" {
>         modifiers= Shift+LevelThree;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_ALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level4;
>         map[Shift+Lock+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_SEMIALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[Lock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level3;
>         preserve[Lock+LevelThree]= Lock;
>         map[Shift+Lock+LevelThree]= Level4;
>         preserve[Shift+Lock+LevelThree]= Lock;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_MIXED_KEYPAD" {
>         modifiers= Shift+NumLock+LevelThree;
>         map[Shift+NumLock]= Level1;
>         map[NumLock]= Level2;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[NumLock+LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Shift+NumLock+LevelThree]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Number";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>     };
>     type "FOUR_LEVEL_X" {
>         modifiers= Shift+Control+Alt+LevelThree;
>         map[LevelThree]= Level2;
>         map[Shift+LevelThree]= Level3;
>         map[Control+Alt]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Alt Base";
>         level_name[Level3]= "Shift Alt";
>         level_name[Level4]= "Ctrl+Alt";
>     };
>     type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[Lock]= Level4;
>         preserve[Lock]= Lock;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock+LevelThree]= Level3;
>         preserve[Lock+LevelThree]= Lock;
>         map[Shift+Lock+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "AltGr Base";
>         level_name[Level4]= "Shift AltGr";
>     };
>     type "FOUR_LEVEL_PLUS_LOCK" {
>         modifiers= Shift+Lock+LevelThree;
>         map[Shift]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[Lock]= Level5;
>         map[Shift+Lock]= Level2;
>         map[Lock+LevelThree]= Level3;
>         map[Shift+Lock+LevelThree]= Level4;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Shift";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Shift Alt";
>         level_name[Level5]= "Lock";
>     };
>     type "FOUR_LEVEL_KEYPAD" {
>         modifiers= Shift+NumLock+LevelThree;
>         map[Shift]= Level2;
>         map[NumLock]= Level2;
>         map[LevelThree]= Level3;
>         map[Shift+LevelThree]= Level4;
>         map[NumLock+LevelThree]= Level4;
>         map[Shift+NumLock+LevelThree]= Level3;
>         level_name[Level1]= "Base";
>         level_name[Level2]= "Number";
>         level_name[Level3]= "Alt Base";
>         level_name[Level4]= "Alt Number";
>     };
> };
> 
> xkb_compatibility "complete" {
> 
>     virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
> 
>     interpret.useModMapMods= AnyLevel;
>     interpret.repeat= False;
>     interpret.locking= False;
>     interpret ISO_Level2_Latch+Exactly(Shift) {
>         useModMapMods=level1;
>         action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
>     };
>     interpret Shift_Lock+AnyOf(Shift+Lock) {
>         action= LockMods(modifiers=Shift);
>     };
>     interpret Num_Lock+AnyOf(all) {
>         virtualModifier= NumLock;
>         action= LockMods(modifiers=NumLock);
>     };
>     interpret ISO_Lock+AnyOf(all) {
>         action= ISOLock(modifiers=modMapMods,affect=all);
>     };
>     interpret ISO_Level3_Shift+AnyOf(all) {
>         virtualModifier= LevelThree;
>         useModMapMods=level1;
>         action= SetMods(modifiers=LevelThree,clearLocks);
>     };
>     interpret ISO_Level3_Latch+AnyOf(all) {
>         virtualModifier= LevelThree;
>         useModMapMods=level1;
>         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
>     };
>     interpret ISO_Level3_Lock+AnyOf(all) {
>         virtualModifier= LevelThree;
>         useModMapMods=level1;
>         action= LockMods(modifiers=LevelThree);
>     };
>     interpret Alt_L+AnyOf(all) {
>         virtualModifier= Alt;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Alt_R+AnyOf(all) {
>         virtualModifier= Alt;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Meta_L+AnyOf(all) {
>         virtualModifier= Meta;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Meta_R+AnyOf(all) {
>         virtualModifier= Meta;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Super_L+AnyOf(all) {
>         virtualModifier= Super;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Super_R+AnyOf(all) {
>         virtualModifier= Super;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Hyper_L+AnyOf(all) {
>         virtualModifier= Hyper;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Hyper_R+AnyOf(all) {
>         virtualModifier= Hyper;
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     interpret Scroll_Lock+AnyOf(all) {
>         virtualModifier= ScrollLock;
>         action= LockMods(modifiers=modMapMods);
>     };
>     interpret ISO_Level5_Shift+AnyOf(all) {
>         virtualModifier= LevelFive;
>         useModMapMods=level1;
>         action= SetMods(modifiers=LevelFive,clearLocks);
>     };
>     interpret ISO_Level5_Latch+AnyOf(all) {
>         virtualModifier= LevelFive;
>         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
>     };
>     interpret ISO_Level5_Lock+AnyOf(all) {
>         virtualModifier= LevelFive;
>         action= LockMods(modifiers=LevelFive);
>     };
>     interpret Mode_switch+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= SetGroup(group=+1);
>     };
>     interpret ISO_Level3_Shift+AnyOfOrNone(all) {
>         action= SetMods(modifiers=LevelThree,clearLocks);
>     };
>     interpret ISO_Level3_Latch+AnyOfOrNone(all) {
>         action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
>     };
>     interpret ISO_Level3_Lock+AnyOfOrNone(all) {
>         action= LockMods(modifiers=LevelThree);
>     };
>     interpret ISO_Group_Latch+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= LatchGroup(group=2);
>     };
>     interpret ISO_Next_Group+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= LockGroup(group=+1);
>     };
>     interpret ISO_Prev_Group+AnyOfOrNone(all) {
>         virtualModifier= AltGr;
>         useModMapMods=level1;
>         action= LockGroup(group=-1);
>     };
>     interpret ISO_First_Group+AnyOfOrNone(all) {
>         action= LockGroup(group=1);
>     };
>     interpret ISO_Last_Group+AnyOfOrNone(all) {
>         action= LockGroup(group=2);
>     };
>     interpret KP_1+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+1);
>     };
>     interpret KP_End+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+1);
>     };
>     interpret KP_2+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=+1);
>     };
>     interpret KP_Down+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=+1);
>     };
>     interpret KP_3+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+1);
>     };
>     interpret KP_Next+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+1);
>     };
>     interpret KP_4+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+0);
>     };
>     interpret KP_Left+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+0);
>     };
>     interpret KP_6+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+0);
>     };
>     interpret KP_Right+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+0);
>     };
>     interpret KP_7+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=-1);
>     };
>     interpret KP_Home+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=-1);
>     };
>     interpret KP_8+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=-1);
>     };
>     interpret KP_Up+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+0,y=-1);
>     };
>     interpret KP_9+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=-1);
>     };
>     interpret KP_Prior+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=-1);
>     };
>     interpret KP_5+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default);
>     };
>     interpret KP_Begin+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default);
>     };
>     interpret KP_F2+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=1);
>     };
>     interpret KP_Divide+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=1);
>     };
>     interpret KP_F3+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=2);
>     };
>     interpret KP_Multiply+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=2);
>     };
>     interpret KP_F4+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=3);
>     };
>     interpret KP_Subtract+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=3);
>     };
>     interpret KP_Separator+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default,count=2);
>     };
>     interpret KP_Add+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default,count=2);
>     };
>     interpret KP_0+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=lock);
>     };
>     interpret KP_Insert+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=lock);
>     };
>     interpret KP_Decimal+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=unlock);
>     };
>     interpret KP_Delete+AnyOfOrNone(all) {
>         repeat= True;
>         action= LockPtrBtn(button=default,affect=unlock);
>     };
>     interpret F25+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=1);
>     };
>     interpret F26+AnyOfOrNone(all) {
>         repeat= True;
>         action= SetPtrDflt(affect=button,button=2);
>     };
>     interpret F27+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=-1);
>     };
>     interpret F29+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=-1);
>     };
>     interpret F31+AnyOfOrNone(all) {
>         repeat= True;
>         action= PtrBtn(button=default);
>     };
>     interpret F33+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=-1,y=+1);
>     };
>     interpret F35+AnyOfOrNone(all) {
>         repeat= True;
>         action= MovePtr(x=+1,y=+1);
>     };
>     interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
>         action= PtrBtn(button=default);
>     };
>     interpret Pointer_Button1+AnyOfOrNone(all) {
>         action= PtrBtn(button=1);
>     };
>     interpret Pointer_Button2+AnyOfOrNone(all) {
>         action= PtrBtn(button=2);
>     };
>     interpret Pointer_Button3+AnyOfOrNone(all) {
>         action= PtrBtn(button=3);
>     };
>     interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
>         action= PtrBtn(button=default,count=2);
>     };
>     interpret Pointer_DblClick1+AnyOfOrNone(all) {
>         action= PtrBtn(button=1,count=2);
>     };
>     interpret Pointer_DblClick2+AnyOfOrNone(all) {
>         action= PtrBtn(button=2,count=2);
>     };
>     interpret Pointer_DblClick3+AnyOfOrNone(all) {
>         action= PtrBtn(button=3,count=2);
>     };
>     interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=default,affect=both);
>     };
>     interpret Pointer_Drag1+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=1,affect=both);
>     };
>     interpret Pointer_Drag2+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=2,affect=both);
>     };
>     interpret Pointer_Drag3+AnyOfOrNone(all) {
>         action= LockPtrBtn(button=3,affect=both);
>     };
>     interpret Pointer_EnableKeys+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeys);
>     };
>     interpret Pointer_Accelerate+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeysAccel);
>     };
>     interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
>         action= SetPtrDflt(affect=button,button=+1);
>     };
>     interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
>         action= SetPtrDflt(affect=button,button=-1);
>     };
>     interpret AccessX_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=AccessXKeys);
>     };
>     interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=AccessXFeedback);
>     };
>     interpret RepeatKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=RepeatKeys);
>     };
>     interpret SlowKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=SlowKeys);
>     };
>     interpret BounceKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=BounceKeys);
>     };
>     interpret StickyKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=StickyKeys);
>     };
>     interpret MouseKeys_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeys);
>     };
>     interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=MouseKeysAccel);
>     };
>     interpret Overlay1_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=Overlay1);
>     };
>     interpret Overlay2_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=Overlay2);
>     };
>     interpret AudibleBell_Enable+AnyOfOrNone(all) {
>         action= LockControls(controls=AudibleBell);
>     };
>     interpret Terminate_Server+AnyOfOrNone(all) {
>         action= Terminate();
>     };
>     interpret Alt_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Alt,clearLocks);
>     };
>     interpret Alt_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Alt,clearLocks);
>     };
>     interpret Meta_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Meta,clearLocks);
>     };
>     interpret Meta_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Meta,clearLocks);
>     };
>     interpret Super_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Super,clearLocks);
>     };
>     interpret Super_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Super,clearLocks);
>     };
>     interpret Hyper_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Hyper,clearLocks);
>     };
>     interpret Hyper_R+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Hyper,clearLocks);
>     };
>     interpret Shift_L+AnyOfOrNone(all) {
>         action= SetMods(modifiers=Shift,clearLocks);
>     };
>     interpret XF86Switch_VT_1+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=1,!same);
>     };
>     interpret XF86Switch_VT_2+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=2,!same);
>     };
>     interpret XF86Switch_VT_3+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=3,!same);
>     };
>     interpret XF86Switch_VT_4+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=4,!same);
>     };
>     interpret XF86Switch_VT_5+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=5,!same);
>     };
>     interpret XF86Switch_VT_6+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=6,!same);
>     };
>     interpret XF86Switch_VT_7+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=7,!same);
>     };
>     interpret XF86Switch_VT_8+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=8,!same);
>     };
>     interpret XF86Switch_VT_9+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=9,!same);
>     };
>     interpret XF86Switch_VT_10+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=10,!same);
>     };
>     interpret XF86Switch_VT_11+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=11,!same);
>     };
>     interpret XF86Switch_VT_12+AnyOfOrNone(all) {
>         repeat= True;
>         action= SwitchScreen(screen=12,!same);
>     };
>     interpret XF86Ungrab+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret XF86ClearGrab+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret XF86Next_VMode+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret XF86Prev_VMode+AnyOfOrNone(all) {
>         repeat= True;
>         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);
>     };
>     interpret ISO_Level5_Shift+AnyOfOrNone(all) {
>         action= SetMods(modifiers=LevelFive,clearLocks);
>     };
>     interpret ISO_Level5_Latch+AnyOfOrNone(all) {
>         action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
>     };
>     interpret ISO_Level5_Lock+AnyOfOrNone(all) {
>         action= LockMods(modifiers=LevelFive);
>     };
>     interpret Caps_Lock+AnyOfOrNone(all) {
>         action= LockMods(modifiers=Lock);
>     };
>     interpret Any+Exactly(Lock) {
>         action= LockMods(modifiers=Lock);
>     };
>     interpret Any+AnyOf(all) {
>         action= SetMods(modifiers=modMapMods,clearLocks);
>     };
>     indicator "Caps Lock" {
>         !allowExplicit;
>         whichModState= locked;
>         modifiers= Lock;
>     };
>     indicator "Num Lock" {
>         !allowExplicit;
>         whichModState= locked;
>         modifiers= NumLock;
>     };
>     indicator "Scroll Lock" {
>         whichModState= locked;
>         modifiers= ScrollLock;
>     };
>     indicator "Shift Lock" {
>         !allowExplicit;
>         whichModState= locked;
>         modifiers= Shift;
>     };
>     indicator "Group 2" {
>         !allowExplicit;
>         groups= 0xfe;
>     };
>     indicator "Mouse Keys" {
>         indicatorDrivesKeyboard;
>         controls= mouseKeys;
>     };
> };
> 
> xkb_symbols "pc+us(intl)+inet(evdev)" {
> 
>     name[group1]="USA";
> 
>     key  <ESC> {         [          Escape ] };
>     key <AE01> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               1,          exclam,      exclamdown,     onesuperior ]
>     };
>     key <AE02> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               2,              at,     twosuperior, dead_doubleacute ]
>     };
>     key <AE03> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               3,      numbersign,   threesuperior,     dead_macron ]
>     };
>     key <AE04> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               4,          dollar,        currency,        sterling ]
>     };
>     key <AE05> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               5,         percent,        EuroSign,    dead_cedilla ]
>     };
>     key <AE06> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               6, dead_circumflex,      onequarter,     asciicircum ]
>     };
>     key <AE07> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               7,       ampersand,         onehalf,       dead_horn ]
>     };
>     key <AE08> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               8,        asterisk,   threequarters,     dead_ogonek ]
>     };
>     key <AE09> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               9,       parenleft, leftsinglequotemark,      dead_breve ]
>     };
>     key <AE10> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [               0,      parenright, rightsinglequotemark,  dead_abovering ]
>     };
>     key <AE11> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [           minus,      underscore,             yen,   dead_belowdot ]
>     };
>     key <AE12> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [           equal,            plus,        multiply,        division ]
>     };
>     key <BKSP> {         [       BackSpace ] };
>     key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
>     key <AD01> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               q,               Q,      adiaeresis,      Adiaeresis ]
>     };
>     key <AD02> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               w,               W,           aring,           Aring ]
>     };
>     key <AD03> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               e,               E,          eacute,          Eacute ]
>     };
>     key <AD04> {
>         type= "FOUR_LEVEL_SEMIALPHABETIC",
>         symbols[Group1]= [               r,               R,      registered,      registered ]
>     };
>     key <AD05> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               t,               T,           thorn,           THORN ]
>     };
>     key <AD06> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               y,               Y,      udiaeresis,      Udiaeresis ]
>     };
>     key <AD07> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               u,               U,          uacute,          Uacute ]
>     };
>     key <AD08> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               i,               I,          iacute,          Iacute ]
>     };
>     key <AD09> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               o,               O,          oacute,          Oacute ]
>     };
>     key <AD10> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               p,               P,      odiaeresis,      Odiaeresis ]
>     };
>     key <AD11> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [     bracketleft,       braceleft,   guillemotleft, leftdoublequotemark ]
>     };
>     key <AD12> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [    bracketright,      braceright,  guillemotright, rightdoublequotemark ]
>     };
>     key <RTRN> {         [          Return ] };
>     key <LCTL> {         [       Control_L ] };
>     key <AC01> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               a,               A,          aacute,          Aacute ]
>     };
>     key <AC02> {
>         type= "FOUR_LEVEL_SEMIALPHABETIC",
>         symbols[Group1]= [               s,               S,          ssharp,         section ]
>     };
>     key <AC03> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               d,               D,             eth,             ETH ]
>     };
>     key <AC04> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               f,               F,               f,               F ]
>     };
>     key <AC05> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               g,               G,               g,               G ]
>     };
>     key <AC06> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               h,               H,               h,               H ]
>     };
>     key <AC07> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               j,               J,               j,               J ]
>     };
>     key <AC08> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               k,               K,              oe,              OE ]
>     };
>     key <AC09> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               l,               L,          oslash,          Oslash ]
>     };
>     key <AC10> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [       semicolon,           colon,       paragraph,          degree ]
>     };
>     key <AC11> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [      dead_acute,  dead_diaeresis,      apostrophe,        quotedbl ]
>     };
>     key <TLDE> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [      dead_grave,      dead_tilde,           grave,      asciitilde ]
>     };
>     key <LFSH> {         [         Shift_L ] };
>     key <BKSL> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [       backslash,             bar,         notsign,       brokenbar ]
>     };
>     key <AB01> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               z,               Z,              ae,              AE ]
>     };
>     key <AB02> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               x,               X,               x,               X ]
>     };
>     key <AB03> {
>         type= "FOUR_LEVEL_SEMIALPHABETIC",
>         symbols[Group1]= [               c,               C,       copyright,            cent ]
>     };
>     key <AB04> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               v,               V,               v,               V ]
>     };
>     key <AB05> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               b,               B,               b,               B ]
>     };
>     key <AB06> {
>         type= "FOUR_LEVEL_ALPHABETIC",
>         symbols[Group1]= [               n,               N,          ntilde,          Ntilde ]
>     };
>     key <AB07> {
>         type= "FOUR_LEVEL_SEMIALPHABETIC",
>         symbols[Group1]= [               m,               M,              mu,              mu ]
>     };
>     key <AB08> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [           comma,            less,        ccedilla,        Ccedilla ]
>     };
>     key <AB09> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [          period,         greater,   dead_abovedot,      dead_caron ]
>     };
>     key <AB10> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [           slash,        question,    questiondown,       dead_hook ]
>     };
>     key <RTSH> {         [         Shift_R ] };
>     key <KPMU> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [     KP_Multiply,   XF86ClearGrab ]
>     };
>     key <LALT> {         [           Alt_L,          Meta_L ] };
>     key <SPCE> {         [           space ] };
>     key <CAPS> {         [       Caps_Lock ] };
>     key <FK01> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F1, XF86Switch_VT_1 ]
>     };
>     key <FK02> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F2, XF86Switch_VT_2 ]
>     };
>     key <FK03> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F3, XF86Switch_VT_3 ]
>     };
>     key <FK04> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F4, XF86Switch_VT_4 ]
>     };
>     key <FK05> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F5, XF86Switch_VT_5 ]
>     };
>     key <FK06> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F6, XF86Switch_VT_6 ]
>     };
>     key <FK07> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F7, XF86Switch_VT_7 ]
>     };
>     key <FK08> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F8, XF86Switch_VT_8 ]
>     };
>     key <FK09> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [              F9, XF86Switch_VT_9 ]
>     };
>     key <FK10> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [             F10, XF86Switch_VT_10 ]
>     };
>     key <NMLK> {         [        Num_Lock ] };
>     key <SCLK> {         [     Scroll_Lock ] };
>     key  <KP7> {         [         KP_Home,            KP_7 ] };
>     key  <KP8> {         [           KP_Up,            KP_8 ] };
>     key  <KP9> {         [        KP_Prior,            KP_9 ] };
>     key <KPSU> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [     KP_Subtract,  XF86Prev_VMode ]
>     };
>     key  <KP4> {         [         KP_Left,            KP_4 ] };
>     key  <KP5> {         [        KP_Begin,            KP_5 ] };
>     key  <KP6> {         [        KP_Right,            KP_6 ] };
>     key <KPAD> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [          KP_Add,  XF86Next_VMode ]
>     };
>     key  <KP1> {         [          KP_End,            KP_1 ] };
>     key  <KP2> {         [         KP_Down,            KP_2 ] };
>     key  <KP3> {         [         KP_Next,            KP_3 ] };
>     key  <KP0> {         [       KP_Insert,            KP_0 ] };
>     key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
>     key <LVL3> {         [ ISO_Level3_Shift ] };
>     key <LSGT> {
>         type= "FOUR_LEVEL",
>         symbols[Group1]= [            less,         greater,             bar,       brokenbar ]
>     };
>     key <FK11> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [             F11, XF86Switch_VT_11 ]
>     };
>     key <FK12> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [             F12, XF86Switch_VT_12 ]
>     };
>     key <KATA> {         [        Katakana ] };
>     key <HIRA> {         [        Hiragana ] };
>     key <HENK> {         [     Henkan_Mode ] };
>     key <HKTG> {         [ Hiragana_Katakana ] };
>     key <MUHE> {         [        Muhenkan ] };
>     key <KPEN> {         [        KP_Enter ] };
>     key <RCTL> {         [       Control_R ] };
>     key <KPDV> {
>         type= "CTRL+ALT",
>         symbols[Group1]= [       KP_Divide,      XF86Ungrab ]
>     };
>     key <PRSC> {
>         type= "PC_ALT_LEVEL2",
>         symbols[Group1]= [           Print,         Sys_Req ]
>     };
>     key <RALT> {
>         type= "ONE_LEVEL",
>         symbols[Group1]= [ ISO_Level3_Shift ]
>     };
>     key <LNFD> {         [        Linefeed ] };
>     key <HOME> {         [            Home ] };
>     key   <UP> {         [              Up ] };
>     key <PGUP> {         [           Prior ] };
>     key <LEFT> {         [            Left ] };
>     key <RGHT> {         [           Right ] };
>     key  <END> {         [             End ] };
>     key <DOWN> {         [            Down ] };
>     key <PGDN> {         [            Next ] };
>     key  <INS> {         [          Insert ] };
>     key <DELE> {         [          Delete ] };
>     key <MUTE> {         [   XF86AudioMute ] };
>     key <VOL-> {         [ XF86AudioLowerVolume ] };
>     key <VOL+> {         [ XF86AudioRaiseVolume ] };
>     key <POWR> {         [    XF86PowerOff ] };
>     key <KPEQ> {         [        KP_Equal ] };
>     key <I126> {         [       plusminus ] };
>     key <PAUS> {
>         type= "PC_CONTROL_LEVEL2",
>         symbols[Group1]= [           Pause,           Break ]
>     };
>     key <I129> {         [      KP_Decimal,      KP_Decimal ] };
>     key <HNGL> {         [          Hangul ] };
>     key <HJCV> {         [    Hangul_Hanja ] };
>     key <LWIN> {         [         Super_L ] };
>     key <RWIN> {         [         Super_R ] };
>     key <COMP> {         [            Menu ] };
>     key <STOP> {         [          Cancel ] };
>     key <AGAI> {         [            Redo ] };
>     key <PROP> {         [        SunProps ] };
>     key <UNDO> {         [            Undo ] };
>     key <FRNT> {         [        SunFront ] };
>     key <COPY> {         [        XF86Copy ] };
>     key <OPEN> {         [         SunOpen ] };
>     key <PAST> {         [       XF86Paste ] };
>     key <FIND> {         [            Find ] };
>     key  <CUT> {         [         XF86Cut ] };
>     key <HELP> {         [            Help ] };
>     key <I147> {         [      XF86MenuKB ] };
>     key <I148> {         [  XF86Calculator ] };
>     key <I150> {         [       XF86Sleep ] };
>     key <I151> {         [      XF86WakeUp ] };
>     key <I152> {         [    XF86Explorer ] };
>     key <I153> {         [        XF86Send ] };
>     key <I155> {         [        XF86Xfer ] };
>     key <I156> {         [     XF86Launch1 ] };
>     key <I157> {         [     XF86Launch2 ] };
>     key <I158> {         [         XF86WWW ] };
>     key <I159> {         [         XF86DOS ] };
>     key <I160> {         [ XF86ScreenSaver ] };
>     key <I162> {         [ XF86RotateWindows ] };
>     key <I163> {         [        XF86Mail ] };
>     key <I164> {         [   XF86Favorites ] };
>     key <I165> {         [  XF86MyComputer ] };
>     key <I166> {         [        XF86Back ] };
>     key <I167> {         [     XF86Forward ] };
>     key <I169> {         [       XF86Eject ] };
>     key <I170> {         [       XF86Eject,       XF86Eject ] };
>     key <I171> {         [   XF86AudioNext ] };
>     key <I172> {         [   XF86AudioPlay,  XF86AudioPause ] };
>     key <I173> {         [   XF86AudioPrev ] };
>     key <I174> {         [   XF86AudioStop,       XF86Eject ] };
>     key <I175> {         [ XF86AudioRecord ] };
>     key <I176> {         [ XF86AudioRewind ] };
>     key <I177> {         [       XF86Phone ] };
>     key <I179> {         [       XF86Tools ] };
>     key <I180> {         [    XF86HomePage ] };
>     key <I181> {         [      XF86Reload ] };
>     key <I182> {         [       XF86Close ] };
>     key <I185> {         [    XF86ScrollUp ] };
>     key <I186> {         [  XF86ScrollDown ] };
>     key <I187> {         [       parenleft ] };
>     key <I188> {         [      parenright ] };
>     key <I189> {         [         XF86New ] };
>     key <I190> {         [            Redo ] };
>     key <FK13> {         [       XF86Tools ] };
>     key <FK14> {         [     XF86Launch5 ] };
>     key <FK15> {         [     XF86Launch6 ] };
>     key <FK16> {         [     XF86Launch7 ] };
>     key <FK17> {         [     XF86Launch8 ] };
>     key <FK18> {         [     XF86Launch9 ] };
>     key <FK21> {         [ XF86TouchpadToggle ] };
>     key <FK22> {         [  XF86TouchpadOn ] };
>     key <FK23> {         [ XF86TouchpadOff ] };
>     key <MDSW> {         [     Mode_switch ] };
>     key  <ALT> {         [        NoSymbol,           Alt_L ] };
>     key <META> {         [        NoSymbol,          Meta_L ] };
>     key <SUPR> {         [        NoSymbol,         Super_L ] };
>     key <HYPR> {         [        NoSymbol,         Hyper_L ] };
>     key <I208> {         [   XF86AudioPlay ] };
>     key <I209> {         [  XF86AudioPause ] };
>     key <I210> {         [     XF86Launch3 ] };
>     key <I211> {         [     XF86Launch4 ] };
>     key <I213> {         [     XF86Suspend ] };
>     key <I214> {         [       XF86Close ] };
>     key <I215> {         [   XF86AudioPlay ] };
>     key <I216> {         [ XF86AudioForward ] };
>     key <I218> {         [           Print ] };
>     key <I220> {         [      XF86WebCam ] };
>     key <I223> {         [        XF86Mail ] };
>     key <I224> {         [   XF86Messenger ] };
>     key <I225> {         [      XF86Search ] };
>     key <I226> {         [          XF86Go ] };
>     key <I227> {         [     XF86Finance ] };
>     key <I228> {         [        XF86Game ] };
>     key <I229> {         [        XF86Shop ] };
>     key <I231> {         [          Cancel ] };
>     key <I232> {         [ XF86MonBrightnessDown ] };
>     key <I233> {         [ XF86MonBrightnessUp ] };
>     key <I234> {         [  XF86AudioMedia ] };
>     key <I235> {         [     XF86Display ] };
>     key <I236> {         [ XF86KbdLightOnOff ] };
>     key <I237> {         [ XF86KbdBrightnessDown ] };
>     key <I238> {         [ XF86KbdBrightnessUp ] };
>     key <I239> {         [        XF86Send ] };
>     key <I240> {         [       XF86Reply ] };
>     key <I241> {         [ XF86MailForward ] };
>     key <I242> {         [        XF86Save ] };
>     key <I243> {         [   XF86Documents ] };
>     key <I244> {         [     XF86Battery ] };
>     key <I245> {         [   XF86Bluetooth ] };
>     key <I246> {         [        XF86WLAN ] };
>     modifier_map Control { <LCTL> };
>     modifier_map Shift { <LFSH> };
>     modifier_map Shift { <RTSH> };
>     modifier_map Mod1 { <LALT> };
>     modifier_map Lock { <CAPS> };
>     modifier_map Mod2 { <NMLK> };
>     modifier_map Mod5 { <LVL3> };
>     modifier_map Control { <RCTL> };
>     modifier_map Mod4 { <LWIN> };
>     modifier_map Mod4 { <RWIN> };
>     modifier_map Mod5 { <MDSW> };
>     modifier_map Mod1 { <META> };
>     modifier_map Mod4 { <SUPR> };
>     modifier_map Mod4 { <HYPR> };
> };
> 
> xkb_geometry "pc(pc105)" {
> 
>     width=       470;
>     height=      180;
> 
>     alias <AC00> = <CAPS>;
>     alias <AA00> = <LCTL>;
> 
>     baseColor=   "white";
>     labelColor=  "black";
>     xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>     description= "Generic 105";
> 
>     shape "NORM" {
>         corner= 1,
>         { [  18,  18 ] },
>         { [   2,   1 ], [  16,  16 ] }
>     };
>     shape "BKSP" {
>         corner= 1,
>         { [  38,  18 ] },
>         { [   2,   1 ], [  36,  16 ] }
>     };
>     shape "TABK" {
>         corner= 1,
>         { [  28,  18 ] },
>         { [   2,   1 ], [  26,  16 ] }
>     };
>     shape "BKSL" {
>         corner= 1,
>         { [  28,  18 ] },
>         { [   2,   1 ], [  26,  16 ] }
>     };
>     shape "RTRN" {
>         corner= 1,
>         { [   0,   0 ], [  28,   0 ], [  28,  37 ], [   5,  37 ],
>           [   5,  18 ], [   0,  18 ] },
>         { [   2,   1 ], [  26,   1 ], [  26,  35 ], [   7,  35 ],
>           [   7,  16 ], [   2,  16 ] },
>         approx= { [   5,   0 ], [  28,  37 ] }
>     };
>     shape "CAPS" {
>         corner= 1,
>         { [  33,  18 ] },
>         { [   2,   1 ], [  31,  16 ] }
>     };
>     shape "LFSH" {
>         corner= 1,
>         { [  25,  18 ] },
>         { [   2,   1 ], [  23,  16 ] }
>     };
>     shape "RTSH" {
>         corner= 1,
>         { [  50,  18 ] },
>         { [   2,   1 ], [  48,  16 ] }
>     };
>     shape "MODK" {
>         corner= 1,
>         { [  27,  18 ] },
>         { [   2,   1 ], [  25,  16 ] }
>     };
>     shape "SMOD" {
>         corner= 1,
>         { [  23,  18 ] },
>         { [   2,   1 ], [  21,  16 ] }
>     };
>     shape "SPCE" {
>         corner= 1,
>         { [ 113,  18 ] },
>         { [   2,   1 ], [ 111,  16 ] }
>     };
>     shape "KP0" {
>         corner= 1,
>         { [  37,  18 ] },
>         { [   2,   1 ], [  35,  16 ] }
>     };
>     shape "KPAD" {
>         corner= 1,
>         { [  18,  37 ] },
>         { [   2,   1 ], [  16,  35 ] }
>     };
>     shape "LEDS" { { [  75,  20 ] } };
>     shape "LED" { { [   5,   1 ] } };
>     section "Function" {
>         key.color= "grey20";
>         priority=  7;
>         top=       22;
>         left=      19;
>         width=     351;
>         height=    19;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 {  <ESC>, "NORM",   1 },
>                 { <FK01>, "NORM",  20, color="white" },
>                 { <FK02>, "NORM",   1, color="white" },
>                 { <FK03>, "NORM",   1, color="white" },
>                 { <FK04>, "NORM",   1, color="white" },
>                 { <FK05>, "NORM",  11, color="white" },
>                 { <FK06>, "NORM",   1, color="white" },
>                 { <FK07>, "NORM",   1, color="white" },
>                 { <FK08>, "NORM",   1, color="white" },
>                 { <FK09>, "NORM",  11, color="white" },
>                 { <FK10>, "NORM",   1, color="white" },
>                 { <FK11>, "NORM",   1, color="white" },
>                 { <FK12>, "NORM",   1, color="white" },
>                 { <PRSC>, "NORM",   8, color="white" },
>                 { <SCLK>, "NORM",   1, color="white" },
>                 { <PAUS>, "NORM",   1, color="white" }
>             };
>         };
>     }; // End of "Function" section
> 
>     section "Alpha" {
>         key.color= "white";
>         priority=  8;
>         top=       61;
>         left=      19;
>         width=     287;
>         height=    95;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 { <TLDE>, "NORM",   1 }, { <AE01>, "NORM",   1 },
>                 { <AE02>, "NORM",   1 }, { <AE03>, "NORM",   1 },
>                 { <AE04>, "NORM",   1 }, { <AE05>, "NORM",   1 },
>                 { <AE06>, "NORM",   1 }, { <AE07>, "NORM",   1 },
>                 { <AE08>, "NORM",   1 }, { <AE09>, "NORM",   1 },
>                 { <AE10>, "NORM",   1 }, { <AE11>, "NORM",   1 },
>                 { <AE12>, "NORM",   1 },
>                 { <BKSP>, "BKSP",   1, color="grey20" }
>             };
>         };
>         row {
>             top=  20;
>             left= 1;
>             keys {
>                 {  <TAB>, "TABK",   1, color="grey20" },
>                 { <AD01>, "NORM",   1 }, { <AD02>, "NORM",   1 },
>                 { <AD03>, "NORM",   1 }, { <AD04>, "NORM",   1 },
>                 { <AD05>, "NORM",   1 }, { <AD06>, "NORM",   1 },
>                 { <AD07>, "NORM",   1 }, { <AD08>, "NORM",   1 },
>                 { <AD09>, "NORM",   1 }, { <AD10>, "NORM",   1 },
>                 { <AD11>, "NORM",   1 }, { <AD12>, "NORM",   1 },
>                 { <RTRN>, "RTRN",   1, color="grey20" }
>             };
>         };
>         row {
>             top=  39;
>             left= 1;
>             keys {
>                 { <CAPS>, "CAPS",   1, color="grey20" },
>                 { <AC01>, "NORM",   1 }, { <AC02>, "NORM",   1 },
>                 { <AC03>, "NORM",   1 }, { <AC04>, "NORM",   1 },
>                 { <AC05>, "NORM",   1 }, { <AC06>, "NORM",   1 },
>                 { <AC07>, "NORM",   1 }, { <AC08>, "NORM",   1 },
>                 { <AC09>, "NORM",   1 }, { <AC10>, "NORM",   1 },
>                 { <AC11>, "NORM",   1 }, { <BKSL>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  58;
>             left= 1;
>             keys {
>                 { <LFSH>, "LFSH",   1, color="grey20" },
>                 { <LSGT>, "NORM",   1 }, { <AB01>, "NORM",   1 },
>                 { <AB02>, "NORM",   1 }, { <AB03>, "NORM",   1 },
>                 { <AB04>, "NORM",   1 }, { <AB05>, "NORM",   1 },
>                 { <AB06>, "NORM",   1 }, { <AB07>, "NORM",   1 },
>                 { <AB08>, "NORM",   1 }, { <AB09>, "NORM",   1 },
>                 { <AB10>, "NORM",   1 },
>                 { <RTSH>, "RTSH",   1, color="grey20" }
>             };
>         };
>         row {
>             top=  77;
>             left= 1;
>             keys {
>                 { <LCTL>, "MODK",   1, color="grey20" },
>                 { <LWIN>, "SMOD",   1, color="grey20" },
>                 { <LALT>, "SMOD",   1, color="grey20" },
>                 { <SPCE>, "SPCE",   1 },
>                 { <RALT>, "SMOD",   1, color="grey20" },
>                 { <RWIN>, "SMOD",   1, color="grey20" },
>                 { <MENU>, "SMOD",   1, color="grey20" },
>                 { <RCTL>, "SMOD",   1, color="grey20" }
>             };
>         };
>     }; // End of "Alpha" section
> 
>     section "Editing" {
>         key.color= "grey20";
>         priority=  9;
>         top=       61;
>         left=      312;
>         width=     58;
>         height=    95;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },
>                 { <PGUP>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  20;
>             left= 1;
>             keys {
>                 { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },
>                 { <PGDN>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  58;
>             left= 20;
>             keys {
>                 {   <UP>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  77;
>             left= 1;
>             keys {
>                 { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },
>                 { <RGHT>, "NORM",   1 }
>             };
>         };
>     }; // End of "Editing" section
> 
>     section "Keypad" {
>         key.color= "grey20";
>         priority=  10;
>         top=       61;
>         left=      376;
>         width=     77;
>         height=    95;
>         row {
>             top=  1;
>             left= 1;
>             keys {
>                 { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },
>                 { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }
>             };
>         };
>         row {
>             top=  20;
>             left= 1;
>             keys {
>                 {  <KP7>, "NORM",   1, color="white" },
>                 {  <KP8>, "NORM",   1, color="white" },
>                 {  <KP9>, "NORM",   1, color="white" },
>                 { <KPAD>, "KPAD",   1 }
>             };
>         };
>         row {
>             top=  39;
>             left= 1;
>             keys {
>                 {  <KP4>, "NORM",   1, color="white" },
>                 {  <KP5>, "NORM",   1, color="white" },
>                 {  <KP6>, "NORM",   1, color="white" }
>             };
>         };
>         row {
>             top=  58;
>             left= 1;
>             keys {
>                 {  <KP1>, "NORM",   1, color="white" },
>                 {  <KP2>, "NORM",   1, color="white" },
>                 {  <KP3>, "NORM",   1, color="white" },
>                 { <KPEN>, "KPAD",   1 }
>             };
>         };
>         row {
>             top=  77;
>             left= 1;
>             keys {
>                 {  <KP0>, "KP0",   1, color="white" },
>                 { <KPDL>, "NORM",   1, color="white" }
>             };
>         };
>     }; // End of "Keypad" section
> 
>     solid "LedPanel" {
>         top=      22;
>         left=     377;
>         priority= 0;
>         color= "grey10";
>         shape= "LEDS";
>     };
>     indicator "Num Lock" {
>         top=      37;
>         left=     382;
>         priority= 1;
>         onColor= "green";
>         offColor= "green30";
>         shape= "LED";
>     };
>     indicator "Caps Lock" {
>         top=      37;
>         left=     407;
>         priority= 2;
>         onColor= "green";
>         offColor= "green30";
>         shape= "LED";
>     };
>     indicator "Scroll Lock" {
>         top=      37;
>         left=     433;
>         priority= 3;
>         onColor= "green";
>         offColor= "green30";
>         shape= "LED";
>     };
>     text "NumLockLabel" {
>         top=      25;
>         left=     378;
>         priority= 4;
>         width=  19.8;
>         height=  10;
>         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>         text=  "Num\nLock";
>     };
>     text "CapsLockLabel" {
>         top=      25;
>         left=     403;
>         priority= 5;
>         width=  26.4;
>         height=  10;
>         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>         text=  "Caps\nLock";
>     };
>     text "ScrollLockLabel" {
>         top=      25;
>         left=     428;
>         priority= 6;
>         width=  39.6;
>         height=  10;
>         XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
>         text=  "Scroll\nLock";
>     };
> };
> 
> };

> [    74.628] 
> X.Org X Server 1.11.1.902 (1.11.2 RC 2)
> Release Date: 2011-10-28
> [    74.628] X Protocol Version 11, Revision 0
> [    74.628] Build Operating System: Linux 3.1.0-rc4-amd64 x86_64 Debian
> [    74.628] Current Operating System: Linux legolas 3.1.0+ #181 SMP Wed Oct 26 16:11:45 EEST 2011 x86_64
> [    74.628] Kernel command line: BOOT_IMAGE=/vmlinuz-3.1.0+ root=/dev/mapper/sda3_crypt ro quiet
> [    74.628] Build Date: 02 November 2011  10:15:50AM
> [    74.628] xorg-server 2:1.11.1.902-1 (Cyril Brulebois <kibi@debian.org>) 
> [    74.628] Current version of pixman: 0.24.0
> [    74.628] 	Before reporting problems, check http://wiki.x.org
> 	to make sure that you have the latest version.
> [    74.628] Markers: (--) probed, (**) from config file, (==) default setting,
> 	(++) from command line, (!!) notice, (II) informational,
> 	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
> [    74.628] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Nov 29 10:33:01 2011
> [    74.745] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
> [    74.767] (==) No Layout section.  Using the first Screen section.
> [    74.767] (==) No screen section available. Using defaults.
> [    74.767] (**) |-->Screen "Default Screen Section" (0)
> [    74.767] (**) |   |-->Monitor "<default monitor>"
> [    74.801] (==) No monitor specified for screen "Default Screen Section".
> 	Using a default monitor configuration.
> [    74.801] (==) Automatically adding devices
> [    74.801] (==) Automatically enabling devices
> [    74.900] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
> [    74.900] 	Entry deleted from font path.
> [    74.900] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
> [    74.900] 	Entry deleted from font path.
> [    74.900] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
> [    74.900] 	Entry deleted from font path.
> [    75.014] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
> [    75.014] 	Entry deleted from font path.
> [    75.014] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
> [    75.014] 	Entry deleted from font path.
> [    75.081] (==) FontPath set to:
> 	/usr/share/fonts/X11/misc,
> 	/usr/share/fonts/X11/Type1,
> 	/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,
> 	built-ins
> [    75.081] (==) ModulePath set to "/usr/lib/xorg/modules"
> [    75.081] (II) The server relies on udev to provide the list of input devices.
> 	If no devices become available, reconfigure udev or disable AutoAddDevices.
> [    75.081] (II) Loader magic: 0x7fd55d2beae0
> [    75.081] (II) Module ABI versions:
> [    75.081] 	X.Org ANSI C Emulation: 0.4
> [    75.081] 	X.Org Video Driver: 11.0
> [    75.081] 	X.Org XInput driver : 13.0
> [    75.081] 	X.Org Server Extension : 6.0
> [    75.082] (--) PCI:*(0:0:2:0) 8086:0046:1028:040a rev 2, Mem @ 0xf0000000/4194304, 0xe0000000/268435456, I/O @ 0x000070b0/8
> [    75.082] (II) Open ACPI successful (/var/run/acpid.socket)
> [    75.082] (II) LoadModule: "extmod"
> [    75.169] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
> [    75.180] (II) Module extmod: vendor="X.Org Foundation"
> [    75.180] 	compiled for 1.11.1.902, module version = 1.0.0
> [    75.180] 	Module class: X.Org Server Extension
> [    75.180] 	ABI class: X.Org Server Extension, version 6.0
> [    75.180] (II) Loading extension SELinux
> [    75.180] (II) Loading extension MIT-SCREEN-SAVER
> [    75.180] (II) Loading extension XFree86-VidModeExtension
> [    75.180] (II) Loading extension XFree86-DGA
> [    75.180] (II) Loading extension DPMS
> [    75.180] (II) Loading extension XVideo
> [    75.180] (II) Loading extension XVideo-MotionCompensation
> [    75.180] (II) Loading extension X-Resource
> [    75.180] (II) LoadModule: "dbe"
> [    75.180] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
> [    75.184] (II) Module dbe: vendor="X.Org Foundation"
> [    75.184] 	compiled for 1.11.1.902, module version = 1.0.0
> [    75.184] 	Module class: X.Org Server Extension
> [    75.184] 	ABI class: X.Org Server Extension, version 6.0
> [    75.184] (II) Loading extension DOUBLE-BUFFER
> [    75.184] (II) LoadModule: "glx"
> [    75.184] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
> [    75.196] (II) Module glx: vendor="X.Org Foundation"
> [    75.196] 	compiled for 1.11.1.902, module version = 1.0.0
> [    75.196] 	ABI class: X.Org Server Extension, version 6.0
> [    75.196] (==) AIGLX enabled
> [    75.196] (II) Loading extension GLX
> [    75.197] (II) LoadModule: "record"
> [    75.197] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
> [    75.198] (II) Module record: vendor="X.Org Foundation"
> [    75.198] 	compiled for 1.11.1.902, module version = 1.13.0
> [    75.198] 	Module class: X.Org Server Extension
> [    75.198] 	ABI class: X.Org Server Extension, version 6.0
> [    75.198] (II) Loading extension RECORD
> [    75.198] (II) LoadModule: "dri"
> [    75.198] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
> [    75.207] (II) Module dri: vendor="X.Org Foundation"
> [    75.207] 	compiled for 1.11.1.902, module version = 1.0.0
> [    75.207] 	ABI class: X.Org Server Extension, version 6.0
> [    75.207] (II) Loading extension XFree86-DRI
> [    75.207] (II) LoadModule: "dri2"
> [    75.207] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
> [    75.208] (II) Module dri2: vendor="X.Org Foundation"
> [    75.208] 	compiled for 1.11.1.902, module version = 1.2.0
> [    75.208] 	ABI class: X.Org Server Extension, version 6.0
> [    75.208] (II) Loading extension DRI2
> [    75.209] (==) Matched intel as autoconfigured driver 0
> [    75.209] (==) Matched vesa as autoconfigured driver 1
> [    75.209] (==) Matched fbdev as autoconfigured driver 2
> [    75.209] (==) Assigned the driver to the xf86ConfigLayout
> [    75.209] (II) LoadModule: "intel"
> [    75.209] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
> [    75.253] (II) Module intel: vendor="X.Org Foundation"
> [    75.253] 	compiled for 1.11.1.902, module version = 2.17.0
> [    75.253] 	Module class: X.Org Video Driver
> [    75.253] 	ABI class: X.Org Video Driver, version 11.0
> [    75.253] (II) LoadModule: "vesa"
> [    75.253] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
> [    75.266] (II) Module vesa: vendor="X.Org Foundation"
> [    75.266] 	compiled for 1.11.0, module version = 2.3.0
> [    75.266] 	Module class: X.Org Video Driver
> [    75.266] 	ABI class: X.Org Video Driver, version 11.0
> [    75.266] (II) LoadModule: "fbdev"
> [    75.266] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
> [    75.426] (II) Module fbdev: vendor="X.Org Foundation"
> [    75.426] 	compiled for 1.11.0, module version = 0.4.2
> [    75.426] 	ABI class: X.Org Video Driver, version 11.0
> [    75.426] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
> 	i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
> 	E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
> 	965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
> 	4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
> 	Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),
> 	Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),
> 	Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),
> 	Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),
> 	Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server
> [    75.426] (II) VESA: driver for VESA chipsets: vesa
> [    75.426] (II) FBDEV: driver for framebuffer: fbdev
> [    75.426] (++) using VT number 7
> 
> [    75.436] (II) Loading /usr/lib/xorg/modules/drivers/intel_drv.so
> [    75.436] (WW) Falling back to old probe method for vesa
> [    75.436] (WW) Falling back to old probe method for fbdev
> [    75.436] (II) Loading sub module "fbdevhw"
> [    75.436] (II) LoadModule: "fbdevhw"
> [    75.465] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
> [    75.485] (II) Module fbdevhw: vendor="X.Org Foundation"
> [    75.485] 	compiled for 1.11.1.902, module version = 0.0.2
> [    75.485] 	ABI class: X.Org Video Driver, version 11.0
> [    75.485] drmOpenDevice: node name is /dev/dri/card0
> [    75.485] drmOpenDevice: open result is 9, (OK)
> [    75.485] drmOpenByBusid: Searching for BusID pci:0000:00:02.0
> [    75.485] drmOpenDevice: node name is /dev/dri/card0
> [    75.485] drmOpenDevice: open result is 9, (OK)
> [    75.485] drmOpenByBusid: drmOpenMinor returns 9
> [    75.485] drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
> [    75.485] (II) intel(0): Creating default Display subsection in Screen section
> 	"Default Screen Section" for depth/fbbpp 24/32
> [    75.485] (==) intel(0): Depth 24, (--) framebuffer bpp 32
> [    75.485] (==) intel(0): RGB weight 888
> [    75.485] (==) intel(0): Default visual is TrueColor
> [    75.485] (II) intel(0): Integrated Graphics Chipset: Intel(R) Arrandale
> [    75.485] (--) intel(0): Chipset: "Arrandale"
> [    75.485] (**) intel(0): Relaxed fencing enabled
> [    75.485] (**) intel(0): Wait on SwapBuffers? enabled
> [    75.485] (**) intel(0): Triple buffering? enabled
> [    75.485] (**) intel(0): Framebuffer tiled
> [    75.485] (**) intel(0): Pixmaps tiled
> [    75.485] (**) intel(0): 3D buffers tiled
> [    75.485] (**) intel(0): SwapBuffers wait enabled
> [    75.485] (==) intel(0): video overlay key set to 0x101fe
> [    75.621] (II) intel(0): Output eDP1 has no monitor section
> [    75.621] (II) intel(0): Output VGA1 has no monitor section
> [    75.644] (II) intel(0): Output HDMI1 has no monitor section
> [    75.692] (II) intel(0): Output DP1 has no monitor section
> [    75.715] (II) intel(0): Output HDMI2 has no monitor section
> [    75.764] (II) intel(0): Output DP2 has no monitor section
> [    75.899] (II) intel(0): EDID for output eDP1
> [    75.899] (II) intel(0): Manufacturer: AUO  Model: 4147  Serial#: 0
> [    75.899] (II) intel(0): Year: 2009  Week: 1
> [    75.899] (II) intel(0): EDID Version: 1.4
> [    75.899] (II) intel(0): Digital Display Input
> [    75.899] (II) intel(0): 6 bits per channel
> [    75.899] (II) intel(0): Digital interface is DisplayPort
> [    75.899] (II) intel(0): Max Image Size [cm]: horiz.: 30  vert.: 19
> [    75.899] (II) intel(0): Gamma: 2.20
> [    75.899] (II) intel(0): No DPMS capabilities specified
> [    75.899] (II) intel(0): Supported color encodings: RGB 4:4:4 
> [    75.900] (II) intel(0): First detailed timing is preferred mode
> [    75.900] (II) intel(0): Preferred mode is native pixel format and refresh rate
> [    75.900] (II) intel(0): redX: 0.580 redY: 0.340   greenX: 0.330 greenY: 0.575
> [    75.900] (II) intel(0): blueX: 0.155 blueY: 0.135   whiteX: 0.313 whiteY: 0.329
> [    75.900] (II) intel(0): Manufacturer's mask: 0
> [    75.900] (II) intel(0): Supported detailed timing:
> [    75.900] (II) intel(0): clock: 96.2 MHz   Image Size:  303 x 189 mm
> [    75.900] (II) intel(0): h_active: 1440  h_sync: 1504  h_sync_end 1536 h_blank_end 1758 h_border: 0
> [    75.900] (II) intel(0): v_active: 900  v_sync: 903  v_sync_end 906 v_blanking: 912 v_border: 0
> [    75.900] (II) intel(0): Supported detailed timing:
> [    75.900] (II) intel(0): clock: 64.1 MHz   Image Size:  303 x 189 mm
> [    75.900] (II) intel(0): h_active: 1440  h_sync: 1504  h_sync_end 1536 h_blank_end 1758 h_border: 0
> [    75.900] (II) intel(0): v_active: 900  v_sync: 903  v_sync_end 906 v_blanking: 912 v_border: 0
> [    75.900] (II) intel(0):  DV5J1?B141PW4
> [    75.900] (II) intel(0): Unknown vendor-specific block 0
> [    75.900] (II) intel(0): EDID (in hex):
> [    75.900] (II) intel(0): 	00ffffffffffff0006af474100000000
> [    75.900] (II) intel(0): 	01130104951e13780289e59457549327
> [    75.900] (II) intel(0): 	22505400000001010101010101010101
> [    75.900] (II) intel(0): 	0101010101019425a03e51840c304020
> [    75.900] (II) intel(0): 	33002fbd1000001a0d19a03e51840c30
> [    75.900] (II) intel(0): 	402033002fbd1000001a000000fe0044
> [    75.900] (II) intel(0): 	56354a31804231343150573400000000
> [    75.900] (II) intel(0): 	000041211e0000000009010a202000d5
> [    75.900] (II) intel(0): EDID vendor "AUO", prod id 16711
> [    75.900] (II) intel(0): Printing DDC gathered Modelines:
> [    75.900] (II) intel(0): Modeline "1440x900"x0.0   96.20  1440 1504 1536 1758  900 903 906 912 +hsync -vsync (54.7 kHz)
> [    75.900] (II) intel(0): Modeline "1440x900"x0.0   64.13  1440 1504 1536 1758  900 903 906 912 +hsync -vsync (36.5 kHz)
> [    75.900] (II) intel(0): Printing probed modes for output eDP1
> [    75.900] (II) intel(0): Modeline "1440x900"x60.0   96.20  1440 1504 1536 1758  900 903 906 912 +hsync -vsync (54.7 kHz)
> [    75.900] (II) intel(0): Modeline "1440x900"x40.0   64.13  1440 1504 1536 1758  900 903 906 912 +hsync -vsync (36.5 kHz)
> [    75.900] (II) intel(0): EDID for output VGA1
> [    75.923] (II) intel(0): EDID for output HDMI1
> [    75.988] (II) intel(0): EDID for output DP1
> [    76.011] (II) intel(0): EDID for output HDMI2
> [    76.056] (II) intel(0): EDID for output DP2
> [    76.056] (II) intel(0): Output eDP1 connected
> [    76.056] (II) intel(0): Output VGA1 disconnected
> [    76.056] (II) intel(0): Output HDMI1 disconnected
> [    76.056] (II) intel(0): Output DP1 disconnected
> [    76.056] (II) intel(0): Output HDMI2 disconnected
> [    76.056] (II) intel(0): Output DP2 disconnected
> [    76.056] (II) intel(0): Using exact sizes for initial modes
> [    76.056] (II) intel(0): Output eDP1 using initial mode 1440x900
> [    76.056] (II) intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
> [    76.056] (II) intel(0): Kernel page flipping support detected, enabling
> [    76.056] (**) intel(0): Display dimensions: (300, 190) mm
> [    76.056] (**) intel(0): DPI set to (121, 120)
> [    76.056] (II) Loading sub module "fb"
> [    76.056] (II) LoadModule: "fb"
> [    76.056] (II) Loading /usr/lib/xorg/modules/libfb.so
> [    76.541] (II) Module fb: vendor="X.Org Foundation"
> [    76.545] 	compiled for 1.11.1.902, module version = 1.0.0
> [    76.545] 	ABI class: X.Org ANSI C Emulation, version 0.4
> [    76.545] (II) Loading sub module "dri2"
> [    76.545] (II) LoadModule: "dri2"
> [    76.545] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
> [    76.545] (II) Module dri2: vendor="X.Org Foundation"
> [    76.545] 	compiled for 1.11.1.902, module version = 1.2.0
> [    76.545] 	ABI class: X.Org Server Extension, version 6.0
> [    76.545] (II) UnloadModule: "vesa"
> [    76.545] (II) Unloading vesa
> [    76.545] (II) UnloadModule: "fbdev"
> [    76.545] (II) Unloading fbdev
> [    76.545] (II) UnloadModule: "fbdevhw"
> [    76.545] (II) Unloading fbdevhw
> [    76.545] (==) Depth 24 pixmap format is 32 bpp
> [    76.545] (II) intel(0): [DRI2] Setup complete
> [    76.545] (II) intel(0): [DRI2]   DRI driver: i965
> [    76.545] (II) intel(0): Allocated new frame buffer 1472x900 stride 6144, tiled
> [    76.687] (II) UXA(0): Driver registered support for the following operations:
> [    76.687] (II)         solid
> [    76.687] (II)         copy
> [    76.687] (II)         composite (RENDER acceleration)
> [    76.687] (II)         put_image
> [    76.687] (II)         get_image
> [    76.687] (==) intel(0): Backing store disabled
> [    76.687] (==) intel(0): Silken mouse enabled
> [    76.687] (II) intel(0): Initializing HW Cursor
> [    79.120] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
> [    79.120] (==) intel(0): DPMS enabled
> [    79.120] (==) intel(0): Intel XvMC decoder enabled
> [    79.120] (II) intel(0): Set up textured video
> [    79.120] (II) intel(0): [XvMC] xvmc_vld driver initialized.
> [    79.120] (II) intel(0): direct rendering: DRI2 Enabled
> [    79.120] (==) intel(0): hotplug detection: "enabled"
> [    79.120] (--) RandR disabled
> [    79.120] (II) Initializing built-in extension Generic Event Extension
> [    79.120] (II) Initializing built-in extension SHAPE
> [    79.120] (II) Initializing built-in extension MIT-SHM
> [    79.120] (II) Initializing built-in extension XInputExtension
> [    79.120] (II) Initializing built-in extension XTEST
> [    79.120] (II) Initializing built-in extension BIG-REQUESTS
> [    79.120] (II) Initializing built-in extension SYNC
> [    79.120] (II) Initializing built-in extension XKEYBOARD
> [    79.120] (II) Initializing built-in extension XC-MISC
> [    79.120] (II) Initializing built-in extension SECURITY
> [    79.120] (II) Initializing built-in extension XINERAMA
> [    79.120] (II) Initializing built-in extension XFIXES
> [    79.120] (II) Initializing built-in extension RENDER
> [    79.120] (II) Initializing built-in extension RANDR
> [    79.120] (II) Initializing built-in extension COMPOSITE
> [    79.120] (II) Initializing built-in extension DAMAGE
> [    79.120] (II) SELinux: Disabled on system
> [    80.348] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
> [    80.348] (II) AIGLX: enabled GLX_INTEL_swap_event
> [    80.348] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
> [    80.348] (II) AIGLX: enabled GLX_SGI_make_current_read
> [    80.348] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
> [    80.348] (II) AIGLX: Loaded and initialized i965
> [    80.349] (II) GLX: Initialized DRI2 GL provider for screen 0
> [    80.349] (II) intel(0): Setting screen physical size to 381 x 238
> [    82.005] (II) config/udev: Adding input device Power Button (/dev/input/event3)
> [    82.005] (**) Power Button: Applying InputClass "evdev keyboard catchall"
> [    82.005] (II) LoadModule: "evdev"
> [    82.005] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.037] (II) Module evdev: vendor="X.Org Foundation"
> [    82.037] 	compiled for 1.11.0, module version = 2.6.0
> [    82.037] 	Module class: X.Org XInput Driver
> [    82.037] 	ABI class: X.Org XInput driver, version 13.0
> [    82.037] (II) Using input driver 'evdev' for 'Power Button'
> [    82.037] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.037] (**) Power Button: always reports core events
> [    82.037] (**) Power Button: Device: "/dev/input/event3"
> [    82.037] (--) Power Button: Found keys
> [    82.037] (II) Power Button: Configuring as keyboard
> [    82.037] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3/event3"
> [    82.037] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
> [    82.037] (**) Option "xkb_rules" "evdev"
> [    82.037] (**) Option "xkb_model" "pc105"
> [    82.037] (**) Option "xkb_layout" "us"
> [    82.037] (**) Option "xkb_variant" "intl"
> [    82.077] (II) config/udev: Adding input device Video Bus (/dev/input/event14)
> [    82.077] (**) Video Bus: Applying InputClass "evdev keyboard catchall"
> [    82.077] (II) Using input driver 'evdev' for 'Video Bus'
> [    82.077] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.077] (**) Video Bus: always reports core events
> [    82.077] (**) Video Bus: Device: "/dev/input/event14"
> [    82.077] (--) Video Bus: Found keys
> [    82.077] (II) Video Bus: Configuring as keyboard
> [    82.077] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:01/input/input14/event14"
> [    82.077] (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD, id 7)
> [    82.077] (**) Option "xkb_rules" "evdev"
> [    82.077] (**) Option "xkb_model" "pc105"
> [    82.077] (**) Option "xkb_layout" "us"
> [    82.077] (**) Option "xkb_variant" "intl"
> [    82.078] (II) config/udev: Adding input device Power Button (/dev/input/event1)
> [    82.078] (**) Power Button: Applying InputClass "evdev keyboard catchall"
> [    82.078] (II) Using input driver 'evdev' for 'Power Button'
> [    82.078] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.078] (**) Power Button: always reports core events
> [    82.078] (**) Power Button: Device: "/dev/input/event1"
> [    82.078] (--) Power Button: Found keys
> [    82.078] (II) Power Button: Configuring as keyboard
> [    82.078] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input1/event1"
> [    82.078] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 8)
> [    82.078] (**) Option "xkb_rules" "evdev"
> [    82.078] (**) Option "xkb_model" "pc105"
> [    82.078] (**) Option "xkb_layout" "us"
> [    82.078] (**) Option "xkb_variant" "intl"
> [    82.079] (II) config/udev: Adding input device Lid Switch (/dev/input/event0)
> [    82.079] (II) No input driver/identifier specified (ignoring)
> [    82.079] (II) config/udev: Adding input device Sleep Button (/dev/input/event2)
> [    82.079] (**) Sleep Button: Applying InputClass "evdev keyboard catchall"
> [    82.079] (II) Using input driver 'evdev' for 'Sleep Button'
> [    82.079] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.079] (**) Sleep Button: always reports core events
> [    82.079] (**) Sleep Button: Device: "/dev/input/event2"
> [    82.079] (--) Sleep Button: Found keys
> [    82.079] (II) Sleep Button: Configuring as keyboard
> [    82.079] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/device:00/PNP0C0E:00/input/input2/event2"
> [    82.079] (II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD, id 9)
> [    82.079] (**) Option "xkb_rules" "evdev"
> [    82.079] (**) Option "xkb_model" "pc105"
> [    82.079] (**) Option "xkb_layout" "us"
> [    82.079] (**) Option "xkb_variant" "intl"
> [    82.080] (II) config/udev: Adding input device Laptop_Integrated_Webcam_3M (/dev/input/event6)
> [    82.080] (**) Laptop_Integrated_Webcam_3M: Applying InputClass "evdev keyboard catchall"
> [    82.080] (II) Using input driver 'evdev' for 'Laptop_Integrated_Webcam_3M'
> [    82.080] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.080] (**) Laptop_Integrated_Webcam_3M: always reports core events
> [    82.080] (**) Laptop_Integrated_Webcam_3M: Device: "/dev/input/event6"
> [    82.080] (--) Laptop_Integrated_Webcam_3M: Found keys
> [    82.080] (II) Laptop_Integrated_Webcam_3M: Configuring as keyboard
> [    82.080] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4:1.0/input/input6/event6"
> [    82.080] (II) XINPUT: Adding extended input device "Laptop_Integrated_Webcam_3M" (type: KEYBOARD, id 10)
> [    82.080] (**) Option "xkb_rules" "evdev"
> [    82.080] (**) Option "xkb_model" "pc105"
> [    82.080] (**) Option "xkb_layout" "us"
> [    82.080] (**) Option "xkb_variant" "intl"
> [    82.081] (II) config/udev: Adding input device HDA Digital PCBeep (/dev/input/event7)
> [    82.081] (II) No input driver/identifier specified (ignoring)
> [    82.081] (II) config/udev: Adding input device HDA Intel Line Out at Sep Left Jack (/dev/input/event10)
> [    82.081] (II) No input driver/identifier specified (ignoring)
> [    82.082] (II) config/udev: Adding input device HDA Intel HP Out at Ext Right Jack (/dev/input/event11)
> [    82.082] (II) No input driver/identifier specified (ignoring)
> [    82.082] (II) config/udev: Adding input device HDA Intel HDMI/DP (/dev/input/event12)
> [    82.082] (II) No input driver/identifier specified (ignoring)
> [    82.082] (II) config/udev: Adding input device HDA Intel HDMI/DP (/dev/input/event13)
> [    82.082] (II) No input driver/identifier specified (ignoring)
> [    82.083] (II) config/udev: Adding input device HDA Intel Mic at Sep Left Jack (/dev/input/event8)
> [    82.083] (II) No input driver/identifier specified (ignoring)
> [    82.083] (II) config/udev: Adding input device HDA Intel Mic at Ext Right Jack (/dev/input/event9)
> [    82.083] (II) No input driver/identifier specified (ignoring)
> [    82.083] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event4)
> [    82.083] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
> [    82.083] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'
> [    82.083] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.084] (**) AT Translated Set 2 keyboard: always reports core events
> [    82.084] (**) AT Translated Set 2 keyboard: Device: "/dev/input/event4"
> [    82.084] (--) AT Translated Set 2 keyboard: Found keys
> [    82.084] (II) AT Translated Set 2 keyboard: Configuring as keyboard
> [    82.084] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input4/event4"
> [    82.084] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 11)
> [    82.084] (**) Option "xkb_rules" "evdev"
> [    82.084] (**) Option "xkb_model" "pc105"
> [    82.084] (**) Option "xkb_layout" "us"
> [    82.084] (**) Option "xkb_variant" "intl"
> [    82.084] (II) config/udev: Adding input device PS/2 Generic Mouse (/dev/input/event5)
> [    82.084] (**) PS/2 Generic Mouse: Applying InputClass "evdev pointer catchall"
> [    82.084] (II) Using input driver 'evdev' for 'PS/2 Generic Mouse'
> [    82.084] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
> [    82.084] (**) PS/2 Generic Mouse: always reports core events
> [    82.084] (**) PS/2 Generic Mouse: Device: "/dev/input/event5"
> [    82.084] (--) PS/2 Generic Mouse: Found 3 mouse buttons
> [    82.084] (--) PS/2 Generic Mouse: Found relative axes
> [    82.084] (--) PS/2 Generic Mouse: Found x and y relative axes
> [    82.085] (II) PS/2 Generic Mouse: Configuring as mouse
> [    82.085] (**) PS/2 Generic Mouse: YAxisMapping: buttons 4 and 5
> [    82.085] (**) PS/2 Generic Mouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
> [    82.085] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input5/event5"
> [    82.085] (II) XINPUT: Adding extended input device "PS/2 Generic Mouse" (type: MOUSE, id 12)
> [    82.085] (II) PS/2 Generic Mouse: initialized for relative axes.
> [    82.085] (**) PS/2 Generic Mouse: (accel) keeping acceleration scheme 1
> [    82.085] (**) PS/2 Generic Mouse: (accel) acceleration profile 0
> [    82.085] (**) PS/2 Generic Mouse: (accel) acceleration factor: 2.000
> [    82.085] (**) PS/2 Generic Mouse: (accel) acceleration threshold: 4
> [    82.085] (II) config/udev: Adding input device PS/2 Generic Mouse (/dev/input/mouse0)
> [    82.085] (II) No input driver/identifier specified (ignoring)
> [194692.662] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [194774.990] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [194862.547] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [194870.608] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [194879.427] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [194880.045] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [194880.609] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [194881.157] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [195039.870] (II) AIGLX: Suspending AIGLX clients for VT switch
> [195056.650] (II) Open ACPI successful (/var/run/acpid.socket)
> [195056.650] (II) AIGLX: Resuming AIGLX clients after VT switch
> [195059.318] (II) intel(0): EDID vendor "AUO", prod id 16711
> [195059.329] (II) intel(0): Printing DDC gathered Modelines:
> [195059.329] (II) intel(0): Modeline "1440x900"x0.0   96.20  1440 1504 1536 1758  900 903 906 912 +hsync -vsync (54.7 kHz)
> [195059.329] (II) intel(0): Modeline "1440x900"x0.0   64.13  1440 1504 1536 1758  900 903 906 912 +hsync -vsync (36.5 kHz)
> [196402.942] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [196411.611] (EE) Error loading keymap /var/lib/xkb/server-0.xkm
> [196426.788] (EE) Error loading keymap /var/lib/xkb/server-0.xkm


Reply to: