Edit

kc3-lang/libxkbcommon/test/data/keymaps/stringcomp.data

Branch :

  • Show log

    Commit

  • Author : Daniel Stone
    Date : 2012-07-12 12:02:19
    Hash : 059c1842
    Message : Move test data files to test/data/keymaps Signed-off-by: Daniel Stone <daniel@fooishbar.org>

  • test/data/keymaps/stringcomp.data
  • xkb_keymap {
    	xkb_keycodes {
    		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;
    		<I128> = 128;
    		<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;
    		<I212> = 212;
    		<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";
    		indicator 12 = "Shift Lock";
    		indicator 13 = "Group 2";
    		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 {
    
    		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= Shift+Control+Alt+LevelThree;
    			map[Shift]= Level2;
    			map[LevelThree]= Level3;
    			map[Shift+LevelThree]= Level4;
    			map[Control+Alt]= Level5;
    			level_name[Level1]= "Base";
    			level_name[Level2]= "Shift";
    			level_name[Level3]= "Alt Base";
    			level_name[Level4]= "Shift Alt";
    			level_name[Level5]= "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 {
    
    		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= NoAction();
    		};
    		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=none);
    		};
    		interpret Overlay2_Enable+AnyOfOrNone(all) {
    			action= LockControls(controls=none);
    		};
    		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 XF86LogGrabInfo+AnyOfOrNone(all) {
    			repeat= true;
    			action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
    		};
    		interpret XF86LogWindowTree+AnyOfOrNone(all) {
    			repeat= true;
    			action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
    		};
    		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);
    		};
    		group 2 = AltGr;
    		group 3 = AltGr;
    		group 4 = AltGr;
    		indicator "Caps Lock" {
    			whichModState= locked;
    			modifiers= Lock;
    		};
    		indicator "Num Lock" {
    			whichModState= locked;
    			modifiers= NumLock;
    		};
    		indicator "Scroll Lock" {
    			whichModState= locked;
    			modifiers= ScrollLock;
    		};
    		indicator "Shift Lock" {
    			whichModState= locked;
    			modifiers= Shift;
    		};
    		indicator "Group 2" {
    			groups= 0xfe;
    		};
    		indicator "Mouse Keys" {
    			controls= mouseKeys;
    		};
    	};
    
    	xkb_symbols {
    
    		name[group1]="English (US)";
    
    		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,       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> {	[        NoSymbol,        NoSymbol ] };
    		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,     KP_Multiply,     KP_Multiply,     KP_Multiply,   XF86ClearGrab ]
    		};
    		key <LALT> {	[           Alt_L,          Meta_L ] };
    		key <SPCE> {	[           space ] };
    		key <CAPS> {	[       Caps_Lock ] };
    		key <FK01> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F1,              F1,              F1,              F1, XF86Switch_VT_1 ]
    		};
    		key <FK02> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F2,              F2,              F2,              F2, XF86Switch_VT_2 ]
    		};
    		key <FK03> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F3,              F3,              F3,              F3, XF86Switch_VT_3 ]
    		};
    		key <FK04> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F4,              F4,              F4,              F4, XF86Switch_VT_4 ]
    		};
    		key <FK05> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F5,              F5,              F5,              F5, XF86Switch_VT_5 ]
    		};
    		key <FK06> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F6,              F6,              F6,              F6, XF86Switch_VT_6 ]
    		};
    		key <FK07> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F7,              F7,              F7,              F7, XF86Switch_VT_7 ]
    		};
    		key <FK08> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F8,              F8,              F8,              F8, XF86Switch_VT_8 ]
    		};
    		key <FK09> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [              F9,              F9,              F9,              F9, XF86Switch_VT_9 ]
    		};
    		key <FK10> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [             F10,             F10,             F10,             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,     KP_Subtract,     KP_Subtract,     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,          KP_Add,          KP_Add,          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,             F11,             F11,             F11, XF86Switch_VT_11 ]
    		};
    		key <FK12> {
    			type= "CTRL+ALT",
    			symbols[Group1]= [             F12,             F12,             F12,             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,       KP_Divide,       KP_Divide,       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 <I128> {	[     XF86LaunchA ] };
    		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 <I212> {	[     XF86LaunchB ] };
    		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> };
    	};
    
    };