summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstephan <stephan@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2010-05-05 18:03:07 +0000
committerstephan <stephan@b9310e46-f624-0410-8ea1-cfbb3a30dc96>2010-05-05 18:03:07 +0000
commitc78afd95b6998b99525aadd6de2ceded7dc1f26e (patch)
tree9e4f9090fe5bf802a96658a1f62eec0be0fdd457
parent86ae91fb7cb2589fd545f275989ab96670f8b8cf (diff)
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) git-svn-id: https://svn.neo-layout.org@2308 b9310e46-f624-0410-8ea1-cfbb3a30dc96
-rw-r--r--linux/X/compat/caps12
-rw-r--r--linux/X/compat/level556
-rw-r--r--linux/X/compat/misc127
-rw-r--r--linux/X/compat/neo_mods30
-rw-r--r--linux/X/rules/base49
-rw-r--r--linux/X/rules/base.xml146
-rw-r--r--linux/X/rules/evdev51
-rw-r--r--linux/X/rules/evdev.xml146
-rw-r--r--linux/X/symbols/de18
-rw-r--r--linux/X/symbols/level30
-rw-r--r--linux/X/symbols/level546
-rw-r--r--linux/X/types/level5138
12 files changed, 534 insertions, 285 deletions
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 <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);
+ };
+};
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);
- };
-};
diff --git a/linux/X/rules/base b/linux/X/rules/base
index 2f0c8f4..68c29df 100644
--- a/linux/X/rules/base
+++ b/linux/X/rules/base
@@ -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)
@@ -1001,31 +997,20 @@
$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
-! 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
+ de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock)
-! 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[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)
@@ -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)
diff --git a/linux/X/rules/base.xml b/linux/X/rules/base.xml
index e48c705..952a457 100644
--- a/linux/X/rules/base.xml
+++ b/linux/X/rules/base.xml
@@ -123,13 +123,6 @@
</model>
<model>
<configItem>
- <name>acpi</name>
- <description>ACPI Standard</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
<name>azonaRF2300</name>
<description>Azona RF2300 wireless Internet Keyboard</description>
<vendor>Azona</vendor>
@@ -1135,13 +1128,6 @@
</model>
<model>
<configItem>
- <name>evdev</name>
- <description>Evdev-managed keyboard</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
<name>benqx</name>
<description>BenQ X-Touch</description>
<vendor>BenQ</vendor>
@@ -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_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: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: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>
diff --git a/linux/X/rules/evdev b/linux/X/rules/evdev
index 9fa1577..307c2a5 100644
--- a/linux/X/rules/evdev
+++ b/linux/X/rules/evdev
@@ -933,34 +933,25 @@
* us crd = +extras/us(crd):4
* us intl-unicode = +extras/us(intl-unicode):4
+! model = symbols
+ $evdevkbds = +inet(evdev)+inet(%m)
+ applealu_jis = +inet(evdev)+macintosh_vndr/jp(alujiskeys)
+ * = +inet(evdev)
-// 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
-! 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):2+misc(assign_shift_left_action):2+level5(level5_lock):2
-! 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[3] variant[3] = compat
+ de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3
-! model = symbols
- $evdevkbds = +inet(evdev)+inet(%m)
- applealu_jis = +inet(evdev)+macintosh_vndr/jp(alujiskeys)
- * = +inet(evdev)
+! 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)
@@ -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)
diff --git a/linux/X/rules/evdev.xml b/linux/X/rules/evdev.xml
index e48c705..952a457 100644
--- a/linux/X/rules/evdev.xml
+++ b/linux/X/rules/evdev.xml
@@ -123,13 +123,6 @@
</model>
<model>
<configItem>
- <name>acpi</name>
- <description>ACPI Standard</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
<name>azonaRF2300</name>
<description>Azona RF2300 wireless Internet Keyboard</description>
<vendor>Azona</vendor>
@@ -1135,13 +1128,6 @@
</model>
<model>
<configItem>
- <name>evdev</name>
- <description>Evdev-managed keyboard</description>
- <vendor>Generic</vendor>
- </configItem>
- </model>
- <model>
- <configItem>
<name>benqx</name>
<description>BenQ X-Touch</description>
<vendor>BenQ</vendor>
@@ -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_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: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: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>
diff --git a/linux/X/symbols/de b/linux/X/symbols/de
index d81869a..60b53b5 100644
--- a/linux/X/symbols/de
+++ b/linux/X/symbols/de
@@ -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
diff --git a/linux/X/symbols/level3 b/linux/X/symbols/level3
index f4a0603..c2c6b13 100644
--- a/linux/X/symbols/level3
+++ b/linux/X/symbols/level3
diff --git a/linux/X/symbols/level5 b/linux/X/symbols/level5
index ff7041c..19db36c 100644
--- a/linux/X/symbols/level5
+++ b/linux/X/symbols/level5
@@ -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 ]
};
};
diff --git a/linux/X/types/level5 b/linux/X/types/level5
index b361644..1012d0f 100644
--- a/linux/X/types/level5
+++ b/linux/X/types/level5
@@ -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;
+// 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.
- 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.
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";
+// };
};