test/data: change quartz.xkb from CRLF to LF
authorRan Benita <ran@unusedvar.com>
Mon, 7 Sep 2020 08:15:43 +0000 (11:15 +0300)
committerRan Benita <ran@unusedvar.com>
Mon, 7 Sep 2020 08:19:45 +0000 (11:19 +0300)
Signed-off-by: Ran Benita <ran@unusedvar.com>
test/data/keymaps/quartz.xkb

index 92ab623..f932190 100644 (file)
-xkb_keymap {\r
-xkb_keycodes "empty_aliases(qwerty)" {\r
-    minimum = 8;\r
-    maximum = 255;\r
-    virtual indicator 1 = "Caps Lock";\r
-    virtual indicator 2 = "Num Lock";\r
-    virtual indicator 3 = "Shift Lock";\r
-    virtual indicator 4 = "Group 2";\r
-    virtual indicator 5 = "Mouse Keys";\r
-    virtual indicator 6 = "Scroll Lock";\r
-};\r
-\r
-xkb_types "complete" {\r
-\r
-    virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;\r
-\r
-    type "ONE_LEVEL" {\r
-        modifiers= none;\r
-        level_name[Level1]= "Any";\r
-    };\r
-    type "TWO_LEVEL" {\r
-        modifiers= Shift;\r
-        map[Shift]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-    };\r
-    type "ALPHABETIC" {\r
-        modifiers= Shift+Lock;\r
-        map[Shift]= Level2;\r
-        map[Lock]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Caps";\r
-    };\r
-    type "KEYPAD" {\r
-        modifiers= Shift+NumLock;\r
-        map[Shift]= Level2;\r
-        map[NumLock]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Number";\r
-    };\r
-    type "SHIFT+ALT" {\r
-        modifiers= Shift+Alt;\r
-        map[Shift+Alt]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift+Alt";\r
-    };\r
-    type "PC_CONTROL_LEVEL2" {\r
-        modifiers= Control;\r
-        map[Control]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Control";\r
-    };\r
-    type "PC_LCONTROL_LEVEL2" {\r
-        modifiers= LControl;\r
-        map[LControl]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "LControl";\r
-    };\r
-    type "PC_RCONTROL_LEVEL2" {\r
-        modifiers= RControl;\r
-        map[RControl]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "RControl";\r
-    };\r
-    type "PC_ALT_LEVEL2" {\r
-        modifiers= Alt;\r
-        map[Alt]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Alt";\r
-    };\r
-    type "PC_LALT_LEVEL2" {\r
-        modifiers= LAlt;\r
-        map[LAlt]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "LAlt";\r
-    };\r
-    type "PC_RALT_LEVEL2" {\r
-        modifiers= RAlt;\r
-        map[RAlt]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "RAlt";\r
-    };\r
-    type "CTRL+ALT" {\r
-        modifiers= Control+Alt;\r
-        map[Control+Alt]= Level2;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Ctrl+Alt";\r
-    };\r
-    type "LOCAL_EIGHT_LEVEL" {\r
-        modifiers= Shift+Lock+Control+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[Lock]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+Lock+LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Lock+LevelThree]= Level4;\r
-        map[Control]= Level5;\r
-        map[Shift+Lock+Control]= Level5;\r
-        map[Shift+Control]= Level6;\r
-        map[Lock+Control]= Level6;\r
-        map[Control+LevelThree]= Level7;\r
-        map[Shift+Lock+Control+LevelThree]= Level7;\r
-        map[Shift+Control+LevelThree]= Level8;\r
-        map[Lock+Control+LevelThree]= Level8;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Level3";\r
-        level_name[Level4]= "Shift Level3";\r
-        level_name[Level5]= "Ctrl";\r
-        level_name[Level6]= "Shift Ctrl";\r
-        level_name[Level7]= "Level3 Ctrl";\r
-        level_name[Level8]= "Shift Level3 Ctrl";\r
-    };\r
-    type "THREE_LEVEL" {\r
-        modifiers= Shift+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level3;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Level3";\r
-    };\r
-    type "EIGHT_LEVEL" {\r
-        modifiers= Shift+LevelThree+LevelFive;\r
-        map[Shift]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[LevelFive]= Level5;\r
-        map[Shift+LevelFive]= Level6;\r
-        map[LevelThree+LevelFive]= Level7;\r
-        map[Shift+LevelThree+LevelFive]= Level8;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-        level_name[Level5]= "X";\r
-        level_name[Level6]= "X Shift";\r
-        level_name[Level7]= "X Alt Base";\r
-        level_name[Level8]= "X Shift Alt";\r
-    };\r
-    type "EIGHT_LEVEL_ALPHABETIC" {\r
-        modifiers= Shift+Lock+LevelThree+LevelFive;\r
-        map[Shift]= Level2;\r
-        map[Lock]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Lock+LevelThree]= Level4;\r
-        map[Shift+Lock+LevelThree]= Level3;\r
-        map[LevelFive]= Level5;\r
-        map[Shift+LevelFive]= Level6;\r
-        map[Lock+LevelFive]= Level6;\r
-        map[LevelThree+LevelFive]= Level7;\r
-        map[Shift+LevelThree+LevelFive]= Level8;\r
-        map[Lock+LevelThree+LevelFive]= Level8;\r
-        map[Shift+Lock+LevelThree+LevelFive]= Level7;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-        level_name[Level5]= "X";\r
-        level_name[Level6]= "X Shift";\r
-        level_name[Level7]= "X Alt Base";\r
-        level_name[Level8]= "X Shift Alt";\r
-    };\r
-    type "EIGHT_LEVEL_SEMIALPHABETIC" {\r
-        modifiers= Shift+Lock+LevelThree+LevelFive;\r
-        map[Shift]= Level2;\r
-        map[Lock]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Lock+LevelThree]= Level3;\r
-        preserve[Lock+LevelThree]= Lock;\r
-        map[Shift+Lock+LevelThree]= Level4;\r
-        preserve[Shift+Lock+LevelThree]= Lock;\r
-        map[LevelFive]= Level5;\r
-        map[Shift+LevelFive]= Level6;\r
-        map[Lock+LevelFive]= Level6;\r
-        preserve[Lock+LevelFive]= Lock;\r
-        map[LevelThree+LevelFive]= Level7;\r
-        map[Shift+LevelThree+LevelFive]= Level8;\r
-        map[Lock+LevelThree+LevelFive]= Level7;\r
-        preserve[Lock+LevelThree+LevelFive]= Lock;\r
-        map[Shift+Lock+LevelThree+LevelFive]= Level8;\r
-        preserve[Shift+Lock+LevelThree+LevelFive]= Lock;\r
-        map[Shift+Lock+LevelFive]= Level1;\r
-        preserve[Shift+Lock+LevelFive]= Lock;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-        level_name[Level5]= "X";\r
-        level_name[Level6]= "X Shift";\r
-        level_name[Level7]= "X Alt Base";\r
-        level_name[Level8]= "X Shift Alt";\r
-    };\r
-    type "FOUR_LEVEL" {\r
-        modifiers= Shift+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-    };\r
-    type "FOUR_LEVEL_ALPHABETIC" {\r
-        modifiers= Shift+Lock+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[Lock]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Lock+LevelThree]= Level4;\r
-        map[Shift+Lock+LevelThree]= Level3;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-    };\r
-    type "FOUR_LEVEL_SEMIALPHABETIC" {\r
-        modifiers= Shift+Lock+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[Lock]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Lock+LevelThree]= Level3;\r
-        preserve[Lock+LevelThree]= Lock;\r
-        map[Shift+Lock+LevelThree]= Level4;\r
-        preserve[Shift+Lock+LevelThree]= Lock;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-    };\r
-    type "FOUR_LEVEL_MIXED_KEYPAD" {\r
-        modifiers= Shift+NumLock+LevelThree;\r
-        map[NumLock]= Level2;\r
-        map[Shift]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[NumLock+LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Shift+NumLock+LevelThree]= Level4;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Number";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-    };\r
-    type "FOUR_LEVEL_X" {\r
-        modifiers= Shift+Control+Alt+LevelThree;\r
-        map[LevelThree]= Level2;\r
-        map[Shift+LevelThree]= Level3;\r
-        map[Control+Alt]= Level4;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Alt Base";\r
-        level_name[Level3]= "Shift Alt";\r
-        level_name[Level4]= "Ctrl+Alt";\r
-    };\r
-    type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {\r
-        modifiers= Shift+Lock+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[Lock]= Level4;\r
-        preserve[Lock]= Lock;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Lock+LevelThree]= Level3;\r
-        preserve[Lock+LevelThree]= Lock;\r
-        map[Shift+Lock+LevelThree]= Level3;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "AltGr Base";\r
-        level_name[Level4]= "Shift AltGr";\r
-    };\r
-    type "FOUR_LEVEL_PLUS_LOCK" {\r
-        modifiers= Shift+Lock+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[Lock]= Level5;\r
-        map[Shift+Lock]= Level2;\r
-        map[Lock+LevelThree]= Level3;\r
-        map[Shift+Lock+LevelThree]= Level4;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Shift";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Shift Alt";\r
-        level_name[Level5]= "Lock";\r
-    };\r
-    type "FOUR_LEVEL_KEYPAD" {\r
-        modifiers= Shift+NumLock+LevelThree;\r
-        map[Shift]= Level2;\r
-        map[NumLock]= Level2;\r
-        map[LevelThree]= Level3;\r
-        map[Shift+LevelThree]= Level4;\r
-        map[NumLock+LevelThree]= Level4;\r
-        map[Shift+NumLock+LevelThree]= Level3;\r
-        level_name[Level1]= "Base";\r
-        level_name[Level2]= "Number";\r
-        level_name[Level3]= "Alt Base";\r
-        level_name[Level4]= "Alt Number";\r
-    };\r
-};\r
-\r
-xkb_compatibility "complete" {\r
-\r
-    virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;\r
-\r
-    interpret.useModMapMods= AnyLevel;\r
-    interpret.repeat= False;\r
-    interpret.locking= False;\r
-    interpret ISO_Level2_Latch+Exactly(Shift) {\r
-        useModMapMods=level1;\r
-        action= LatchMods(modifiers=Shift,clearLocks,latchToLock);\r
-    };\r
-    interpret Shift_Lock+AnyOf(Shift+Lock) {\r
-        action= LockMods(modifiers=Shift);\r
-    };\r
-    interpret Num_Lock+AnyOf(all) {\r
-        virtualModifier= NumLock;\r
-        action= LockMods(modifiers=NumLock);\r
-    };\r
-    interpret ISO_Lock+AnyOf(all) {\r
-        action= ISOLock(modifiers=modMapMods,affect=all);\r
-    };\r
-    interpret ISO_Level3_Shift+AnyOf(all) {\r
-        virtualModifier= LevelThree;\r
-        useModMapMods=level1;\r
-        action= SetMods(modifiers=LevelThree,clearLocks);\r
-    };\r
-    interpret ISO_Level3_Latch+AnyOf(all) {\r
-        virtualModifier= LevelThree;\r
-        useModMapMods=level1;\r
-        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);\r
-    };\r
-    interpret ISO_Level3_Lock+AnyOf(all) {\r
-        virtualModifier= LevelThree;\r
-        useModMapMods=level1;\r
-        action= LockMods(modifiers=LevelThree);\r
-    };\r
-    interpret Alt_L+AnyOf(all) {\r
-        virtualModifier= Alt;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Alt_R+AnyOf(all) {\r
-        virtualModifier= Alt;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Meta_L+AnyOf(all) {\r
-        virtualModifier= Meta;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Meta_R+AnyOf(all) {\r
-        virtualModifier= Meta;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Super_L+AnyOf(all) {\r
-        virtualModifier= Super;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Super_R+AnyOf(all) {\r
-        virtualModifier= Super;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Hyper_L+AnyOf(all) {\r
-        virtualModifier= Hyper;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Hyper_R+AnyOf(all) {\r
-        virtualModifier= Hyper;\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    interpret Scroll_Lock+AnyOf(all) {\r
-        virtualModifier= ScrollLock;\r
-        action= LockMods(modifiers=modMapMods);\r
-    };\r
-    interpret ISO_Level5_Shift+AnyOf(all) {\r
-        virtualModifier= LevelFive;\r
-        useModMapMods=level1;\r
-        action= SetMods(modifiers=LevelFive,clearLocks);\r
-    };\r
-    interpret ISO_Level5_Latch+AnyOf(all) {\r
-        virtualModifier= LevelFive;\r
-        action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);\r
-    };\r
-    interpret ISO_Level5_Lock+AnyOf(all) {\r
-        virtualModifier= LevelFive;\r
-        action= LockMods(modifiers=LevelFive);\r
-    };\r
-    interpret Mode_switch+AnyOfOrNone(all) {\r
-        virtualModifier= AltGr;\r
-        useModMapMods=level1;\r
-        action= SetGroup(group=+1);\r
-    };\r
-    interpret ISO_Level3_Shift+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=LevelThree,clearLocks);\r
-    };\r
-    interpret ISO_Level3_Latch+AnyOfOrNone(all) {\r
-        action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);\r
-    };\r
-    interpret ISO_Level3_Lock+AnyOfOrNone(all) {\r
-        action= LockMods(modifiers=LevelThree);\r
-    };\r
-    interpret ISO_Group_Latch+AnyOfOrNone(all) {\r
-        virtualModifier= AltGr;\r
-        useModMapMods=level1;\r
-        action= LatchGroup(group=2);\r
-    };\r
-    interpret ISO_Next_Group+AnyOfOrNone(all) {\r
-        virtualModifier= AltGr;\r
-        useModMapMods=level1;\r
-        action= LockGroup(group=+1);\r
-    };\r
-    interpret ISO_Prev_Group+AnyOfOrNone(all) {\r
-        virtualModifier= AltGr;\r
-        useModMapMods=level1;\r
-        action= LockGroup(group=-1);\r
-    };\r
-    interpret ISO_First_Group+AnyOfOrNone(all) {\r
-        action= LockGroup(group=1);\r
-    };\r
-    interpret ISO_Last_Group+AnyOfOrNone(all) {\r
-        action= LockGroup(group=2);\r
-    };\r
-    interpret KP_1+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=+1);\r
-    };\r
-    interpret KP_End+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=+1);\r
-    };\r
-    interpret KP_2+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+0,y=+1);\r
-    };\r
-    interpret KP_Down+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+0,y=+1);\r
-    };\r
-    interpret KP_3+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=+1);\r
-    };\r
-    interpret KP_Next+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=+1);\r
-    };\r
-    interpret KP_4+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=+0);\r
-    };\r
-    interpret KP_Left+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=+0);\r
-    };\r
-    interpret KP_6+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=+0);\r
-    };\r
-    interpret KP_Right+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=+0);\r
-    };\r
-    interpret KP_7+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=-1);\r
-    };\r
-    interpret KP_Home+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=-1);\r
-    };\r
-    interpret KP_8+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+0,y=-1);\r
-    };\r
-    interpret KP_Up+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+0,y=-1);\r
-    };\r
-    interpret KP_9+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=-1);\r
-    };\r
-    interpret KP_Prior+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=-1);\r
-    };\r
-    interpret KP_5+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= PtrBtn(button=default);\r
-    };\r
-    interpret KP_Begin+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= PtrBtn(button=default);\r
-    };\r
-    interpret KP_F2+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=1);\r
-    };\r
-    interpret KP_Divide+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=1);\r
-    };\r
-    interpret KP_F3+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=2);\r
-    };\r
-    interpret KP_Multiply+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=2);\r
-    };\r
-    interpret KP_F4+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=3);\r
-    };\r
-    interpret KP_Subtract+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=3);\r
-    };\r
-    interpret KP_Separator+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= PtrBtn(button=default,count=2);\r
-    };\r
-    interpret KP_Add+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= PtrBtn(button=default,count=2);\r
-    };\r
-    interpret KP_0+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= LockPtrBtn(button=default,affect=lock);\r
-    };\r
-    interpret KP_Insert+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= LockPtrBtn(button=default,affect=lock);\r
-    };\r
-    interpret KP_Decimal+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= LockPtrBtn(button=default,affect=unlock);\r
-    };\r
-    interpret KP_Delete+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= LockPtrBtn(button=default,affect=unlock);\r
-    };\r
-    interpret F25+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=1);\r
-    };\r
-    interpret F26+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SetPtrDflt(affect=button,button=2);\r
-    };\r
-    interpret F27+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=-1);\r
-    };\r
-    interpret F29+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=-1);\r
-    };\r
-    interpret F31+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= PtrBtn(button=default);\r
-    };\r
-    interpret F33+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=-1,y=+1);\r
-    };\r
-    interpret F35+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= MovePtr(x=+1,y=+1);\r
-    };\r
-    interpret Pointer_Button_Dflt+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=default);\r
-    };\r
-    interpret Pointer_Button1+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=1);\r
-    };\r
-    interpret Pointer_Button2+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=2);\r
-    };\r
-    interpret Pointer_Button3+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=3);\r
-    };\r
-    interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=default,count=2);\r
-    };\r
-    interpret Pointer_DblClick1+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=1,count=2);\r
-    };\r
-    interpret Pointer_DblClick2+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=2,count=2);\r
-    };\r
-    interpret Pointer_DblClick3+AnyOfOrNone(all) {\r
-        action= PtrBtn(button=3,count=2);\r
-    };\r
-    interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {\r
-        action= LockPtrBtn(button=default,affect=both);\r
-    };\r
-    interpret Pointer_Drag1+AnyOfOrNone(all) {\r
-        action= LockPtrBtn(button=1,affect=both);\r
-    };\r
-    interpret Pointer_Drag2+AnyOfOrNone(all) {\r
-        action= LockPtrBtn(button=2,affect=both);\r
-    };\r
-    interpret Pointer_Drag3+AnyOfOrNone(all) {\r
-        action= LockPtrBtn(button=3,affect=both);\r
-    };\r
-    interpret Pointer_EnableKeys+AnyOfOrNone(all) {\r
-        action= LockControls(controls=MouseKeys);\r
-    };\r
-    interpret Pointer_Accelerate+AnyOfOrNone(all) {\r
-        action= LockControls(controls=MouseKeysAccel);\r
-    };\r
-    interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {\r
-        action= SetPtrDflt(affect=button,button=+1);\r
-    };\r
-    interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {\r
-        action= SetPtrDflt(affect=button,button=-1);\r
-    };\r
-    interpret AccessX_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=AccessXKeys);\r
-    };\r
-    interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=AccessXFeedback);\r
-    };\r
-    interpret RepeatKeys_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=RepeatKeys);\r
-    };\r
-    interpret SlowKeys_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=SlowKeys);\r
-    };\r
-    interpret BounceKeys_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=BounceKeys);\r
-    };\r
-    interpret StickyKeys_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=StickyKeys);\r
-    };\r
-    interpret MouseKeys_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=MouseKeys);\r
-    };\r
-    interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=MouseKeysAccel);\r
-    };\r
-    interpret Overlay1_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=Overlay1);\r
-    };\r
-    interpret Overlay2_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=Overlay2);\r
-    };\r
-    interpret AudibleBell_Enable+AnyOfOrNone(all) {\r
-        action= LockControls(controls=AudibleBell);\r
-    };\r
-    interpret Terminate_Server+AnyOfOrNone(all) {\r
-        action= Terminate();\r
-    };\r
-    interpret Alt_L+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Alt,clearLocks);\r
-    };\r
-    interpret Alt_R+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Alt,clearLocks);\r
-    };\r
-    interpret Meta_L+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Meta,clearLocks);\r
-    };\r
-    interpret Meta_R+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Meta,clearLocks);\r
-    };\r
-    interpret Super_L+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Super,clearLocks);\r
-    };\r
-    interpret Super_R+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Super,clearLocks);\r
-    };\r
-    interpret Hyper_L+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Hyper,clearLocks);\r
-    };\r
-    interpret Hyper_R+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=Hyper,clearLocks);\r
-    };\r
-    interpret XF86Switch_VT_1+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=1,!same);\r
-    };\r
-    interpret XF86Switch_VT_2+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=2,!same);\r
-    };\r
-    interpret XF86Switch_VT_3+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=3,!same);\r
-    };\r
-    interpret XF86Switch_VT_4+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=4,!same);\r
-    };\r
-    interpret XF86Switch_VT_5+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=5,!same);\r
-    };\r
-    interpret XF86Switch_VT_6+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=6,!same);\r
-    };\r
-    interpret XF86Switch_VT_7+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=7,!same);\r
-    };\r
-    interpret XF86Switch_VT_8+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=8,!same);\r
-    };\r
-    interpret XF86Switch_VT_9+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=9,!same);\r
-    };\r
-    interpret XF86Switch_VT_10+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=10,!same);\r
-    };\r
-    interpret XF86Switch_VT_11+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=11,!same);\r
-    };\r
-    interpret XF86Switch_VT_12+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        action= SwitchScreen(screen=12,!same);\r
-    };\r
-    interpret XF86Ungrab+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        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);\r
-    };\r
-    interpret XF86ClearGrab+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        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);\r
-    };\r
-    interpret XF86Next_VMode+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        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);\r
-    };\r
-    interpret XF86Prev_VMode+AnyOfOrNone(all) {\r
-        repeat= True;\r
-        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);\r
-    };\r
-    interpret ISO_Level5_Shift+AnyOfOrNone(all) {\r
-        action= SetMods(modifiers=LevelFive,clearLocks);\r
-    };\r
-    interpret ISO_Level5_Latch+AnyOfOrNone(all) {\r
-        action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);\r
-    };\r
-    interpret ISO_Level5_Lock+AnyOfOrNone(all) {\r
-        action= LockMods(modifiers=LevelFive);\r
-    };\r
-    interpret Any+Exactly(Lock) {\r
-        action= LockMods(modifiers=Lock);\r
-    };\r
-    interpret Any+AnyOf(all) {\r
-        action= SetMods(modifiers=modMapMods,clearLocks);\r
-    };\r
-    group 2 = AltGr;\r
-    group 3 = AltGr;\r
-    group 4 = AltGr;\r
-    indicator "Caps Lock" {\r
-        !allowExplicit;\r
-        whichModState= locked;\r
-        modifiers= Lock;\r
-    };\r
-    indicator "Num Lock" {\r
-        !allowExplicit;\r
-        whichModState= locked;\r
-        modifiers= NumLock;\r
-    };\r
-    indicator "Shift Lock" {\r
-        !allowExplicit;\r
-        whichModState= locked;\r
-        modifiers= Shift;\r
-    };\r
-    indicator "Group 2" {\r
-        !allowExplicit;\r
-        groups= 0xfe;\r
-    };\r
-    indicator "Mouse Keys" {\r
-        indicatorDrivesKeyboard;\r
-        controls= mouseKeys;\r
-    };\r
-    indicator "Scroll Lock" {\r
-        whichModState= locked;\r
-        modifiers= ScrollLock;\r
-    };\r
-};\r
-\r
-xkb_symbols "unknown" {\r
-\r
-    key     <> {\r
-        type= "ALPHABETIC",\r
-        symbols[Group1]= [               a,               A ],\r
-        symbols[Group2]= [           aring,           Aring ]\r
-    };\r
-    modifier_map Mod2 { <> };\r
-};\r
-\r
-xkb_geometry "pc(pc104)" {\r
-\r
-    width=       470;\r
-    height=      180;\r
-\r
-    baseColor=   "white";\r
-    labelColor=  "black";\r
-    xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";\r
-    description= "Generic 104";\r
-\r
-    shape "NORM" {\r
-        corner= 1,\r
-        { [  18,  18 ] },\r
-        { [   2,   1 ], [  16,  16 ] }\r
-    };\r
-    shape "BKSP" {\r
-        corner= 1,\r
-        { [  38,  18 ] },\r
-        { [   2,   1 ], [  36,  16 ] }\r
-    };\r
-    shape "TABK" {\r
-        corner= 1,\r
-        { [  28,  18 ] },\r
-        { [   2,   1 ], [  26,  16 ] }\r
-    };\r
-    shape "BKSL" {\r
-        corner= 1,\r
-        { [  28,  18 ] },\r
-        { [   2,   1 ], [  26,  16 ] }\r
-    };\r
-    shape "RTRN" {\r
-        corner= 1,\r
-        { [  42,  18 ] },\r
-        { [   2,   1 ], [  40,  16 ] }\r
-    };\r
-    shape "CAPS" {\r
-        corner= 1,\r
-        { [  33,  18 ] },\r
-        { [   2,   1 ], [  31,  16 ] }\r
-    };\r
-    shape "LFSH" {\r
-        corner= 1,\r
-        { [  42,  18 ] },\r
-        { [   2,   1 ], [  40,  16 ] }\r
-    };\r
-    shape "RTSH" {\r
-        corner= 1,\r
-        { [  52,  18 ] },\r
-        { [   2,   1 ], [  50,  16 ] }\r
-    };\r
-    shape "MODK" {\r
-        corner= 1,\r
-        { [  27,  18 ] },\r
-        { [   2,   1 ], [  25,  16 ] }\r
-    };\r
-    shape "SMOD" {\r
-        corner= 1,\r
-        { [  23,  18 ] },\r
-        { [   2,   1 ], [  21,  16 ] }\r
-    };\r
-    shape "SPCE" {\r
-        corner= 1,\r
-        { [ 113,  18 ] },\r
-        { [   2,   1 ], [ 111,  16 ] }\r
-    };\r
-    shape "KP0" {\r
-        corner= 1,\r
-        { [  37,  18 ] },\r
-        { [   2,   1 ], [  35,  16 ] }\r
-    };\r
-    shape "KPAD" {\r
-        corner= 1,\r
-        { [  18,  37 ] },\r
-        { [   2,   1 ], [  16,  35 ] }\r
-    };\r
-    shape "LEDS" { { [  75,  20 ] } };\r
-    shape "LED" { { [   5,   1 ] } };\r
-    section "Function" {\r
-        key.color= "grey20";\r
-        priority=  7;\r
-        top=       22;\r
-        left=      19;\r
-        width=     351;\r
-        height=    19;\r
-        row {\r
-            top=  1;\r
-            left= 1;\r
-            keys {\r
-                {  <ESC>, "NORM",   1 },\r
-                { <FK01>, "NORM",  20, color="white" },\r
-                { <FK02>, "NORM",   1, color="white" },\r
-                { <FK03>, "NORM",   1, color="white" },\r
-                { <FK04>, "NORM",   1, color="white" },\r
-                { <FK05>, "NORM",  11, color="white" },\r
-                { <FK06>, "NORM",   1, color="white" },\r
-                { <FK07>, "NORM",   1, color="white" },\r
-                { <FK08>, "NORM",   1, color="white" },\r
-                { <FK09>, "NORM",  11, color="white" },\r
-                { <FK10>, "NORM",   1, color="white" },\r
-                { <FK11>, "NORM",   1, color="white" },\r
-                { <FK12>, "NORM",   1, color="white" },\r
-                { <PRSC>, "NORM",   8, color="white" },\r
-                { <SCLK>, "NORM",   1, color="white" },\r
-                { <PAUS>, "NORM",   1, color="white" }\r
-            };\r
-        };\r
-    }; // End of "Function" section\r
-\r
-    section "Alpha" {\r
-        key.color= "white";\r
-        priority=  8;\r
-        top=       61;\r
-        left=      19;\r
-        width=     287;\r
-        height=    95;\r
-        row {\r
-            top=  1;\r
-            left= 1;\r
-            keys {\r
-                { <TLDE>, "NORM",   1 }, { <AE01>, "NORM",   1 },\r
-                { <AE02>, "NORM",   1 }, { <AE03>, "NORM",   1 },\r
-                { <AE04>, "NORM",   1 }, { <AE05>, "NORM",   1 },\r
-                { <AE06>, "NORM",   1 }, { <AE07>, "NORM",   1 },\r
-                { <AE08>, "NORM",   1 }, { <AE09>, "NORM",   1 },\r
-                { <AE10>, "NORM",   1 }, { <AE11>, "NORM",   1 },\r
-                { <AE12>, "NORM",   1 },\r
-                { <BKSP>, "BKSP",   1, color="grey20" }\r
-            };\r
-        };\r
-        row {\r
-            top=  20;\r
-            left= 1;\r
-            keys {\r
-                {  <TAB>, "TABK",   1, color="grey20" },\r
-                { <AD01>, "NORM",   1 }, { <AD02>, "NORM",   1 },\r
-                { <AD03>, "NORM",   1 }, { <AD04>, "NORM",   1 },\r
-                { <AD05>, "NORM",   1 }, { <AD06>, "NORM",   1 },\r
-                { <AD07>, "NORM",   1 }, { <AD08>, "NORM",   1 },\r
-                { <AD09>, "NORM",   1 }, { <AD10>, "NORM",   1 },\r
-                { <AD11>, "NORM",   1 }, { <AD12>, "NORM",   1 },\r
-                { <BKSL>, "BKSL",   1 }\r
-            };\r
-        };\r
-        row {\r
-            top=  39;\r
-            left= 1;\r
-            keys {\r
-                { <CAPS>, "CAPS",   1, color="grey20" },\r
-                { <AC01>, "NORM",   1 }, { <AC02>, "NORM",   1 },\r
-                { <AC03>, "NORM",   1 }, { <AC04>, "NORM",   1 },\r
-                { <AC05>, "NORM",   1 }, { <AC06>, "NORM",   1 },\r
-                { <AC07>, "NORM",   1 }, { <AC08>, "NORM",   1 },\r
-                { <AC09>, "NORM",   1 }, { <AC10>, "NORM",   1 },\r
-                { <AC11>, "NORM",   1 },\r
-                { <RTRN>, "RTRN",   1, color="grey20" }\r
-            };\r
-        };\r
-        row {\r
-            top=  58;\r
-            left= 1;\r
-            keys {\r
-                { <LFSH>, "LFSH",   1, color="grey20" },\r
-                { <AB01>, "NORM",   1 }, { <AB02>, "NORM",   1 },\r
-                { <AB03>, "NORM",   1 }, { <AB04>, "NORM",   1 },\r
-                { <AB05>, "NORM",   1 }, { <AB06>, "NORM",   1 },\r
-                { <AB07>, "NORM",   1 }, { <AB08>, "NORM",   1 },\r
-                { <AB09>, "NORM",   1 }, { <AB10>, "NORM",   1 },\r
-                { <RTSH>, "RTSH",   1, color="grey20" }\r
-            };\r
-        };\r
-        row {\r
-            top=  77;\r
-            left= 1;\r
-            keys {\r
-                { <LCTL>, "MODK",   1, color="grey20" },\r
-                { <LWIN>, "SMOD",   1, color="grey20" },\r
-                { <LALT>, "SMOD",   1, color="grey20" },\r
-                { <SPCE>, "SPCE",   1 },\r
-                { <RALT>, "SMOD",   1, color="grey20" },\r
-                { <RWIN>, "SMOD",   1, color="grey20" },\r
-                { <MENU>, "SMOD",   1, color="grey20" },\r
-                { <RCTL>, "SMOD",   1, color="grey20" }\r
-            };\r
-        };\r
-    }; // End of "Alpha" section\r
-\r
-    section "Editing" {\r
-        key.color= "grey20";\r
-        priority=  9;\r
-        top=       61;\r
-        left=      312;\r
-        width=     58;\r
-        height=    95;\r
-        row {\r
-            top=  1;\r
-            left= 1;\r
-            keys {\r
-                {  <INS>, "NORM",   1 }, { <HOME>, "NORM",   1 },\r
-                { <PGUP>, "NORM",   1 }\r
-            };\r
-        };\r
-        row {\r
-            top=  20;\r
-            left= 1;\r
-            keys {\r
-                { <DELE>, "NORM",   1 }, {  <END>, "NORM",   1 },\r
-                { <PGDN>, "NORM",   1 }\r
-            };\r
-        };\r
-        row {\r
-            top=  58;\r
-            left= 20;\r
-            keys {\r
-                {   <UP>, "NORM",   1 }\r
-            };\r
-        };\r
-        row {\r
-            top=  77;\r
-            left= 1;\r
-            keys {\r
-                { <LEFT>, "NORM",   1 }, { <DOWN>, "NORM",   1 },\r
-                { <RGHT>, "NORM",   1 }\r
-            };\r
-        };\r
-    }; // End of "Editing" section\r
-\r
-    section "Keypad" {\r
-        key.color= "grey20";\r
-        priority=  10;\r
-        top=       61;\r
-        left=      376;\r
-        width=     77;\r
-        height=    95;\r
-        row {\r
-            top=  1;\r
-            left= 1;\r
-            keys {\r
-                { <NMLK>, "NORM",   1 }, { <KPDV>, "NORM",   1 },\r
-                { <KPMU>, "NORM",   1 }, { <KPSU>, "NORM",   1 }\r
-            };\r
-        };\r
-        row {\r
-            top=  20;\r
-            left= 1;\r
-            keys {\r
-                {  <KP7>, "NORM",   1, color="white" },\r
-                {  <KP8>, "NORM",   1, color="white" },\r
-                {  <KP9>, "NORM",   1, color="white" },\r
-                { <KPAD>, "KPAD",   1 }\r
-            };\r
-        };\r
-        row {\r
-            top=  39;\r
-            left= 1;\r
-            keys {\r
-                {  <KP4>, "NORM",   1, color="white" },\r
-                {  <KP5>, "NORM",   1, color="white" },\r
-                {  <KP6>, "NORM",   1, color="white" }\r
-            };\r
-        };\r
-        row {\r
-            top=  58;\r
-            left= 1;\r
-            keys {\r
-                {  <KP1>, "NORM",   1, color="white" },\r
-                {  <KP2>, "NORM",   1, color="white" },\r
-                {  <KP3>, "NORM",   1, color="white" },\r
-                { <KPEN>, "KPAD",   1 }\r
-            };\r
-        };\r
-        row {\r
-            top=  77;\r
-            left= 1;\r
-            keys {\r
-                {  <KP0>, "KP0",   1, color="white" },\r
-                { <KPDL>, "NORM",   1, color="white" }\r
-            };\r
-        };\r
-    }; // End of "Keypad" section\r
-\r
-    solid "LedPanel" {\r
-        top=      22;\r
-        left=     377;\r
-        priority= 0;\r
-        color= "grey10";\r
-        shape= "LEDS";\r
-    };\r
-    indicator "Num Lock" {\r
-        top=      37;\r
-        left=     382;\r
-        priority= 1;\r
-        onColor= "green";\r
-        offColor= "green30";\r
-        shape= "LED";\r
-    };\r
-    indicator "Caps Lock" {\r
-        top=      37;\r
-        left=     407;\r
-        priority= 2;\r
-        onColor= "green";\r
-        offColor= "green30";\r
-        shape= "LED";\r
-    };\r
-    indicator "Scroll Lock" {\r
-        top=      37;\r
-        left=     433;\r
-        priority= 3;\r
-        onColor= "green";\r
-        offColor= "green30";\r
-        shape= "LED";\r
-    };\r
-    text "NumLockLabel" {\r
-        top=      25;\r
-        left=     378;\r
-        priority= 4;\r
-        width=  19.8;\r
-        height=  10;\r
-        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";\r
-        text=  "Num\nLock";\r
-    };\r
-    text "CapsLockLabel" {\r
-        top=      25;\r
-        left=     403;\r
-        priority= 5;\r
-        width=  26.4;\r
-        height=  10;\r
-        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";\r
-        text=  "Caps\nLock";\r
-    };\r
-    text "ScrollLockLabel" {\r
-        top=      25;\r
-        left=     428;\r
-        priority= 6;\r
-        width=  39.6;\r
-        height=  10;\r
-        XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";\r
-        text=  "Scroll\nLock";\r
-    };\r
-};\r
-\r
-};
\ No newline at end of file
+xkb_keymap {
+xkb_keycodes "empty_aliases(qwerty)" {
+    minimum = 8;
+    maximum = 255;
+    virtual indicator 1 = "Caps Lock";
+    virtual indicator 2 = "Num Lock";
+    virtual indicator 3 = "Shift Lock";
+    virtual indicator 4 = "Group 2";
+    virtual indicator 5 = "Mouse Keys";
+    virtual indicator 6 = "Scroll Lock";
+};
+
+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]= 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[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 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 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" {
+        !allowExplicit;
+        whichModState= locked;
+        modifiers= Lock;
+    };
+    indicator "Num Lock" {
+        !allowExplicit;
+        whichModState= locked;
+        modifiers= NumLock;
+    };
+    indicator "Shift Lock" {
+        !allowExplicit;
+        whichModState= locked;
+        modifiers= Shift;
+    };
+    indicator "Group 2" {
+        !allowExplicit;
+        groups= 0xfe;
+    };
+    indicator "Mouse Keys" {
+        indicatorDrivesKeyboard;
+        controls= mouseKeys;
+    };
+    indicator "Scroll Lock" {
+        whichModState= locked;
+        modifiers= ScrollLock;
+    };
+};
+
+xkb_symbols "unknown" {
+
+    key     <> {
+        type= "ALPHABETIC",
+        symbols[Group1]= [               a,               A ],
+        symbols[Group2]= [           aring,           Aring ]
+    };
+    modifier_map Mod2 { <> };
+};
+
+xkb_geometry "pc(pc104)" {
+
+    width=       470;
+    height=      180;
+
+    baseColor=   "white";
+    labelColor=  "black";
+    xfont=       "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
+    description= "Generic 104";
+
+    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,
+        { [  42,  18 ] },
+        { [   2,   1 ], [  40,  16 ] }
+    };
+    shape "CAPS" {
+        corner= 1,
+        { [  33,  18 ] },
+        { [   2,   1 ], [  31,  16 ] }
+    };
+    shape "LFSH" {
+        corner= 1,
+        { [  42,  18 ] },
+        { [   2,   1 ], [  40,  16 ] }
+    };
+    shape "RTSH" {
+        corner= 1,
+        { [  52,  18 ] },
+        { [   2,   1 ], [  50,  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 },
+                { <BKSL>, "BKSL",   1 }
+            };
+        };
+        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 },
+                { <RTRN>, "RTRN",   1, color="grey20" }
+            };
+        };
+        row {
+            top=  58;
+            left= 1;
+            keys {
+                { <LFSH>, "LFSH",   1, color="grey20" },
+                { <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";
+    };
+};
+
+};