Update des xkb-Treibers

• 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)
feature/programmer
stephan 13 years ago
parent ce8305c6a9
commit f90b482c27
  1. 12
      linux/X/compat/caps
  2. 56
      linux/X/compat/level5
  3. 127
      linux/X/compat/misc
  4. 30
      linux/X/compat/neo_mods
  5. 51
      linux/X/rules/base
  6. 148
      linux/X/rules/base.xml
  7. 55
      linux/X/rules/evdev
  8. 148
      linux/X/rules/evdev.xml
  9. 18
      linux/X/symbols/de
  10. 6
      linux/X/symbols/level3
  11. 46
      linux/X/symbols/level5
  12. 140
      linux/X/types/level5

@ -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);
};
};

@ -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);
};
};

@ -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 <LFSH> 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);
};
};

@ -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);
};
};

@ -126,9 +126,6 @@
sun6 = sun(type6_usb)
sun6euro = sun(type6tuv_usb)
pc98 = xfree98(pc98)
evdev = evdev
$nokiamodels = evdev
olpc = evdev
$applealu = macintosh(alukbd)
macintosh_hhk = macintosh(hhk)
macintosh_old = macintosh(old)
@ -953,7 +950,6 @@
a4_rfkb23 = +inet(media_nav_acpi_common)
asus_laptop = +inet(media_common)
acer_tm_800 = +inet(acer_laptop)
acpi = +inet(acpi_common)
benqx730 = +inet(benqx)
benqx800 = +inet(benqx)
btc5126t = +inet(nav_acpi_common)
@ -1000,32 +996,21 @@
$maclaptop = +inet(apple)+level3(enter_switch)
$applealu = +inet(apple)
$macs = +inet(apple)
// Neo special modifier-keys
! layout variant = compat
de neo = +neo_mods
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
! layout[1] variant[1] = compat
de neo = +neo_mods
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
! layout[2] variant[2] = compat
de neo = +neo_mods:2
de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
! layout[3] variant[3] = compat
de neo = +neo_mods:3
! layout[4] variant[4] = compat
de neo = +neo_mods:4
de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
! layout variant = geometry
de neo = pc(pc105)
! layout[1] variant[1] = geometry
de neo = pc(pc105)
! layout[2] variant[2] = geometry
de neo = pc(pc105)
! layout[3] variant[3] = geometry
de neo = pc(pc105)
! layout[4] variant[4] = geometry
de neo = pc(pc105)
! layout[4] variant[4] = compat
de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
! model layout = compat
pc98 nec_vndr/jp = pc98(basic)
@ -1191,14 +1176,14 @@
lv3:caps_switch_latch = +level3(caps_switch_latch)
lv3:bksl_switch_latch = +level3(bksl_switch_latch)
lv3:lsgt_switch_latch = +level3(lsgt_switch_latch)
lv5:lsgt_switch_numlock = +level5(lsgt_switch_numlock)
lv5:ralt_switch_numlock = +level5(ralt_switch_numlock)
lv5:lwin_switch_numlock = +level5(lwin_switch_numlock)
lv5:rwin_switch_numlock = +level5(rwin_switch_numlock)
lv5:lsgt_switch_numlock_cancel = +level5(lsgt_switch_numlock_cancel)
lv5:ralt_switch_numlock_cancel = +level5(ralt_switch_numlock_cancel)
lv5:lwin_switch_numlock_cancel = +level5(lwin_switch_numlock_cancel)
lv5:rwin_switch_numlock_cancel = +level5(rwin_switch_numlock_cancel)
lv5:lsgt_switch_lock = +level5(lsgt_switch_lock)
lv5:ralt_switch_lock = +level5(ralt_switch_lock)
lv5:lwin_switch_lock = +level5(lwin_switch_lock)
lv5:rwin_switch_lock = +level5(rwin_switch_lock)
lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel)
lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel)
lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel)
lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel)

@ -121,13 +121,6 @@
<vendor>Acer</vendor>
</configItem>
</model>
<model>
<configItem>
<name>acpi</name>
<description>ACPI Standard</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>azonaRF2300</name>
@ -1133,13 +1126,6 @@
<vendor>eMachines</vendor>
</configItem>
</model>
<model>
<configItem>
<name>evdev</name>
<description>Evdev-managed keyboard</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>benqx</name>
@ -2492,6 +2478,19 @@
<languageList><iso639Id>hau</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>avn</name>
<description>Avatime</description>
<languageList><iso639Id>avn</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>gillbt</name>
<description>GILLBT</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -4416,6 +4415,22 @@
</variant>
</variantList>
</layout>
<layout>
<configItem>
<name>tz</name>
<shortDescription>Tza</shortDescription>
<description>Tanzania</description>
<languageList><iso639Id>swa</iso639Id></languageList>
</configItem>
</layout>
<layout>
<configItem>
<name>ke</name>
<shortDescription>Ken</shortDescription>
<description>Kenya</description>
<languageList><iso639Id>swa</iso639Id></languageList>
</configItem>
</layout>
</layoutList>
<optionList>
<group allowMultipleSelection="true">
@ -4698,13 +4713,31 @@
<option>
<configItem>
<name>lv3:bksl_switch</name>
<description>&lt;BKSL&gt;-Key</description>
<description>Backslash</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:lsgt_switch</name>
<description>&lt;LSGT&gt;-Key</description>
<description>&lt;Less/Greater&gt;</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:caps_switch_latch</name>
<description>CapsLock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:bksl_switch_latch</name>
<description>Backslash chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:lsgt_switch_latch</name>
<description>&lt;Less/Greater&gt; (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
</configItem>
</option>
</group>
@ -5081,7 +5114,7 @@
<option>
<configItem>
<name>compose:102</name>
<description>Less-than/Greater-than</description>
<description>&lt;Less/Greater&gt;</description>
</configItem>
</option>
<option>
@ -5174,24 +5207,6 @@
<description>Both Shift-Keys together toggle ShiftLock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:caps_switch_latch</name>
<description>CapsLock chooses 3rd level and latches level three when pressed together with another 3rd-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:bksl_switch_latch</name>
<description>&lt;BKSL&gt;-Key chooses 3rd level and latches level three when pressed together with another 3rd-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:lsgt_switch_latch</name>
<description>&lt;LSGT&gt;-Key chooses 3rd level and latches level three when pressed together with another 3rd-level-chooser</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="true">
@ -5225,56 +5240,91 @@
</option>
</group>
<group allowMultipleSelection="true">
<configItem>
<name>lv5</name>
<description>5th level options</description>
<description>Key to choose 5th level</description>
</configItem>
<option>
<configItem>
<name>lv5:lsgt_switch_numlock</name>
<description>&lt;LSGT&gt;-Key chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
<name>lv5:lsgt_switch_lock</name>
<description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_lock</name>
<description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_lock</name>
<description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:rwin_switch_lock</name>
<description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lsgt_switch_lock_cancel</name>
<description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_lock_cancel</name>
<description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_lock_cancel</name>
<description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_numlock</name>
<description>Right Alt chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
<name>lv5:rwin_switch_lock_cancel</name>
<description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_numlock</name>
<name>lv5:lwin_switch_lock</name>
<description>Left Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:rwin_switch_numlock</name>
<name>lv5:rwin_switch_lock</name>
<description>Right Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lsgt_switch_numlock_cancel</name>
<description>&lt;LSGT&gt;-Key chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
<name>lv5:lsgt_switch_lock_cancel</name>
<description>&lt;Less/Greater&gt; chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_numlock_cancel</name>
<name>lv5:ralt_switch_lock_cancel</name>
<description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_numlock_cancel</name>
<name>lv5:lwin_switch_lock_cancel</name>
<description>Left Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:rwin_switch_numlock_cancel</name>
<name>lv5:rwin_switch_lock_cancel</name>
<description>Right Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
@ -5431,4 +5481,4 @@
</option>
</group>
</optionList>
</xkbConfigRegistry>
</xkbConfigRegistry>

@ -932,36 +932,27 @@
* us alt-intl-unicode = +extras/us(alt-intl-unicode):4
* us crd = +extras/us(crd):4
* us intl-unicode = +extras/us(intl-unicode):4
// Neo special modifier-keys
! layout variant = compat
de neo = +neo_mods
! layout[1] variant[1] = compat
de neo = +neo_mods
! layout[2] variant[2] = compat
de neo = +neo_mods:2
! layout[3] variant[3] = compat
de neo = +neo_mods:3
! layout[4] variant[4] = compat
de neo = +neo_mods:4
! layout variant = geometry
de neo = pc(pc105)
! layout[1] variant[1] = geometry
de neo = pc(pc105)
! layout[2] variant[2] = geometry
de neo = pc(pc105)
! layout[3] variant[3] = geometry
de neo = pc(pc105)
! layout[4] variant[4] = geometry
de neo = pc(pc105)
! model = symbols
$evdevkbds = +inet(evdev)+inet(%m)
applealu_jis = +inet(evdev)+macintosh_vndr/jp(alujiskeys)
* = +inet(evdev)
! layout variant = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
! layout[1] variant[1] = compat
de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
! layout[2] variant[2] = compat
de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2
! layout[3] variant[3] = compat
de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
! layout[4] variant[4] = compat
de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4
! model layout = compat
pc98 nec_vndr/jp = pc98(basic)
* jp = complete+japan
@ -1126,14 +1117,14 @@
lv3:caps_switch_latch = +level3(caps_switch_latch)
lv3:bksl_switch_latch = +level3(bksl_switch_latch)
lv3:lsgt_switch_latch = +level3(lsgt_switch_latch)
lv5:lsgt_switch_numlock = +level5(lsgt_switch_numlock)
lv5:ralt_switch_numlock = +level5(ralt_switch_numlock)
lv5:lwin_switch_numlock = +level5(lwin_switch_numlock)
lv5:rwin_switch_numlock = +level5(rwin_switch_numlock)
lv5:lsgt_switch_numlock_cancel = +level5(lsgt_switch_numlock_cancel)
lv5:ralt_switch_numlock_cancel = +level5(ralt_switch_numlock_cancel)
lv5:lwin_switch_numlock_cancel = +level5(lwin_switch_numlock_cancel)
lv5:rwin_switch_numlock_cancel = +level5(rwin_switch_numlock_cancel)
lv5:lsgt_switch_lock = +level5(lsgt_switch_lock)
lv5:ralt_switch_lock = +level5(ralt_switch_lock)
lv5:lwin_switch_lock = +level5(lwin_switch_lock)
lv5:rwin_switch_lock = +level5(rwin_switch_lock)
lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel)
lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel)
lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel)
lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel)

@ -121,13 +121,6 @@
<vendor>Acer</vendor>
</configItem>
</model>
<model>
<configItem>
<name>acpi</name>
<description>ACPI Standard</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>azonaRF2300</name>
@ -1133,13 +1126,6 @@
<vendor>eMachines</vendor>
</configItem>
</model>
<model>
<configItem>
<name>evdev</name>
<description>Evdev-managed keyboard</description>
<vendor>Generic</vendor>
</configItem>
</model>
<model>
<configItem>
<name>benqx</name>
@ -2492,6 +2478,19 @@
<languageList><iso639Id>hau</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>avn</name>
<description>Avatime</description>
<languageList><iso639Id>avn</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>gillbt</name>
<description>GILLBT</description>
</configItem>
</variant>
</variantList>
</layout>
<layout>
@ -4416,6 +4415,22 @@
</variant>
</variantList>
</layout>
<layout>
<configItem>
<name>tz</name>
<shortDescription>Tza</shortDescription>
<description>Tanzania</description>
<languageList><iso639Id>swa</iso639Id></languageList>
</configItem>
</layout>
<layout>
<configItem>
<name>ke</name>
<shortDescription>Ken</shortDescription>
<description>Kenya</description>
<languageList><iso639Id>swa</iso639Id></languageList>
</configItem>
</layout>
</layoutList>
<optionList>
<group allowMultipleSelection="true">
@ -4698,13 +4713,31 @@
<option>
<configItem>
<name>lv3:bksl_switch</name>
<description>&lt;BKSL&gt;-Key</description>
<description>Backslash</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:lsgt_switch</name>
<description>&lt;LSGT&gt;-Key</description>
<description>&lt;Less/Greater&gt;</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:caps_switch_latch</name>
<description>CapsLock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:bksl_switch_latch</name>
<description>Backslash chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:lsgt_switch_latch</name>
<description>&lt;Less/Greater&gt; (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)</description>
</configItem>
</option>
</group>
@ -5081,7 +5114,7 @@
<option>
<configItem>
<name>compose:102</name>
<description>Less-than/Greater-than</description>
<description>&lt;Less/Greater&gt;</description>
</configItem>
</option>
<option>
@ -5174,24 +5207,6 @@
<description>Both Shift-Keys together toggle ShiftLock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:caps_switch_latch</name>
<description>CapsLock chooses 3rd level and latches level three when pressed together with another 3rd-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:bksl_switch_latch</name>
<description>&lt;BKSL&gt;-Key chooses 3rd level and latches level three when pressed together with another 3rd-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv3:lsgt_switch_latch</name>
<description>&lt;LSGT&gt;-Key chooses 3rd level and latches level three when pressed together with another 3rd-level-chooser</description>
</configItem>
</option>
</group>
<group allowMultipleSelection="true">
@ -5225,56 +5240,91 @@
</option>
</group>
<group allowMultipleSelection="true">
<configItem>
<name>lv5</name>
<description>5th level options</description>
<description>Key to choose 5th level</description>
</configItem>
<option>
<configItem>
<name>lv5:lsgt_switch_numlock</name>
<description>&lt;LSGT&gt;-Key chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
<name>lv5:lsgt_switch_lock</name>
<description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_lock</name>
<description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_lock</name>
<description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:rwin_switch_lock</name>
<description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lsgt_switch_lock_cancel</name>
<description>&lt;Less/Greater&gt; chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_lock_cancel</name>
<description>Right Alt chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_lock_cancel</name>
<description>Left Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_numlock</name>
<description>Right Alt chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
<name>lv5:rwin_switch_lock_cancel</name>
<description>Right Win chooses 5th level, locks when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_numlock</name>
<name>lv5:lwin_switch_lock</name>
<description>Left Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:rwin_switch_numlock</name>
<name>lv5:rwin_switch_lock</name>
<description>Right Win chooses 5th level and toggles level5-Lock when pressed together with another 5th-level-chooser</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lsgt_switch_numlock_cancel</name>
<description>&lt;LSGT&gt;-Key chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
<name>lv5:lsgt_switch_lock_cancel</name>
<description>&lt;Less/Greater&gt; chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:ralt_switch_numlock_cancel</name>
<name>lv5:ralt_switch_lock_cancel</name>
<description>Right Alt chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:lwin_switch_numlock_cancel</name>
<name>lv5:lwin_switch_lock_cancel</name>
<description>Left Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
<option>
<configItem>
<name>lv5:rwin_switch_numlock_cancel</name>
<name>lv5:rwin_switch_lock_cancel</name>
<description>Right Win chooses 5th level and activates level5-Lock when pressed together with another 5th-level-chooser, one press releases the lock</description>
</configItem>
</option>
@ -5431,4 +5481,4 @@
</option>
</group>
</optionList>
</xkbConfigRegistry>
</xkbConfigRegistry>

@ -257,7 +257,7 @@ xkb_symbols "neo_base" {
// Alphanumeric-keys
// ===============
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
// Tab as Multi_key (Compose)
// --------------------------------------------------------------
@ -285,7 +285,7 @@ xkb_symbols "neo_base" {
// Top row
// --------------------------------------------------------------
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AD01> { [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ] };
key <AD02> { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ] };
key <AD03> { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] };
@ -300,12 +300,12 @@ xkb_symbols "neo_base" {
key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AD12> { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] };
// Middle row
// --------------------------------------------------------------
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AC01> { [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ] };
key <AC02> { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] };
key <AC03> { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] };
@ -330,12 +330,12 @@ xkb_symbols "neo_base" {
key <AB06> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] };
key <AB07> { [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
key <AB08> { [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ] };
key <AB09> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC";
key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK";
key <AB10> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] };
key.type[Group1] = "EIGHT_LEVEL_NEO_LOCKS";
key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK";
// Space key
// --------------------------------------------------------------
@ -389,8 +389,8 @@ xkb_symbols "neo" {
include "shift(both_capslock)"
include "level3(caps_switch)"
include "level3(bksl_switch)"
include "level5(lsgt_switch_numlock)"
include "level5(ralt_switch_numlock)"
include "level5(lsgt_switch_lock)"
include "level5(ralt_switch_lock)"
};
// Copied from macintosh_vndr/de

@ -116,7 +116,7 @@ xkb_symbols "lwin_switch" {
key <LWIN> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
};
modifier_map Mod5 { ISO_Level3_Shift };
};
@ -129,7 +129,7 @@ xkb_symbols "rwin_switch" {
key <RWIN> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
};
modifier_map Mod5 { ISO_Level3_Shift };
};
@ -141,7 +141,7 @@ xkb_symbols "enter_switch" {
key <KPEN> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
};
modifier_map Mod5 { ISO_Level3_Shift };
};

@ -21,7 +21,11 @@ xkb_symbols "rctrl_switch" {
// corresponding lock, implemented as NumLock.
partial modifier_keys
xkb_symbols "neomod_map" {
xkb_symbols "lock" {
// This adds the definitions needed to create a level5-lock behaviour, using
// the real modifier NumLock as a lock indicator.
// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
// See also: compat/level5(level5_lock)
key.type[Group1] = "ONE_LEVEL";
replace key <MDSW> {
@ -40,9 +44,9 @@ xkb_symbols "neomod_map" {
};
partial modifier_keys
xkb_symbols "lsgt_switch_numlock" {
xkb_symbols "lsgt_switch_lock" {
include "level5(neomod_map)"
include "level5(lock)"
key <LSGT> {
type[Group1] = "EIGHT_LEVEL",
@ -51,9 +55,9 @@ xkb_symbols "lsgt_switch_numlock" {
};
partial modifier_keys
xkb_symbols "lwin_switch_numlock" {
xkb_symbols "lwin_switch_lock" {
include "level5(neomod_map)"
include "level5(lock)"
key <LWIN> {
type[Group1] = "EIGHT_LEVEL",
@ -62,9 +66,9 @@ xkb_symbols "lwin_switch_numlock" {
};
partial modifier_keys
xkb_symbols "ralt_switch_numlock" {
xkb_symbols "ralt_switch_lock" {
include "level5(neomod_map)"
include "level5(lock)"
key <RALT> {
type[Group1] = "EIGHT_LEVEL",
@ -73,9 +77,9 @@ xkb_symbols "ralt_switch_numlock" {
};
partial modifier_keys
xkb_symbols "rwin_switch_numlock" {
xkb_symbols "rwin_switch_lock" {
include "level5(neomod_map)"
include "level5(lock)"
key <RWIN> {
type[Group1] = "EIGHT_LEVEL",
@ -84,45 +88,45 @@ xkb_symbols "rwin_switch_numlock" {
};
partial modifier_keys
xkb_symbols "lsgt_switch_numlock_cancel" {
xkb_symbols "lsgt_switch_lock_cancel" {
include "level5(neomod_map)"
include "level5(lock)"
key <LSGT> {
type[Group1] = "EIGHT_LEVEL_NEO_LOCKS",
type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};
partial modifier_keys
xkb_symbols "lwin_switch_numlock_cancel" {
xkb_symbols "lwin_switch_lock_cancel" {
include "level5(neomod_map)"
include "level5(lock)"
key <LWIN> {
type[Group1] = "EIGHT_LEVEL_NEO_LOCKS",
type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};
partial modifier_keys
xkb_symbols "ralt_switch_numlock_cancel" {
xkb_symbols "ralt_switch_lock_cancel" {
include "level5(neomod_map)"
include "level5(lock)"
key <RALT> {
type[Group1] = "EIGHT_LEVEL_NEO_LOCKS",
type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};
partial modifier_keys
xkb_symbols "rwin_switch_numlock_cancel" {
xkb_symbols "rwin_switch_lock_cancel" {
include "level5(neomod_map)"
include "level5(lock)"
key <RWIN> {
type[Group1] = "EIGHT_LEVEL_NEO_LOCKS",
type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK",
symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ]
};
};

@ -28,36 +28,38 @@ partial default xkb_types "default" {
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_ALPHABETIC" {
modifiers = Shift+Lock+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[Lock] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[Lock+LevelThree] = Level4;
map[Lock+Shift+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[Lock+Shift+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_NEO_LOCKS" {
// 'NumLock' is used for the (Neo-)Mod4-Lock.
// type "EIGHT_LEVEL_ALPHABETIC" {
// modifiers = Shift+Lock+LevelThree+LevelFive;
// map[None] = Level1;
// map[Shift] = Level2;
// map[Lock] = Level2;
// map[LevelThree] = Level3;
// map[Shift+LevelThree] = Level4;
// map[Lock+LevelThree] = Level4;
// map[Lock+Shift+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[Lock+Shift+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_LEVEL_FIVE_LOCK" {
// Level5-Lock is implemented by using NumLock, because a real modifier
// is required.
modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
map[None] = Level1;
@ -116,8 +118,10 @@ partial default xkb_types "default" {
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_NEO_LOCKS_QUARTERALPHABETIC" {
// 'NumLock' is used for the (Neo-)Mod4-Lock.
type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
// Level5-Lock is implemented by using NumLock, because a real modifier
// is required.
modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
map[None] = Level1;
@ -158,8 +162,8 @@ partial default xkb_types "default" {
map[Lock+NumLock+LevelFive] = Level2;
map[Lock+NumLock+LevelFive+Shift] = Level1;
map[Lock+NumLock+LevelFive+LevelThree] = Level3;
map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;
map[Lock+NumLock+LevelFive+LevelThree] = Level4;
map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
preserve[LevelFive+Shift] = Shift;
preserve[NumLock+Shift] = Shift;
@ -174,40 +178,40 @@ partial default xkb_types "default" {
level_name[Level8] = "X Shift Alt";
};
type "EIGHT_LEVEL_SEMIALPHABETIC" {
modifiers = Shift+Lock+LevelThree+LevelFive;
map[None] = Level1;
map[Shift] = Level2;
map[Lock] = Level2;
map[LevelThree] = Level3;
map[Shift+LevelThree] = Level4;
map[Lock+LevelThree] = Level3;
map[Lock+Shift+LevelThree] = Level4;
map[LevelFive] = Level5;
map[Shift+LevelFive] = Level6;
map[Lock+LevelFive] = Level6;
map[LevelThree+LevelFive] = Level7;
map[Shift+LevelThree+LevelFive] = Level8;
map[Lock+LevelThree+LevelFive] = Level7;
map[Lock+Shift+LevelThree+LevelFive] = Level8;
preserve[Lock+LevelThree] = Lock;
preserve[Lock+Shift+LevelThree] = Lock;
preserve[Lock+LevelFive] = Lock;
preserve[Lock+Shift+LevelFive] = Lock;
preserve[Lock+LevelThree+LevelFive] = Lock;
preserve[Lock+Shift+LevelThree+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 "EIGHT_LEVEL_SEMIALPHABETIC" {
// modifiers = Shift+Lock+LevelThree+LevelFive;
// map[None] = Level1;
// map[Shift] = Level2;
// map[Lock] = Level2;
// map[LevelThree] = Level3;
// map[Shift+LevelThree] = Level4;
// map[Lock+LevelThree] = Level3;
// map[Lock+Shift+LevelThree] = Level4;
// map[LevelFive] = Level5;
// map[Shift+LevelFive] = Level6;
// map[Lock+LevelFive] = Level6;
// map[LevelThree+LevelFive] = Level7;
// map[Shift+LevelThree+LevelFive] = Level8;
// map[Lock+LevelThree+LevelFive] = Level7;
// map[Lock+Shift+LevelThree+LevelFive] = Level8;
// preserve[Lock+LevelThree] = Lock;
// preserve[Lock+Shift+LevelThree] = Lock;
// preserve[Lock+LevelFive] = Lock;
// preserve[Lock+Shift+LevelFive] = Lock;
// preserve[Lock+LevelThree+LevelFive] = Lock;
// preserve[Lock+Shift+LevelThree+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";
// };
};

Loading…
Cancel
Save