char *default_xkb_keymap = "\ xkb_keymap {\n\ xkb_keycodes \"xfree86\" {\n\ minimum = 8;\n\ maximum = 255;\n\ = 9;\n\ = 10;\n\ = 11;\n\ = 12;\n\ = 13;\n\ = 14;\n\ = 15;\n\ = 16;\n\ = 17;\n\ = 18;\n\ = 19;\n\ = 20;\n\ = 21;\n\ = 22;\n\ = 23;\n\ = 24;\n\ = 25;\n\ = 26;\n\ = 27;\n\ = 28;\n\ = 29;\n\ = 30;\n\ = 31;\n\ = 32;\n\ = 33;\n\ = 34;\n\ = 35;\n\ = 36;\n\ = 37;\n\ = 38;\n\ = 39;\n\ = 40;\n\ = 41;\n\ = 42;\n\ = 43;\n\ = 44;\n\ = 45;\n\ = 46;\n\ = 47;\n\ = 48;\n\ = 49;\n\ = 50;\n\ = 51;\n\ = 52;\n\ = 53;\n\ = 54;\n\ = 55;\n\ = 56;\n\ = 57;\n\ = 58;\n\ = 59;\n\ = 60;\n\ = 61;\n\ = 62;\n\ = 63;\n\ = 64;\n\ = 65;\n\ = 66;\n\ = 67;\n\ = 68;\n\ = 69;\n\ = 70;\n\ = 71;\n\ = 72;\n\ = 73;\n\ = 74;\n\ = 75;\n\ = 76;\n\ = 77;\n\ = 78;\n\ = 79;\n\ = 80;\n\ = 81;\n\ = 82;\n\ = 83;\n\ = 84;\n\ = 85;\n\ = 86;\n\ = 87;\n\ = 88;\n\ = 89;\n\ = 90;\n\ = 91;\n\ = 92;\n\ = 94;\n\ = 95;\n\ = 96;\n\ = 97;\n\ = 98;\n\ = 99;\n\ = 100;\n\ = 102;\n\ = 103;\n\ = 104;\n\ = 105;\n\ = 106;\n\ = 107;\n\ = 108;\n\ = 109;\n\ = 110;\n\ = 111;\n\ = 112;\n\ = 113;\n\ = 114;\n\ = 115;\n\ = 116;\n\ = 117;\n\ = 118;\n\ = 119;\n\ = 120;\n\ = 121;\n\ = 122;\n\ = 123;\n\ = 129;\n\ = 130;\n\ = 131;\n\ = 132;\n\ = 133;\n\ = 134;\n\ = 135;\n\ = 136;\n\ = 137;\n\ = 138;\n\ = 139;\n\ = 140;\n\ = 141;\n\ = 142;\n\ = 143;\n\ = 144;\n\ = 145;\n\ = 146;\n\ = 147;\n\ = 148;\n\ = 149;\n\ = 150;\n\ = 151;\n\ = 152;\n\ = 153;\n\ = 154;\n\ = 155;\n\ = 158;\n\ = 159;\n\ = 160;\n\ = 161;\n\ = 162;\n\ = 163;\n\ = 164;\n\ = 165;\n\ = 166;\n\ = 167;\n\ = 168;\n\ = 169;\n\ = 171;\n\ = 172;\n\ = 173;\n\ = 174;\n\ = 175;\n\ = 176;\n\ = 177;\n\ = 178;\n\ = 179;\n\ = 180;\n\ = 185;\n\ = 186;\n\ = 187;\n\ = 188;\n\ = 194;\n\ = 195;\n\ = 196;\n\ = 197;\n\ = 202;\n\ = 212;\n\ = 213;\n\ = 214;\n\ = 215;\n\ = 216;\n\ = 217;\n\ = 218;\n\ = 222;\n\ = 223;\n\ = 224;\n\ = 225;\n\ = 226;\n\ = 227;\n\ = 228;\n\ = 229;\n\ = 230;\n\ = 231;\n\ = 232;\n\ = 233;\n\ = 234;\n\ = 235;\n\ = 236;\n\ = 237;\n\ = 238;\n\ = 239;\n\ = 240;\n\ = 241;\n\ = 242;\n\ = 243;\n\ = 244;\n\ = 245;\n\ = 246;\n\ = 247;\n\ = 248;\n\ = 249;\n\ = 250;\n\ = 251;\n\ = 252;\n\ = 253;\n\ = 254;\n\ = 255;\n\ indicator 1 = \"Caps Lock\";\n\ indicator 2 = \"Num Lock\";\n\ indicator 3 = \"Scroll Lock\";\n\ virtual indicator 4 = \"Shift Lock\";\n\ virtual indicator 5 = \"Group 2\";\n\ virtual indicator 6 = \"Mouse Keys\";\n\ alias = ;\n\ alias = ;\n\ alias = ;\n\ alias = ;\n\ alias = ;\n\ };\n\ \n\ xkb_types \"complete\" {\n\ \n\ virtual_modifiers NumLock,Alt,LevelThree,AltGr,ScrollLock;\n\ \n\ type \"ONE_LEVEL\" {\n\ modifiers= none;\n\ level_name[Level1]= \"Any\";\n\ };\n\ type \"TWO_LEVEL\" {\n\ modifiers= Shift;\n\ map[Shift]= Level2;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Shift\";\n\ };\n\ type \"ALPHABETIC\" {\n\ modifiers= Shift+Lock;\n\ map[Shift]= Level2;\n\ map[Lock]= Level1;\n\ preserve[Lock]= Lock;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Caps\";\n\ };\n\ type \"KEYPAD\" {\n\ modifiers= Shift+NumLock;\n\ map[Shift]= Level2;\n\ map[NumLock]= Level2;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Number\";\n\ };\n\ type \"SHIFT+ALT\" {\n\ modifiers= Shift+Alt;\n\ map[Shift+Alt]= Level2;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Shift+Alt\";\n\ };\n\ type \"PC_BREAK\" {\n\ modifiers= Control;\n\ map[Control]= Level2;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Control\";\n\ };\n\ type \"PC_SYSRQ\" {\n\ modifiers= Alt;\n\ map[Alt]= Level2;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Alt\";\n\ };\n\ type \"CTRL+ALT\" {\n\ modifiers= Control+Alt;\n\ map[Control+Alt]= Level2;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Ctrl+Alt\";\n\ };\n\ type \"THREE_LEVEL\" {\n\ modifiers= Shift+LevelThree;\n\ map[Shift]= Level2;\n\ map[LevelThree]= Level3;\n\ map[Shift+LevelThree]= Level3;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Shift\";\n\ level_name[Level3]= \"Level3\";\n\ };\n\ type \"FOUR_LEVEL\" {\n\ modifiers= Shift+LevelThree;\n\ map[Shift]= Level2;\n\ map[LevelThree]= Level3;\n\ map[Shift+LevelThree]= Level4;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Shift\";\n\ level_name[Level3]= \"Alt Base\";\n\ level_name[Level4]= \"Shift Alt\";\n\ };\n\ type \"FOUR_LEVEL_KEYPAD\" {\n\ modifiers= Shift+NumLock+LevelThree;\n\ map[Shift]= Level2;\n\ map[NumLock]= Level2;\n\ map[LevelThree]= Level3;\n\ map[Shift+LevelThree]= Level4;\n\ map[NumLock+LevelThree]= Level4;\n\ map[Shift+NumLock+LevelThree]= Level3;\n\ level_name[Level1]= \"Base\";\n\ level_name[Level2]= \"Number\";\n\ level_name[Level3]= \"Alt Base\";\n\ level_name[Level4]= \"Alt Number\";\n\ };\n\ };\n\ \n\ xkb_compatibility \"complete\" {\n\ \n\ virtual_modifiers NumLock,Alt,LevelThree,AltGr,ScrollLock;\n\ \n\ interpret.useModMapMods= AnyLevel;\n\ interpret.repeat= False;\n\ interpret.locking= False;\n\ interpret ISO_Level2_Latch+Exactly(Shift) {\n\ useModMapMods=level1;\n\ action= LatchMods(modifiers=Shift,clearLocks,latchToLock);\n\ };\n\ interpret Shift_Lock+AnyOf(Shift+Lock) {\n\ action= LockMods(modifiers=Shift);\n\ };\n\ interpret Num_Lock+AnyOf(all) {\n\ virtualModifier= NumLock;\n\ action= LockMods(modifiers=NumLock);\n\ };\n\ interpret ISO_Lock+AnyOf(all) {\n\ action= ISOLock(modifiers=modMapMods,affect=all);\n\ };\n\ interpret ISO_Level3_Shift+AnyOf(all) {\n\ virtualModifier= LevelThree;\n\ useModMapMods=level1;\n\ action= SetMods(modifiers=LevelThree,clearLocks);\n\ };\n\ interpret ISO_Level3_Latch+AnyOf(all) {\n\ virtualModifier= LevelThree;\n\ useModMapMods=level1;\n\ action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);\n\ };\n\ interpret Alt_L+AnyOf(all) {\n\ virtualModifier= Alt;\n\ action= SetMods(modifiers=modMapMods,clearLocks);\n\ };\n\ interpret Alt_R+AnyOf(all) {\n\ virtualModifier= Alt;\n\ action= SetMods(modifiers=modMapMods,clearLocks);\n\ };\n\ interpret Scroll_Lock+AnyOf(all) {\n\ virtualModifier= ScrollLock;\n\ action= LockMods(modifiers=modMapMods);\n\ };\n\ interpret Mode_switch+AnyOfOrNone(all) {\n\ virtualModifier= AltGr;\n\ useModMapMods=level1;\n\ action= SetGroup(group=+1);\n\ };\n\ interpret ISO_Group_Latch+AnyOfOrNone(all) {\n\ virtualModifier= AltGr;\n\ useModMapMods=level1;\n\ action= LatchGroup(group=2);\n\ };\n\ interpret ISO_Next_Group+AnyOfOrNone(all) {\n\ virtualModifier= AltGr;\n\ useModMapMods=level1;\n\ action= LockGroup(group=+1);\n\ };\n\ interpret ISO_Prev_Group+AnyOfOrNone(all) {\n\ virtualModifier= AltGr;\n\ useModMapMods=level1;\n\ action= LockGroup(group=-1);\n\ };\n\ interpret ISO_First_Group+AnyOfOrNone(all) {\n\ action= LockGroup(group=1);\n\ };\n\ interpret ISO_Last_Group+AnyOfOrNone(all) {\n\ action= LockGroup(group=2);\n\ };\n\ interpret KP_1+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=-1,y=+1);\n\ };\n\ interpret KP_End+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=-1,y=+1);\n\ };\n\ interpret KP_2+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+0,y=+1);\n\ };\n\ interpret KP_Down+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+0,y=+1);\n\ };\n\ interpret KP_3+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+1,y=+1);\n\ };\n\ interpret KP_Next+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+1,y=+1);\n\ };\n\ interpret KP_4+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=-1,y=+0);\n\ };\n\ interpret KP_Left+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=-1,y=+0);\n\ };\n\ interpret KP_6+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+1,y=+0);\n\ };\n\ interpret KP_Right+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+1,y=+0);\n\ };\n\ interpret KP_7+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=-1,y=-1);\n\ };\n\ interpret KP_Home+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=-1,y=-1);\n\ };\n\ interpret KP_8+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+0,y=-1);\n\ };\n\ interpret KP_Up+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+0,y=-1);\n\ };\n\ interpret KP_9+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+1,y=-1);\n\ };\n\ interpret KP_Prior+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= MovePtr(x=+1,y=-1);\n\ };\n\ interpret KP_5+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= PtrBtn(button=default);\n\ };\n\ interpret KP_Begin+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= PtrBtn(button=default);\n\ };\n\ interpret KP_F2+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= SetPtrDflt(affect=button,button=1);\n\ };\n\ interpret KP_Divide+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= SetPtrDflt(affect=button,button=1);\n\ };\n\ interpret KP_F3+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= SetPtrDflt(affect=button,button=2);\n\ };\n\ interpret KP_Multiply+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= SetPtrDflt(affect=button,button=2);\n\ };\n\ interpret KP_F4+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= SetPtrDflt(affect=button,button=3);\n\ };\n\ interpret KP_Subtract+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= SetPtrDflt(affect=button,button=3);\n\ };\n\ interpret KP_Separator+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= PtrBtn(button=default,count=2);\n\ };\n\ interpret KP_Add+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= PtrBtn(button=default,count=2);\n\ };\n\ interpret KP_0+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= LockPtrBtn(button=default,affect=lock);\n\ };\n\ interpret KP_Insert+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= LockPtrBtn(button=default,affect=lock);\n\ };\n\ interpret KP_Decimal+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= LockPtrBtn(button=default,affect=unlock);\n\ };\n\ interpret KP_Delete+AnyOfOrNone(all) {\n\ repeat= True;\n\ action= LockPtrBtn(button=default,affect=unlock);\n\ };\n\ interpret Pointer_Button_Dflt+AnyOfOrNone(all) {\n\ action= PtrBtn(button=default);\n\ };\n\ interpret Pointer_Button1+AnyOfOrNone(all) {\n\ action= PtrBtn(button=1);\n\ };\n\ interpret Pointer_Button2+AnyOfOrNone(all) {\n\ action= PtrBtn(button=2);\n\ };\n\ interpret Pointer_Button3+AnyOfOrNone(all) {\n\ action= PtrBtn(button=3);\n\ };\n\ interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {\n\ action= PtrBtn(button=default,count=2);\n\ };\n\ interpret Pointer_DblClick1+AnyOfOrNone(all) {\n\ action= PtrBtn(button=1,count=2);\n\ };\n\ interpret Pointer_DblClick2+AnyOfOrNone(all) {\n\ action= PtrBtn(button=2,count=2);\n\ };\n\ interpret Pointer_DblClick3+AnyOfOrNone(all) {\n\ action= PtrBtn(button=3,count=2);\n\ };\n\ interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {\n\ action= LockPtrBtn(button=default,affect=both);\n\ };\n\ interpret Pointer_Drag1+AnyOfOrNone(all) {\n\ action= LockPtrBtn(button=1,affect=both);\n\ };\n\ interpret Pointer_Drag2+AnyOfOrNone(all) {\n\ action= LockPtrBtn(button=2,affect=both);\n\ };\n\ interpret Pointer_Drag3+AnyOfOrNone(all) {\n\ action= LockPtrBtn(button=3,affect=both);\n\ };\n\ interpret Pointer_EnableKeys+AnyOfOrNone(all) {\n\ action= LockControls(controls=MouseKeys);\n\ };\n\ interpret Pointer_Accelerate+AnyOfOrNone(all) {\n\ action= LockControls(controls=MouseKeysAccel);\n\ };\n\ interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {\n\ action= SetPtrDflt(affect=button,button=+1);\n\ };\n\ interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {\n\ action= SetPtrDflt(affect=button,button=-1);\n\ };\n\ interpret AccessX_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=AccessXKeys);\n\ };\n\ interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=AccessXFeedback);\n\ };\n\ interpret RepeatKeys_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=RepeatKeys);\n\ };\n\ interpret SlowKeys_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=SlowKeys);\n\ };\n\ interpret BounceKeys_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=BounceKeys);\n\ };\n\ interpret StickyKeys_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=StickyKeys);\n\ };\n\ interpret MouseKeys_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=MouseKeys);\n\ };\n\ interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=MouseKeysAccel);\n\ };\n\ interpret Overlay1_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=Overlay1);\n\ };\n\ interpret Overlay2_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=Overlay2);\n\ };\n\ interpret AudibleBell_Enable+AnyOfOrNone(all) {\n\ action= LockControls(controls=AudibleBell);\n\ };\n\ interpret Terminate_Server+AnyOfOrNone(all) {\n\ action= Terminate();\n\ };\n\ interpret Any+Exactly(Lock) {\n\ action= LockMods(modifiers=Lock);\n\ };\n\ interpret Any+AnyOf(all) {\n\ action= SetMods(modifiers=modMapMods,clearLocks);\n\ };\n\ group 2 = AltGr;\n\ group 3 = AltGr;\n\ group 4 = AltGr;\n\ indicator \"Caps Lock\" {\n\ !allowExplicit;\n\ whichModState= locked;\n\ modifiers= Lock;\n\ };\n\ indicator \"Num Lock\" {\n\ !allowExplicit;\n\ whichModState= locked;\n\ modifiers= NumLock;\n\ };\n\ indicator \"Scroll Lock\" {\n\ whichModState= locked;\n\ modifiers= ScrollLock;\n\ };\n\ indicator \"Shift Lock\" {\n\ !allowExplicit;\n\ whichModState= locked;\n\ modifiers= Shift;\n\ };\n\ indicator \"Group 2\" {\n\ !allowExplicit;\n\ groups= 0xfe;\n\ };\n\ indicator \"Mouse Keys\" {\n\ indicatorDrivesKeyboard;\n\ controls= mouseKeys;\n\ };\n\ };\n\ \n\ xkb_symbols \"en_US(pc104)\" {\n\ \n\ name[group1]=\"US/ASCII\";\n\ name[group2]=\"ISO9995-3\";\n\ \n\ key { [ Escape ] };\n\ key {\n\ symbols[Group1]= [ 1, exclam ],\n\ symbols[Group2]= [ onesuperior, exclamdown ]\n\ };\n\ key {\n\ symbols[Group1]= [ 2, at ],\n\ symbols[Group2]= [ twosuperior, oneeighth ]\n\ };\n\ key {\n\ symbols[Group1]= [ 3, numbersign ],\n\ symbols[Group2]= [ threesuperior, sterling ]\n\ };\n\ key {\n\ symbols[Group1]= [ 4, dollar ],\n\ symbols[Group2]= [ onequarter, dollar ]\n\ };\n\ key {\n\ symbols[Group1]= [ 5, percent ],\n\ symbols[Group2]= [ onehalf, threeeighths ]\n\ };\n\ key {\n\ symbols[Group1]= [ 6, asciicircum ],\n\ symbols[Group2]= [ threequarters, fiveeighths ]\n\ };\n\ key {\n\ symbols[Group1]= [ 7, ampersand ],\n\ symbols[Group2]= [ braceleft, seveneighths ]\n\ };\n\ key {\n\ symbols[Group1]= [ 8, asterisk ],\n\ symbols[Group2]= [ bracketleft, trademark ]\n\ };\n\ key {\n\ symbols[Group1]= [ 9, parenleft ],\n\ symbols[Group2]= [ bracketright, plusminus ]\n\ };\n\ key {\n\ symbols[Group1]= [ 0, parenright ],\n\ symbols[Group2]= [ braceright, degree ]\n\ };\n\ key {\n\ symbols[Group1]= [ minus, underscore ],\n\ symbols[Group2]= [ backslash, questiondown ]\n\ };\n\ key {\n\ symbols[Group1]= [ equal, plus ],\n\ symbols[Group2]= [ dead_cedilla, dead_ogonek ]\n\ };\n\ key { [ BackSpace ] };\n\ key { [ Tab, ISO_Left_Tab ] };\n\ key {\n\ symbols[Group1]= [ q, Q ],\n\ symbols[Group2]= [ at, Greek_OMEGA ]\n\ };\n\ key {\n\ symbols[Group1]= [ w, W ],\n\ symbols[Group2]= [ lstroke, Lstroke ]\n\ };\n\ key {\n\ symbols[Group1]= [ e, E ],\n\ symbols[Group2]= [ EuroSign ]\n\ };\n\ key {\n\ symbols[Group1]= [ r, R ],\n\ symbols[Group2]= [ paragraph, registered ]\n\ };\n\ key {\n\ symbols[Group1]= [ t, T ],\n\ symbols[Group2]= [ tslash, Tslash ]\n\ };\n\ key {\n\ symbols[Group1]= [ y, Y ],\n\ symbols[Group2]= [ leftarrow, yen ]\n\ };\n\ key {\n\ symbols[Group1]= [ u, U ],\n\ symbols[Group2]= [ downarrow, uparrow ]\n\ };\n\ key {\n\ symbols[Group1]= [ i, I ],\n\ symbols[Group2]= [ rightarrow, idotless ]\n\ };\n\ key {\n\ symbols[Group1]= [ o, O ],\n\ symbols[Group2]= [ oslash, Ooblique ]\n\ };\n\ key {\n\ symbols[Group1]= [ p, P ],\n\ symbols[Group2]= [ thorn, THORN ]\n\ };\n\ key {\n\ symbols[Group1]= [ bracketleft, braceleft ],\n\ symbols[Group2]= [ dead_diaeresis, dead_abovering ]\n\ };\n\ key {\n\ symbols[Group1]= [ bracketright, braceright ],\n\ symbols[Group2]= [ dead_tilde, dead_macron ]\n\ };\n\ key { [ Return ] };\n\ key {\n\ symbols[Group1]= [ Control_L ],\n\ actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]\n\ };\n\ key {\n\ symbols[Group1]= [ a, A ],\n\ symbols[Group2]= [ ae, AE ]\n\ };\n\ key {\n\ symbols[Group1]= [ s, S ],\n\ symbols[Group2]= [ ssharp, section ]\n\ };\n\ key {\n\ symbols[Group1]= [ d, D ],\n\ symbols[Group2]= [ eth, ETH ]\n\ };\n\ key {\n\ symbols[Group1]= [ f, F ],\n\ symbols[Group2]= [ dstroke, ordfeminine ]\n\ };\n\ key {\n\ symbols[Group1]= [ g, G ],\n\ symbols[Group2]= [ eng, ENG ]\n\ };\n\ key {\n\ symbols[Group1]= [ h, H ],\n\ symbols[Group2]= [ hstroke, Hstroke ]\n\ };\n\ key { [ j, J ] };\n\ key {\n\ symbols[Group1]= [ k, K ],\n\ symbols[Group2]= [ kra, ampersand ]\n\ };\n\ key {\n\ symbols[Group1]= [ l, L ],\n\ symbols[Group2]= [ lstroke, Lstroke ]\n\ };\n\ key {\n\ symbols[Group1]= [ semicolon, colon ],\n\ symbols[Group2]= [ dead_acute, dead_doubleacute ]\n\ };\n\ key {\n\ symbols[Group1]= [ apostrophe, quotedbl ],\n\ symbols[Group2]= [ dead_circumflex, dead_caron ]\n\ };\n\ key {\n\ symbols[Group1]= [ grave, asciitilde ],\n\ symbols[Group2]= [ notsign ]\n\ };\n\ key {\n\ symbols[Group1]= [ Shift_L ],\n\ actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]\n\ };\n\ key {\n\ symbols[Group1]= [ backslash, bar ],\n\ symbols[Group2]= [ dead_grave, dead_breve ]\n\ };\n\ key {\n\ symbols[Group1]= [ z, Z ],\n\ symbols[Group2]= [ guillemotleft, less ]\n\ };\n\ key {\n\ symbols[Group1]= [ x, X ],\n\ symbols[Group2]= [ guillemotright, greater ]\n\ };\n\ key {\n\ symbols[Group1]= [ c, C ],\n\ symbols[Group2]= [ cent, copyright ]\n\ };\n\ key {\n\ symbols[Group1]= [ v, V ],\n\ symbols[Group2]= [ leftdoublequotemark, grave ]\n\ };\n\ key {\n\ symbols[Group1]= [ b, B ],\n\ symbols[Group2]= [ rightdoublequotemark, apostrophe ]\n\ };\n\ key { [ n, N ] };\n\ key {\n\ symbols[Group1]= [ m, M ],\n\ symbols[Group2]= [ mu, masculine ]\n\ };\n\ key {\n\ symbols[Group1]= [ comma, less ],\n\ symbols[Group2]= [ horizconnector, multiply ]\n\ };\n\ key {\n\ symbols[Group1]= [ period, greater ],\n\ symbols[Group2]= [ periodcentered, division ]\n\ };\n\ key {\n\ symbols[Group1]= [ slash, question ],\n\ symbols[Group2]= [ dead_belowdot, dead_abovedot ]\n\ };\n\ key {\n\ symbols[Group1]= [ Shift_R ],\n\ actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Multiply ],\n\ actions[Group1]= [ SetPtrDflt(affect=button,button=2) ]\n\ };\n\ key {\n\ symbols[Group1]= [ Alt_L, Meta_L ],\n\ actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks), SetMods(modifiers=modMapMods,clearLocks) ]\n\ };\n\ key { [ space ] };\n\ key {\n\ symbols[Group1]= [ Caps_Lock ],\n\ actions[Group1]= [ LockMods(modifiers=Lock) ]\n\ };\n\ key { [ F1 ] };\n\ key { [ F2 ] };\n\ key { [ F3 ] };\n\ key { [ F4 ] };\n\ key { [ F5 ] };\n\ key { [ F6 ] };\n\ key { [ F7 ] };\n\ key { [ F8 ] };\n\ key { [ F9 ] };\n\ key { [ F10 ] };\n\ key {\n\ symbols[Group1]= [ Num_Lock, Pointer_EnableKeys ],\n\ actions[Group1]= [ LockMods(modifiers=NumLock), LockControls(controls=MouseKeys) ]\n\ };\n\ key {\n\ symbols[Group1]= [ Scroll_Lock ],\n\ actions[Group1]= [ LockMods(modifiers=modMapMods) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Home, KP_7 ],\n\ actions[Group1]= [ MovePtr(x=-1,y=-1), MovePtr(x=-1,y=-1) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Up, KP_8 ],\n\ actions[Group1]= [ MovePtr(x=+0,y=-1), MovePtr(x=+0,y=-1) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Prior, KP_9 ],\n\ actions[Group1]= [ MovePtr(x=+1,y=-1), MovePtr(x=+1,y=-1) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Subtract ],\n\ actions[Group1]= [ SetPtrDflt(affect=button,button=3) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Left, KP_4 ],\n\ actions[Group1]= [ MovePtr(x=-1,y=+0), MovePtr(x=-1,y=+0) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Begin, KP_5 ],\n\ actions[Group1]= [ PtrBtn(button=default), PtrBtn(button=default) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Right, KP_6 ],\n\ actions[Group1]= [ MovePtr(x=+1,y=+0), MovePtr(x=+1,y=+0) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Add ],\n\ actions[Group1]= [ PtrBtn(button=default,count=2) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_End, KP_1 ],\n\ actions[Group1]= [ MovePtr(x=-1,y=+1), MovePtr(x=-1,y=+1) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Down, KP_2 ],\n\ actions[Group1]= [ MovePtr(x=+0,y=+1), MovePtr(x=+0,y=+1) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Next, KP_3 ],\n\ actions[Group1]= [ MovePtr(x=+1,y=+1), MovePtr(x=+1,y=+1) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Insert, KP_0 ],\n\ actions[Group1]= [ LockPtrBtn(button=default,affect=lock), LockPtrBtn(button=default,affect=lock) ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Delete, KP_Decimal ],\n\ actions[Group1]= [ LockPtrBtn(button=default,affect=unlock), LockPtrBtn(button=default,affect=unlock) ]\n\ };\n\ key {\n\ type= \"PC_SYSRQ\",\n\ symbols[Group1]= [ Print, Sys_Req ]\n\ };\n\ key { [ F11 ] };\n\ key { [ F12 ] };\n\ key { [ Home ] };\n\ key { [ Up ] };\n\ key { [ Prior ] };\n\ key { [ Left ] };\n\ key { [ Right ] };\n\ key { [ End ] };\n\ key { [ Down ] };\n\ key { [ Next ] };\n\ key { [ Insert ] };\n\ key { [ Delete ] };\n\ key { [ KP_Enter ] };\n\ key {\n\ symbols[Group1]= [ Control_R ],\n\ actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]\n\ };\n\ key {\n\ type= \"PC_BREAK\",\n\ symbols[Group1]= [ Pause, Break ]\n\ };\n\ key {\n\ type= \"PC_SYSRQ\",\n\ symbols[Group1]= [ Print, Sys_Req ]\n\ };\n\ key {\n\ symbols[Group1]= [ KP_Divide ],\n\ actions[Group1]= [ SetPtrDflt(affect=button,button=1) ]\n\ };\n\ key {\n\ symbols[Group1]= [ Mode_switch ],\n\ actions[Group1]= [ SetGroup(group=+1) ]\n\ };\n\ key {\n\ type= \"PC_BREAK\",\n\ symbols[Group1]= [ Pause, Break ]\n\ };\n\ key {\n\ symbols[Group1]= [ Super_L ],\n\ actions[Group1]= [ SetMods(modifiers=modMapMods,clearLocks) ]\n\ };\n\ key { [ Multi_key ] };\n\ key { [ Menu ] };\n\ modifier_map Control { };\n\ modifier_map Shift { };\n\ modifier_map Shift { };\n\ modifier_map Mod1 { };\n\ modifier_map Lock { };\n\ modifier_map Mod2 { };\n\ modifier_map Mod5 { };\n\ modifier_map Control { };\n\ modifier_map Mod3 { };\n\ modifier_map Mod4 { };\n\ };\n\ \n\ xkb_geometry \"pc(pc104)\" {\n\ \n\ width= 470;\n\ height= 210;\n\ \n\ alias = ;\n\ alias = ;\n\ \n\ baseColor= \"white\";\n\ labelColor= \"black\";\n\ xfont= \"-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1\";\n\ description= \"Generic 104\";\n\ \n\ shape \"NORM\" {\n\ corner= 1,\n\ { [ 18, 18 ] },\n\ { [ 2, 1 ], [ 16, 16 ] }\n\ };\n\ shape \"BKSP\" {\n\ corner= 1,\n\ { [ 38, 18 ] },\n\ { [ 2, 1 ], [ 36, 16 ] }\n\ };\n\ shape \"TABK\" {\n\ corner= 1,\n\ { [ 28, 18 ] },\n\ { [ 2, 1 ], [ 26, 16 ] }\n\ };\n\ shape \"BKSL\" {\n\ corner= 1,\n\ { [ 28, 18 ] },\n\ { [ 2, 1 ], [ 26, 16 ] }\n\ };\n\ shape \"RTRN\" {\n\ corner= 1,\n\ { [ 42, 18 ] },\n\ { [ 2, 1 ], [ 40, 16 ] }\n\ };\n\ shape \"CAPS\" {\n\ corner= 1,\n\ { [ 33, 18 ] },\n\ { [ 2, 1 ], [ 31, 16 ] }\n\ };\n\ shape \"LFSH\" {\n\ corner= 1,\n\ { [ 42, 18 ] },\n\ { [ 2, 1 ], [ 40, 16 ] }\n\ };\n\ shape \"RTSH\" {\n\ corner= 1,\n\ { [ 52, 18 ] },\n\ { [ 2, 1 ], [ 50, 16 ] }\n\ };\n\ shape \"MODK\" {\n\ corner= 1,\n\ { [ 27, 18 ] },\n\ { [ 2, 1 ], [ 25, 16 ] }\n\ };\n\ shape \"SMOD\" {\n\ corner= 1,\n\ { [ 23, 18 ] },\n\ { [ 2, 1 ], [ 21, 16 ] }\n\ };\n\ shape \"SPCE\" {\n\ corner= 1,\n\ { [ 113, 18 ] },\n\ { [ 2, 1 ], [ 111, 16 ] }\n\ };\n\ shape \"KP0\" {\n\ corner= 1,\n\ { [ 37, 18 ] },\n\ { [ 2, 1 ], [ 35, 16 ] }\n\ };\n\ shape \"KPAD\" {\n\ corner= 1,\n\ { [ 18, 37 ] },\n\ { [ 2, 1 ], [ 16, 35 ] }\n\ };\n\ shape \"LEDS\" { { [ 75, 20 ] } };\n\ shape \"LED\" { { [ 5, 1 ] } };\n\ section \"Function\" {\n\ key.color= \"grey20\";\n\ priority= 7;\n\ top= 52;\n\ left= 19;\n\ width= 351;\n\ height= 19;\n\ row {\n\ top= 1;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1 },\n\ { , \"NORM\", 20, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 11, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 11, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 8, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" }\n\ };\n\ };\n\ }; // End of \"Function\" section\n\ \n\ section \"Alpha\" {\n\ key.color= \"white\";\n\ priority= 8;\n\ top= 91;\n\ left= 19;\n\ width= 287;\n\ height= 95;\n\ row {\n\ top= 1;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 },\n\ { , \"BKSP\", 1, color=\"grey20\" }\n\ };\n\ };\n\ row {\n\ top= 20;\n\ left= 1;\n\ keys {\n\ { , \"TABK\", 1, color=\"grey20\" },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"BKSL\", 1 }\n\ };\n\ };\n\ row {\n\ top= 39;\n\ left= 1;\n\ keys {\n\ { , \"CAPS\", 1, color=\"grey20\" },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 },\n\ { , \"RTRN\", 1, color=\"grey20\" }\n\ };\n\ };\n\ row {\n\ top= 58;\n\ left= 1;\n\ keys {\n\ { , \"LFSH\", 1, color=\"grey20\" },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"RTSH\", 1, color=\"grey20\" }\n\ };\n\ };\n\ row {\n\ top= 77;\n\ left= 1;\n\ keys {\n\ { , \"MODK\", 1, color=\"grey20\" },\n\ { , \"SMOD\", 1, color=\"grey20\" },\n\ { , \"SMOD\", 1, color=\"grey20\" },\n\ { , \"SPCE\", 1 },\n\ { , \"SMOD\", 1, color=\"grey20\" },\n\ { , \"SMOD\", 1, color=\"grey20\" },\n\ { , \"SMOD\", 1, color=\"grey20\" },\n\ { , \"SMOD\", 1, color=\"grey20\" }\n\ };\n\ };\n\ }; // End of \"Alpha\" section\n\ \n\ section \"Editing\" {\n\ key.color= \"grey20\";\n\ priority= 9;\n\ top= 91;\n\ left= 312;\n\ width= 58;\n\ height= 95;\n\ row {\n\ top= 1;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }\n\ };\n\ };\n\ row {\n\ top= 20;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }\n\ };\n\ };\n\ row {\n\ top= 58;\n\ left= 20;\n\ keys {\n\ { , \"NORM\", 1 }\n\ };\n\ };\n\ row {\n\ top= 77;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }\n\ };\n\ };\n\ }; // End of \"Editing\" section\n\ \n\ section \"Keypad\" {\n\ key.color= \"grey20\";\n\ priority= 10;\n\ top= 91;\n\ left= 376;\n\ width= 77;\n\ height= 95;\n\ row {\n\ top= 1;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 },\n\ { , \"NORM\", 1 }, { , \"NORM\", 1 }\n\ };\n\ };\n\ row {\n\ top= 20;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"KPAD\", 1 }\n\ };\n\ };\n\ row {\n\ top= 39;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" }\n\ };\n\ };\n\ row {\n\ top= 58;\n\ left= 1;\n\ keys {\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" },\n\ { , \"KPAD\", 1 }\n\ };\n\ };\n\ row {\n\ top= 77;\n\ left= 1;\n\ keys {\n\ { , \"KP0\", 1, color=\"white\" },\n\ { , \"NORM\", 1, color=\"white\" }\n\ };\n\ };\n\ }; // End of \"Keypad\" section\n\ \n\ solid \"LedPanel\" {\n\ top= 52;\n\ left= 377;\n\ priority= 0;\n\ color= \"grey10\";\n\ shape= \"LEDS\";\n\ };\n\ indicator \"NumLock\" {\n\ top= 67;\n\ left= 382;\n\ priority= 1;\n\ onColor= \"green\";\n\ offColor= \"green30\";\n\ shape= \"LED\";\n\ };\n\ indicator \"CapsLock\" {\n\ top= 67;\n\ left= 407;\n\ priority= 2;\n\ onColor= \"green\";\n\ offColor= \"green30\";\n\ shape= \"LED\";\n\ };\n\ indicator \"ScrollLock\" {\n\ top= 67;\n\ left= 433;\n\ priority= 3;\n\ onColor= \"green\";\n\ offColor= \"green30\";\n\ shape= \"LED\";\n\ };\n\ text \"NumLockLabel\" {\n\ top= 55;\n\ left= 378;\n\ priority= 4;\n\ width= 19.8;\n\ height= 10;\n\ XFont= \"-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1\";\n\ text= \"Num\\nLock\";\n\ };\n\ text \"CapsLockLabel\" {\n\ top= 55;\n\ left= 403;\n\ priority= 5;\n\ width= 26.4;\n\ height= 10;\n\ XFont= \"-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1\";\n\ text= \"Caps\\nLock\";\n\ };\n\ text \"ScrollLockLabel\" {\n\ top= 55;\n\ left= 428;\n\ priority= 6;\n\ width= 39.6;\n\ height= 10;\n\ XFont= \"-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1\";\n\ text= \"Scroll\\nLock\";\n\ };\n\ };\n\ \n\ };\n\ \0";