From c78afd95b6998b99525aadd6de2ceded7dc1f26e Mon Sep 17 00:00:00 2001 From: stephan Date: Wed, 5 May 2010 18:03:07 +0000 Subject: Update des xkb-Treibers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit • Dateien auf xkeyboard-config angeglichen (darunter viel refactoring des Neo-Treibers) • 2 für Neo unwichtige Types auskommentiert (sollte das Problem mit dem X-Server fixen) git-svn-id: https://svn.neo-layout.org@2308 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- linux/X/compat/caps | 12 +++++ linux/X/compat/level5 | 56 +++++++++++++++++++++ linux/X/compat/misc | 127 ++++++++++++++++++++++++++++++++++++++++++++++++ linux/X/compat/neo_mods | 30 ------------ 4 files changed, 195 insertions(+), 30 deletions(-) create mode 100644 linux/X/compat/caps create mode 100644 linux/X/compat/level5 create mode 100644 linux/X/compat/misc delete mode 100644 linux/X/compat/neo_mods (limited to 'linux/X/compat') diff --git a/linux/X/compat/caps b/linux/X/compat/caps new file mode 100644 index 0000000..d787ab6 --- /dev/null +++ b/linux/X/compat/caps @@ -0,0 +1,12 @@ +partial xkb_compatibility "caps_lock" { + // Keysym Caps_Lock locks Lock modifier. + // With this, the keysym Caps_Lock can be used without binding the whole + // key to a real modifier. + // This is essential when you don't want to use caps lock on the first + // level. + // This should not have any compatibility issues when used together with + // other layouts which don't utilize this capability. + interpret Caps_Lock { + action = LockMods(modifiers = Lock); + }; +}; diff --git a/linux/X/compat/level5 b/linux/X/compat/level5 new file mode 100644 index 0000000..4769354 --- /dev/null +++ b/linux/X/compat/level5 @@ -0,0 +1,56 @@ +// $XKeyboardConfig$ +// $Xorg: level5,v 1.3 2000/08/17 19:54:34 cpqbld Exp $ + +// Fairly complete set of symbol interpretations +// to provide reasonable default behavior + +// $XFree86: xc/programs/xkbcomp/compat/iso9995,v 1.3 2003/02/21 03:16:34 dawes Exp $ + +default partial xkb_compatibility "default" { + virtual_modifiers LevelFive; + + interpret.repeat= False; + setMods.clearLocks= True; + latchMods.clearLocks= True; + latchMods.latchToLock= True; + + interpret ISO_Level5_Shift+Any { + useModMapMods= level1; + virtualModifier= LevelFive; + action= SetMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Shift { + action= SetMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Latch+Any { + virtualModifier= LevelFive; + action= LatchMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Latch { + action= LatchMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Lock+Any { + virtualModifier= LevelFive; + action= LockMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Lock { + action= LockMods(modifiers=LevelFive); + }; +}; +partial xkb_compatibility "level5_lock" { + // This defines a Level5-Lock using the NumLock real modifier in order to + // create arbitrary level-behaviour, which would not be possible with the + // virtual modifier. + // See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK + // See also: symbols/level5(lock) + virtual_modifiers NumLock; + + interpret ISO_Level5_Lock { + action = LockMods(modifiers = NumLock); + }; +}; diff --git a/linux/X/compat/misc b/linux/X/compat/misc new file mode 100644 index 0000000..68cda95 --- /dev/null +++ b/linux/X/compat/misc @@ -0,0 +1,127 @@ +// $XdotOrg: xc/programs/xkbcomp/compat/misc,v 1.1.4.4 2004/03/05 13:41:28 eich Exp $ +// $Xorg: misc,v 1.3 2000/08/17 19:54:34 cpqbld Exp $ +// +// +// +// $XFree86: xc/programs/xkbcomp/compat/misc,v 1.4 2003/05/15 13:31:57 pascal Exp $ + +default partial xkb_compatibility "misc" { + + virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock; + + // Interpretations for some other useful keys + + interpret Terminate_Server { + action = Terminate(); + }; + + setMods.clearLocks= True; + + // Sets the "Alt" virtual modifier + + interpret Alt_L+Any { + //useModMapMods= level1; + virtualModifier= Alt; + action = SetMods(modifiers=modMapMods); + }; + + interpret Alt_L { + action = SetMods(modifiers=Alt); + }; + + interpret Alt_R+Any { + //useModMapMods= level1; + virtualModifier= Alt; + action = SetMods(modifiers=modMapMods); + }; + + interpret Alt_R { + action = SetMods(modifiers=Alt); + }; + + // Sets the "Meta" virtual modifier + + interpret Meta_L+Any { +// useModMapMods= level1; + virtualModifier= Meta; + action = SetMods(modifiers=modMapMods); + }; + + interpret Meta_L { + action = SetMods(modifiers=Meta); + }; + + interpret Meta_R+Any { + //useModMapMods= level1; + virtualModifier= Meta; + action = SetMods(modifiers=modMapMods); + }; + + interpret Meta_R { + action = SetMods(modifiers=Meta); + }; + + // Sets the "Super" virtual modifier + + interpret Super_L+Any { +// useModMapMods= level1; + virtualModifier= Super; + action = SetMods(modifiers=modMapMods); + }; + + interpret Super_L { + action = SetMods(modifiers=Super); + }; + + interpret Super_R+Any { + //useModMapMods= level1; + virtualModifier= Super; + action = SetMods(modifiers=modMapMods); + }; + + interpret Super_R { + action = SetMods(modifiers=Super); + }; + + // Sets the "Hyper" virtual modifier + + interpret Hyper_L+Any { +// useModMapMods= level1; + virtualModifier= Hyper; + action = SetMods(modifiers=modMapMods); + }; + + interpret Hyper_L { + action = SetMods(modifiers=Hyper); + }; + + interpret Hyper_R+Any { + //useModMapMods= level1; + virtualModifier= Hyper; + action = SetMods(modifiers=modMapMods); + }; + + interpret Hyper_R { + action = SetMods(modifiers=Hyper); + }; + + // Sets the "ScrollLock" virtual modifier and + // makes it actually lock when pressed. Sets + // up a map for the scroll lock indicator. + interpret Scroll_Lock+Any { + virtualModifier= ScrollLock; + action = LockMods(modifiers=modMapMods); + }; + + include "ledscroll" +}; + +partial xkb_compatibility "assign_shift_left_action" { + // Because of the irrevertable modifier mapping in symbols/pc is + // getting bound to the Lock modifier when using + // symbols/shift(both_capslock), creating unwanted behaviour. + // This is a quirk, to circumvent the problem. + interpret Shift_L { + action = SetMods(modifiers = Shift); + }; +}; diff --git a/linux/X/compat/neo_mods b/linux/X/compat/neo_mods deleted file mode 100644 index b45f576..0000000 --- a/linux/X/compat/neo_mods +++ /dev/null @@ -1,30 +0,0 @@ -// Neo special modifiers -default partial xkb_compatibility "default" { - include "neo_mods(caps_lock)" - include "neo_mods(shift_fix)" - include "neo_mods(level5_lock)" -}; - -partial xkb_compatibility "caps_lock" { - // Keysym Caps_Lock locks Lock modifier - // No need for modifier-mapping - interpret Caps_Lock { - action = LockMods(modifiers = Lock); - }; -}; - -partial xkb_compatibility "shift_fix" { - // Seems like symbols/level3(caps_switch) does something evil to the left shift-key. - // This should do the trick: - interpret Shift_L { - action = SetMods(modifiers = Shift); - }; -}; - -partial xkb_compatibility "level5_lock" { - virtual_modifiers NumLock; - // NumLock is misused for level5-lock-indication - interpret ISO_Level5_Lock { - action = LockMods(modifiers = NumLock); - }; -}; -- cgit v1.2.3