aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xorg-server/xkbdata.src/compat/Makefile.am2
-rw-r--r--xorg-server/xkbdata.src/compat/caps12
-rw-r--r--xorg-server/xkbdata.src/compat/makefile2
-rw-r--r--xorg-server/xkbdata.src/geometry/pc11
-rw-r--r--xorg-server/xkbdata.src/rules/base.o_c.part1
-rw-r--r--xorg-server/xkbdata.src/rules/base.o_s.part16
-rw-r--r--xorg-server/xkbdata.src/rules/base.xml.in89
-rw-r--r--xorg-server/xkbdata.src/symbols/cz348
-rw-r--r--xorg-server/xkbdata.src/symbols/fi2
-rw-r--r--xorg-server/xkbdata.src/symbols/gh2
-rw-r--r--xorg-server/xkbdata.src/symbols/hu6
-rw-r--r--xorg-server/xkbdata.src/symbols/il508
-rw-r--r--xorg-server/xkbdata.src/symbols/level336
-rw-r--r--xorg-server/xkbdata.src/symbols/level566
-rw-r--r--xorg-server/xkbdata.src/symbols/rs27
-rw-r--r--xorg-server/xkbdata.src/symbols/shift45
-rw-r--r--xorg-server/xkbdata.src/symbols/tm1
-rw-r--r--xorg-server/xkbdata.src/types/level5242
18 files changed, 839 insertions, 577 deletions
diff --git a/xorg-server/xkbdata.src/compat/Makefile.am b/xorg-server/xkbdata.src/compat/Makefile.am
index 4e56a2427..54a659eec 100644
--- a/xorg-server/xkbdata.src/compat/Makefile.am
+++ b/xorg-server/xkbdata.src/compat/Makefile.am
@@ -1,7 +1,7 @@
compatdir = $(xkb_base)/compat
dist_compat_DATA = \
-accessx basic complete \
+accessx basic caps complete \
default iso9995 \
japan keypad ledcaps \
lednum ledscroll level5 \
diff --git a/xorg-server/xkbdata.src/compat/caps b/xorg-server/xkbdata.src/compat/caps
new file mode 100644
index 000000000..d787ab63d
--- /dev/null
+++ b/xorg-server/xkbdata.src/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/xorg-server/xkbdata.src/compat/makefile b/xorg-server/xkbdata.src/compat/makefile
index 486ca5541..225163288 100644
--- a/xorg-server/xkbdata.src/compat/makefile
+++ b/xorg-server/xkbdata.src/compat/makefile
@@ -7,7 +7,7 @@ THISDIR=compat
DESTDIR=$(MHMAKECONF)\xorg-server\xkbdata\$(THISDIR)
dist_xkbdata_compat_DATA = \
-accessx basic complete \
+accessx basic caps complete \
default iso9995 \
japan keypad ledcaps \
lednum ledscroll level5 \
diff --git a/xorg-server/xkbdata.src/geometry/pc b/xorg-server/xkbdata.src/geometry/pc
index 812f8425f..ee923fc31 100644
--- a/xorg-server/xkbdata.src/geometry/pc
+++ b/xorg-server/xkbdata.src/geometry/pc
@@ -514,10 +514,13 @@ xkb_geometry "pc105" {
shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } };
shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } };
shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } };
- shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } };
+ shape "RTRN" {
+ { [0,0], [28,0], [28,37], [5,37], [5,18], [0,18] } ,
+ { [2,1], [26,1], [26,35], [7,35], [7,16], [2,16] } ,
+ approx = { [5,0], [28,37] } };
shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } };
shape "LFSH" { { [ 25,18] }, { [2,1], [ 23,16] } };
- shape "RTSH" { { [ 50,18] }, { [2,1], [ 50,16] } };
+ shape "RTSH" { { [ 50,18] }, { [2,1], [ 48,16] } };
shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } };
shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } };
shape "SPCE" { { [113,18] }, { [2,1], [111,16] } };
@@ -578,7 +581,7 @@ xkb_geometry "pc105" {
keys { { <TAB>, "TABK", color="grey20" },
<AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
<AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
- <AD11>, <AD12>, { <BKSL>, "BKSL" }
+ <AD11>, <AD12>, { <RTRN>, "RTRN", color="grey20" }
};
};
row {
@@ -586,7 +589,7 @@ xkb_geometry "pc105" {
keys { { <CAPS>, "CAPS", color="grey20" },
<AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
<AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
- <AC11>, { <RTRN>, "RTRN", color="grey20" }
+ <AC11>, <BKSL>
};
};
row {
diff --git a/xorg-server/xkbdata.src/rules/base.o_c.part b/xorg-server/xkbdata.src/rules/base.o_c.part
index 8898e3b50..352f8b363 100644
--- a/xorg-server/xkbdata.src/rules/base.o_c.part
+++ b/xorg-server/xkbdata.src/rules/base.o_c.part
@@ -1,7 +1,6 @@
grp_led:num = +lednum(group_lock)
grp_led:caps = +ledcaps(group_lock)
grp_led:scroll = +ledscroll(group_lock)
- grp:caps_toggle = +ledcaps(group_lock)
japan:kana_lock = +japan(kana_lock)
caps:shiftlock = +ledcaps(shift_lock)
diff --git a/xorg-server/xkbdata.src/rules/base.o_s.part b/xorg-server/xkbdata.src/rules/base.o_s.part
index 79f61d959..9958f101d 100644
--- a/xorg-server/xkbdata.src/rules/base.o_s.part
+++ b/xorg-server/xkbdata.src/rules/base.o_s.part
@@ -113,9 +113,25 @@
shift:both_capslock = +shift(both_capslock)
shift:lshift_both_capslock = +shift(lshift_both_capslock)
shift:rshift_both_capslock = +shift(rshift_both_capslock)
+ shift:both_capslock_cancel = +shift(both_capslock_cancel)
+ shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel)
+ shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel)
+ shift:both_shiftlock = +shift(both_shiftlock)
+ shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock)
+ shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock)
lv3:caps_switch = +level3(caps_switch)
lv3:bksl_switch = +level3(bksl_switch)
+ lv3:lsgt_switch = +level3(lsgt_switch)
+ 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_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/xorg-server/xkbdata.src/rules/base.xml.in b/xorg-server/xkbdata.src/rules/base.xml.in
index 844bf4536..3a2cfe251 100644
--- a/xorg-server/xkbdata.src/rules/base.xml.in
+++ b/xorg-server/xkbdata.src/rules/base.xml.in
@@ -1311,7 +1311,7 @@
<variant>
<configItem>
<name>olpc2</name>
- <_description>Group toggle on multiply/divide key</_description>
+ <_description>Layout toggle on multiply/divide key</_description>
</configItem>
</variant>
<variant>
@@ -2295,8 +2295,14 @@
<variantList>
<variant>
<configItem>
+ <name>classic</name>
+ <_description>Classic</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
<name>nodeadkeys</name>
- <_description>Eliminate dead keys</_description>
+ <_description>Classic, eliminate dead keys</_description>
</configItem>
</variant>
<variant>
@@ -2309,12 +2315,6 @@
</variant>
<variant>
<configItem>
- <name>classic</name>
- <_description>Classic</_description>
- </configItem>
- </variant>
- <variant>
- <configItem>
<name>mac</name>
<_description>Macintosh</_description>
</configItem>
@@ -3594,6 +3594,13 @@
<_description>Latin with guillemets</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>rue</name>
+ <_description>Pannonian Rusyn Homophonic</_description>
+ <languageList><iso639Id>rue</iso639Id></languageList>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
@@ -4717,6 +4724,30 @@
<_description>Backslash</_description>
</configItem>
</option>
+ <option>
+ <configItem>
+ <name>lv3:lsgt_switch</name>
+ <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>
<group allowMultipleSelection="false">
<!-- Tweaking the position of the "Ctrl" key -->
@@ -5094,7 +5125,7 @@
<option>
<configItem>
<name>compose:102</name>
- <_description>Less-than/Greater-than</_description>
+ <_description>&lt;Less/Greater&gt;</_description>
</configItem>
</option>
<option>
@@ -5175,6 +5206,18 @@
<_description>Both Shift-Keys together toggle CapsLock</_description>
</configItem>
</option>
+ <option>
+ <configItem>
+ <name>shift:both_capslock_cancel</name>
+ <description>Both Shift-Keys together activate CapsLock, one Shift-Key deactivates</description>
+ </configItem>
+ </option>
+ <option>
+ <configItem>
+ <name>shift:both_shiftlock</name>
+ <description>Both Shift-Keys together toggle ShiftLock</description>
+ </configItem>
+ </option>
</group>
<group allowMultipleSelection="true">
<!-- Special shortcuts for the Euro character -->
@@ -5215,49 +5258,61 @@
<option>
<configItem>
<name>lv5:lsgt_switch_lock</name>
- <_description>&lt;Less/Greater&gt; chooses 5th level and locks it when pressed together with another 5th-level-chooser</_description>
+ <_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 and locks it when pressed together with another 5th-level-chooser</_description>
+ <_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 and locks it when pressed together with another 5th-level-chooser</_description>
+ <_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 and locks it when pressed together with another 5th-level-chooser</_description>
+ <_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 and locks it when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ <_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 and locks it when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ <_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 and locks it when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ <_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:rwin_switch_lock_cancel</name>
- <_description>Right Win chooses 5th level and locks it when pressed together with another 5th-level-chooser, one press releases the lock</_description>
+ <_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: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_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>
</group>
diff --git a/xorg-server/xkbdata.src/symbols/cz b/xorg-server/xkbdata.src/symbols/cz
index 4a45b2ca4..32592799a 100644
--- a/xorg-server/xkbdata.src/symbols/cz
+++ b/xorg-server/xkbdata.src/symbols/cz
@@ -1,174 +1,174 @@
-// $XKeyboardConfig$
-// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.2 2002/11/22 04:02:22 dawes
-// Exp $
-
-partial default alphanumeric_keys
-xkb_symbols "basic" {
-
- // This layout conforms to a new cz compromise standard designed
- // to satisfy most unix, windows and mac users.
- // 2001 by Kamil Toman <ktoman@email.cz>
-
- include "latin"
-
- name[Group1]= "Czechia";
-
- key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
- key <AE01> { [ plus, 1, exclam, dead_tilde ] };
- key <AE02> { [ ecaron, 2, at, dead_caron ] };
- key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
- key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
- key <AE05> { [ rcaron, 5, percent, dead_abovering ] };
- key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
- key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
- key <AE08> { [ aacute, 8, asterisk, dead_abovedot] };
- key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
- key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
- key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis ] };
- key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
-
- key <AD01> { [ q, Q, backslash, NoSymbol ] };
- key <AD02> { [ w, W, bar, Nosymbol ] };
- key <AD03> { [ e, E, EuroSign, NoSymbol ] };
- key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
- key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
- key <AD06> { [ z, Z, NoSymbol, NoSymbol ] };
- key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
- key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
- key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
- key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
-
- key <AD11> { [ uacute, slash, bracketleft, division ] };
- key <AD12> { [parenright, parenleft, bracketright, multiply ] };
-
- key <AC01> { [ a, A, asciitilde, NoSymbol ] };
- key <AC02> { [ s, S, dstroke, NoSymbol ] };
- key <AC03> { [ d, D, Dstroke, NoSymbol ] };
- key <AC04> { [ f, F, bracketleft, NoSymbol ] };
- key <AC05> { [ g, G, bracketright, NoSymbol ] };
- key <AC06> { [ h, H, grave, NoSymbol ] };
- key <AC07> { [ j, J, apostrophe, NoSymbol ] };
- key <AC08> { [ k, K, lstroke, NoSymbol ] };
- key <AC09> { [ l, L, Lstroke, NoSymbol ] };
-
- key <AC10> { [ uring, quotedbl, dollar, NoSymbol ] };
- key <AC11> { [ section, exclam, apostrophe, ssharp ] };
- key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
- key <BKSL> { [dead_diaeresis, apostrophe, backslash, bar ] };
-
- key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
- key <AB01> { [ y, Y, degree, NoSymbol ] };
- key <AB02> { [ x, X, numbersign, Nosymbol ] };
- key <AB03> { [ c, C, ampersand, NoSymbol ] };
- key <AB04> { [ v, V, at, NoSymbol ] };
- key <AB05> { [ b, B, braceleft, NoSymbol ] };
- key <AB06> { [ n, N, braceright, NoSymbol ] };
- key <AB07> { [ m, M, asciicircum, NoSymbol ] };
- key <AB08> { [ comma, question, less, NoSymbol ] };
- key <AB09> { [ period, colon, greater, NoSymbol ] };
- key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
-
- key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
-
- include "level3(ralt_switch)"
-};
-
-// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
-xkb_symbols "bksl" {
- include "cz(basic)"
- name[Group1]= "Czechia - With <\|> key";
-
- key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "qwerty" {
-
- // This layout should work exactly as a cz with the exception
- // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
- // 2001 by Kamil Toman <ktoman@email.cz>
-
- include "cz(basic)"
- name[Group1]= "Czechia - qwerty";
-
- key <AB01> { [ z, Z, degree, NoSymbol ] };
- key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
-};
-
-// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
-xkb_symbols "qwerty_bksl" {
- include "cz(qwerty)"
-
- name[Group1]= "Czechia - qwerty, extended Backslash";
-
- key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
-};
-
-partial alphanumeric_keys alternate_group
-xkb_symbols "ucw" {
-
- // This layout is usually used as the second group, it contains
- // accented characters only, no 'latin' set.
- // 2008 by Milan Vancura <mvancura@suse.cz>
-
- name[Group1]= "Czechia - UCW layout (accented letters only)";
-
- key <AB01> { [zcaron, Zcaron ] };
- key <AB02> { [ssharp ] };
- key <AB03> { [ccaron, Ccaron ] };
- key <AB04> { [ccedilla, Ccedilla ] };
- key <AB05> { [ntilde, Ntilde ] };
- key <AB06> { [ncaron, Ncaron ] };
- key <AB07> { [lacute, Lacute ] };
-
- key <AC01> { [aacute, Aacute ] };
- key <AC02> { [scaron, Scaron ] };
- key <AC03> { [dcaron, Dcaron ] };
- key <AC04> { [ediaeresis, Ediaeresis ] };
- key <AC05> { [racute, Racute ] };
- key <AC06> { [uacute, Uacute ] };
- key <AC07> { [udiaeresis, Udiaeresis ] };
- key <AC08> { [ocircumflex, Ocircumflex ] };
- key <AC09> { [lcaron, Lcaron ] };
-
- key <AD01> { [adiaeresis, Adiaeresis ] };
- key <AD02> { [ecaron, Ecaron ] };
- key <AD03> { [eacute, Eacute ] };
- key <AD04> { [rcaron, Rcaron ] };
- key <AD05> { [tcaron, Tcaron ] };
- key <AD06> { [yacute, Yacute ] };
- key <AD07> { [uring, Uring ] };
- key <AD08> { [iacute, Iacute ] };
- key <AD09> { [oacute, Oacute ] };
- key <AD10> { [odiaeresis, Odiaeresis ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "dvorak-ucw" {
-
- // US Dvorak layout extend with UCW - AltGr produces accented characters
-
- include "us(dvorak)"
-
- name[Group1]= "Czechia - US Dvorak with CZ UCW support";
-
- key <AB03> { [ j, J, eacute, Eacute ] };
- key <AB04> { [ k, K, uacute, Uacute ] };
- key <AB10> { [ z, Z, zcaron, Zcaron ] };
-
- key <AC01> { [ a, A, aacute, Aacute ] };
- key <AC02> { [ o, O, oacute, Oacute ] };
- key <AC03> { [ e, E, ecaron, Ecaron ] };
- key <AC04> { [ u, U, uring, Uring ] };
- key <AC05> { [ i, I, iacute, Iacute ] };
- key <AC06> { [ d, D, dcaron, Dcaron ] };
- key <AC08> { [ t, T, tcaron, Tcaron ] };
- key <AC09> { [ n, N, ncaron, Ncaron ] };
- key <AC10> { [ s, S, scaron, Scaron ] };
-
- key <AD05> { [ y, Y, yacute, Yacute ] };
- key <AD08> { [ c, C, ccaron, Ccaron ] };
- key <AD09> { [ r, R, rcaron, Rcaron ] };
-
- include "level3(ralt_switch)"
-};
+// $XKeyboardConfig$
+// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.2 2002/11/22 04:02:22 dawes
+// Exp $
+
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ // This layout conforms to a new cz compromise standard designed
+ // to satisfy most unix, windows and mac users.
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "latin"
+
+ name[Group1]= "Czechia";
+
+ key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
+ key <AE01> { [ plus, 1, exclam, dead_tilde ] };
+ key <AE02> { [ ecaron, 2, at, dead_caron ] };
+ key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
+ key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
+ key <AE05> { [ rcaron, 5, percent, dead_abovering ] };
+ key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
+ key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
+ key <AE08> { [ aacute, 8, asterisk, dead_abovedot] };
+ key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
+ key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
+ key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis ] };
+ key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
+
+ key <AD01> { [ q, Q, backslash, NoSymbol ] };
+ key <AD02> { [ w, W, bar, Nosymbol ] };
+ key <AD03> { [ e, E, EuroSign, NoSymbol ] };
+ key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
+ key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
+ key <AD06> { [ z, Z, NoSymbol, NoSymbol ] };
+ key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
+ key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
+ key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
+ key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
+
+ key <AD11> { [ uacute, slash, bracketleft, division ] };
+ key <AD12> { [parenright, parenleft, bracketright, multiply ] };
+
+ key <AC01> { [ a, A, asciitilde, NoSymbol ] };
+ key <AC02> { [ s, S, dstroke, NoSymbol ] };
+ key <AC03> { [ d, D, Dstroke, NoSymbol ] };
+ key <AC04> { [ f, F, bracketleft, NoSymbol ] };
+ key <AC05> { [ g, G, bracketright, NoSymbol ] };
+ key <AC06> { [ h, H, grave, NoSymbol ] };
+ key <AC07> { [ j, J, apostrophe, NoSymbol ] };
+ key <AC08> { [ k, K, lstroke, NoSymbol ] };
+ key <AC09> { [ l, L, Lstroke, NoSymbol ] };
+
+ key <AC10> { [ uring, quotedbl, dollar, NoSymbol ] };
+ key <AC11> { [ section, exclam, apostrophe, ssharp ] };
+ key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
+ key <BKSL> { [dead_diaeresis, apostrophe, backslash, bar ] };
+
+ key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
+ key <AB01> { [ y, Y, degree, NoSymbol ] };
+ key <AB02> { [ x, X, numbersign, Nosymbol ] };
+ key <AB03> { [ c, C, ampersand, NoSymbol ] };
+ key <AB04> { [ v, V, at, NoSymbol ] };
+ key <AB05> { [ b, B, braceleft, NoSymbol ] };
+ key <AB06> { [ n, N, braceright, NoSymbol ] };
+ key <AB07> { [ m, M, asciicircum, NoSymbol ] };
+ key <AB08> { [ comma, question, less, NoSymbol ] };
+ key <AB09> { [ period, colon, greater, NoSymbol ] };
+ key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
+
+ key <SPCE> { [ space, space, space, space ] };
+
+ include "level3(ralt_switch)"
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "bksl" {
+ include "cz(basic)"
+ name[Group1]= "Czechia - With <\|> key";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "qwerty" {
+
+ // This layout should work exactly as a cz with the exception
+ // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
+ // 2001 by Kamil Toman <ktoman@email.cz>
+
+ include "cz(basic)"
+ name[Group1]= "Czechia - qwerty";
+
+ key <AB01> { [ z, Z, degree, NoSymbol ] };
+ key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
+};
+
+// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
+xkb_symbols "qwerty_bksl" {
+ include "cz(qwerty)"
+
+ name[Group1]= "Czechia - qwerty, extended Backslash";
+
+ key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
+};
+
+partial alphanumeric_keys alternate_group
+xkb_symbols "ucw" {
+
+ // This layout is usually used as the second group, it contains
+ // accented characters only, no 'latin' set.
+ // 2008 by Milan Vancura <mvancura@suse.cz>
+
+ name[Group1]= "Czechia - UCW layout (accented letters only)";
+
+ key <AB01> { [zcaron, Zcaron ] };
+ key <AB02> { [ssharp ] };
+ key <AB03> { [ccaron, Ccaron ] };
+ key <AB04> { [ccedilla, Ccedilla ] };
+ key <AB05> { [ntilde, Ntilde ] };
+ key <AB06> { [ncaron, Ncaron ] };
+ key <AB07> { [lacute, Lacute ] };
+
+ key <AC01> { [aacute, Aacute ] };
+ key <AC02> { [scaron, Scaron ] };
+ key <AC03> { [dcaron, Dcaron ] };
+ key <AC04> { [ediaeresis, Ediaeresis ] };
+ key <AC05> { [racute, Racute ] };
+ key <AC06> { [uacute, Uacute ] };
+ key <AC07> { [udiaeresis, Udiaeresis ] };
+ key <AC08> { [ocircumflex, Ocircumflex ] };
+ key <AC09> { [lcaron, Lcaron ] };
+
+ key <AD01> { [adiaeresis, Adiaeresis ] };
+ key <AD02> { [ecaron, Ecaron ] };
+ key <AD03> { [eacute, Eacute ] };
+ key <AD04> { [rcaron, Rcaron ] };
+ key <AD05> { [tcaron, Tcaron ] };
+ key <AD06> { [yacute, Yacute ] };
+ key <AD07> { [uring, Uring ] };
+ key <AD08> { [iacute, Iacute ] };
+ key <AD09> { [oacute, Oacute ] };
+ key <AD10> { [odiaeresis, Odiaeresis ] };
+};
+
+partial alphanumeric_keys
+xkb_symbols "dvorak-ucw" {
+
+ // US Dvorak layout extend with UCW - AltGr produces accented characters
+
+ include "us(dvorak)"
+
+ name[Group1]= "Czechia - US Dvorak with CZ UCW support";
+
+ key <AB03> { [ j, J, eacute, Eacute ] };
+ key <AB04> { [ k, K, uacute, Uacute ] };
+ key <AB10> { [ z, Z, zcaron, Zcaron ] };
+
+ key <AC01> { [ a, A, aacute, Aacute ] };
+ key <AC02> { [ o, O, oacute, Oacute ] };
+ key <AC03> { [ e, E, ecaron, Ecaron ] };
+ key <AC04> { [ u, U, uring, Uring ] };
+ key <AC05> { [ i, I, iacute, Iacute ] };
+ key <AC06> { [ d, D, dcaron, Dcaron ] };
+ key <AC08> { [ t, T, tcaron, Tcaron ] };
+ key <AC09> { [ n, N, ncaron, Ncaron ] };
+ key <AC10> { [ s, S, scaron, Scaron ] };
+
+ key <AD05> { [ y, Y, yacute, Yacute ] };
+ key <AD08> { [ c, C, ccaron, Ccaron ] };
+ key <AD09> { [ r, R, rcaron, Rcaron ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkbdata.src/symbols/fi b/xorg-server/xkbdata.src/symbols/fi
index ce9a3663f..6c5a3e6af 100644
--- a/xorg-server/xkbdata.src/symbols/fi
+++ b/xorg-server/xkbdata.src/symbols/fi
@@ -197,7 +197,7 @@ xkb_symbols "nodeadkeys" {
include "latin(type2_nodeadkeys)"
include "fi(fi)"
- name[Group1]="Finland - Eliminate dead keys";
+ name[Group1]="Finland - Classic, eliminate dead keys";
key <AE12> { [ acute, grave ] };
key <AD12> { [ diaeresis, asciicircum, asciitilde, caron ] };
diff --git a/xorg-server/xkbdata.src/symbols/gh b/xorg-server/xkbdata.src/symbols/gh
index 0b2a8894f..a997e9fb0 100644
--- a/xorg-server/xkbdata.src/symbols/gh
+++ b/xorg-server/xkbdata.src/symbols/gh
@@ -42,7 +42,7 @@ xkb_symbols "ewe" {
key <AB03> { [ 0x0100014B, 0x0100014A, c, C ] };
key <AD11> { [ 0x01000254, 0x01000186, braceleft, braceleft ] };
key <AD12> { [ 0x0100028B, 0x010001B2, braceright, braceright ] };
- key <AD13> { [ 0x01000256, 0x01000189, backslash, backslash ] };
+ key <BKSL> { [ 0x01000256, 0x01000189, backslash, backslash ] };
key <AC07> { [ 0x01000192, 0x01000191, j, J ] };
key <AC05> { [ g, G, 0x01000263, 0x01000194 ] };
diff --git a/xorg-server/xkbdata.src/symbols/hu b/xorg-server/xkbdata.src/symbols/hu
index 428009818..e5abdf2ad 100644
--- a/xorg-server/xkbdata.src/symbols/hu
+++ b/xorg-server/xkbdata.src/symbols/hu
@@ -329,7 +329,7 @@ xkb_symbols "def_101" {
// The standard Hungaryan qwertz layout
hidden partial alphanumeric_keys
xkb_symbols "def_qwertz" {
- key <AD06> { [ z, Z ] };
+ key <AD06> { [ z, Z, endash ] };
key <AB01> { [ y, Y, greater ] };
};
@@ -338,7 +338,7 @@ xkb_symbols "def_qwertz" {
// The qwerty layout for people who familiar with the standard US layout
hidden partial alphanumeric_keys
xkb_symbols "def_qwerty" {
- key <AD06> { [ y, Y ] };
+ key <AD06> { [ y, Y, endash ] };
key <AB01> { [ z, Z, greater ] };
};
@@ -396,6 +396,8 @@ xkb_symbols "def_common" {
key <AD02> { [ w, W, bar ] };
key <AD07> { [ u, U, EuroSign ] };
key <AD08> { [ i, I, Iacute, iacute ] };
+ key <AD09> { [ o, O, doublelowquotemark ] };
+ key <AD10> { [ p, P, rightdoublequotemark ] };
key <AD11> { [ odoubleacute, Odoubleacute, division ] };
key <AD12> { [ uacute, Uacute, multiply ] };
diff --git a/xorg-server/xkbdata.src/symbols/il b/xorg-server/xkbdata.src/symbols/il
index 143a7c5cd..cc29b128e 100644
--- a/xorg-server/xkbdata.src/symbols/il
+++ b/xorg-server/xkbdata.src/symbols/il
@@ -1,253 +1,255 @@
-// $XKeyboardConfig$
-
-// based on a keyboard map from an 'xkb/symbols/il' file
-//
-// $XFree86: xc/programs/xkbcomp/symbols/il,v 1.3 2003/01/07 02:03:44 dawes Exp $
-
-// This is a partial implemetation of the Israeli standard SI-1452
-// It does not implement changes to the English layout ("Alt-English"),
-// as I believe that it is not the job of this layout to modify the English
-// layout.
-partial default alphanumeric_keys
-xkb_symbols "basic" {
- // uses the kbd layout in use in Israel.
-
- name[Group1]= "Israel";
-
- key <AD01> { [ slash, Q ] };
- key <AD02> { [ apostrophe, W ] };
- key <AD03> { [ hebrew_qoph, E ] };
- key <AD04> { [ hebrew_resh, R ] };
- key <AD05> { [ hebrew_aleph,T ] };
- key <AD06> { [ hebrew_tet, Y ] };
- key <AD07> { [ hebrew_waw, U ] };
- key <AD08> { [ hebrew_finalnun, I ] };
- key <AD09> { [ hebrew_finalmem, O ] };
- key <AD10> { [ hebrew_pe, P ] };
-
- key <AC01> { [ hebrew_shin, A ] };
- key <AC02> { [ hebrew_dalet,S ] };
- key <AC03> { [ hebrew_gimel,D ] };
- key <AC04> { [ hebrew_kaph, F ] };
- key <AC05> { [ hebrew_ayin, G ] };
- key <AC06> { [ hebrew_yod, H ] };
- key <AC07> { [ hebrew_chet, J ] };
- key <AC08> { [ hebrew_lamed, K ] };
- key <AC09> { [ hebrew_finalkaph, L ] };
- key <AC10> { [ hebrew_finalpe, colon ] };
- key <AC11> { [ comma, quotedbl ] };
-
- key <AB01> { [ hebrew_zain, Z ] };
- key <AB02> { [ hebrew_samech, X ] };
- key <AB03> { [ hebrew_bet, C ] };
- key <AB04> { [ hebrew_he, V ] };
- key <AB05> { [ hebrew_nun, B ] };
- key <AB06> { [ hebrew_mem, N ] };
- key <AB07> { [ hebrew_zade, M ] };
- // Mirrored:
- key <AB08> { [ hebrew_taw, greater ] };
- key <AB09> { [ hebrew_finalzade, less ] };
-
- key.type[Group1] = "THREE_LEVEL";
-
- key <TLDE> { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva
- key <AB10> { [ period, question, 0x10005c3 ]}; // Sof Pasuq
-
- // The following may get overriden by the iso9995-3(basic101) symbols.
- // therefore they are included here.
- // Including them isn't a great idea (for instance: what if group 1 uses
- // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
- // preserve that, and I'm not sure that this is a good feature.
- key <AE01> { [ 1, exclam , 0x10005b1 ]}; // H. Segol
- key <AE02> { [ 2, at , 0x10005b2 ]}; // H. Patah
- key <AE03> { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats
- key <AE04> { [ 4, dollar , 0x10005b4 ]}; // Hiriq
- key <AE05> { [ 5, percent , 0x10005b5 ]}; // Tsere
- key <AE06> { [ 6, asciicircum , 0x10005b6 ]}; // Segol
- key <AE07> { [ 7, ampersand , 0x10005b7 ]}; // Patah
- key <AE08> { [ 8, asterisk , 0x10005b8 ]}; // Qamats
- // Mirrored:
- key <AE09> { [ 9, parenright , 0x10005c2 ]}; // Sin dot
- key <AE10> { [ 0, parenleft , 0x10005c1 ]}; // Shin dot
- key <AE11> { [ minus, underscore , 0x10005b9 ]}; // Holam
- key <AE12> { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq
-
- // Mirrored:
- key <AD11> { [ bracketright, braceright, 0x10005bf ]}; // Rafe
- key <AD12> { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg
-
- key <BKSL> { [ backslash, bar, 0x10005bb ]}; // Qubuts
-};
-
-
-// nikud patter based on Dekel Tsur's Hebrew mapping for LyX
-partial alphanumeric_keys
-xkb_symbols "lyx" {
- name[Group1]= "Israel - lyx";
-
- key <TLDE> { [ semicolon, asciitilde ] };
- // On some key (e.g. AD01, right below) there is not yet mapping for the
- // second shift level. Since I could not figure a simple way to map this
- // to "emit nothing", it is currently mapped to the same letter of the
- // first shift level (avoiding mapping may risk it be used by a character
- // from a different group).
- key <AD01> { [ slash, slash ] };
- key <AD02> { [ apostrophe, apostrophe ] };
- key <AD03> { [ hebrew_qoph, 0x10005b8 ] }; // Qamats
- key <AD04> { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq
- key <AD05> { [ hebrew_aleph, 0x100200e ] }; // LRM
- key <AD06> { [ hebrew_tet, 0x100200f ] }; // RLM
- key <AD07> { [ hebrew_waw, 0x10005b9 ] }; // Holam
- key <AD08> { [ hebrew_finalnun,hebrew_finalnun] };
- key <AD09> { [ hebrew_finalmem,hebrew_finalmem] };
- key <AD10> { [ hebrew_pe, 0x10005b7 ] }; // Patah
-
- key <AC01> { [ hebrew_shin, 0x10005b0 ] }; // Sheva
- key <AC02> { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq
- key <AC03> { [ hebrew_gimel, hebrew_gimel ] };
- key <AC04> { [ hebrew_kaph, hebrew_kaph ] };
- key <AC05> { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot
- key <AC06> { [ hebrew_yod, 0x10005c1 ] }; // Shin dot
- key <AC07> { [ hebrew_chet, 0x10005b4 ] }; // Hiriq
- key <AC08> { [ hebrew_lamed, 0x10020aa ] }; // NIS
- key <AC09> { [ hebrew_finalkaph,hebrew_finalkaph] };
- key <AC10> { [ hebrew_finalpe, colon ] };
- key <AC11> { [ comma, quotedbl ] };
-
- key <AB01> { [ hebrew_zain, hebrew_zain ] };
- key <AB02> { [ hebrew_samech,0x10005b6 ] }; // Segol
- key <AB03> { [ hebrew_bet, 0x10005bb ] }; // Qubuts
- key <AB04> { [ hebrew_he, 0x10005b1 ] }; // H. Segol
- key <AB05> { [ hebrew_nun, 0x10005b2 ] }; // H. Patah
- key <AB06> { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats
- key <AB07> { [ hebrew_zade, 0x10005b5 ] }; // Tsere
- key <AB08> { [ hebrew_taw, greater ] };
- key <AB09> { [ hebrew_finalzade, less ] };
- key <AB10> { [ period, question ] };
-
- // Note the parens mirroring below:
- key <AD11> { [ bracketright, braceright ] };
- key <AD12> { [ bracketleft, braceleft ] };
- key <AE09> { [ 9 , parenright ] };
- key <AE10> { [ 0 , parenleft ] };
-
- key <AE11> { [ minus , 0x10005be ] }; // H. Hiphen
- key <AE12> { [ equal , plus ] };
-};
-
-
-partial alphanumeric_keys
-xkb_symbols "phonetic" {
-
- // uses the phonetic layout from old Slackware 'il.map' file
-
- name[Group1]= "Israel - Phonetic";
-
- key <AE12> { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]};
-
- key <LatQ> { [ hebrew_qoph, hebrew_qoph ] };
- key <LatW> { [ hebrew_waw, hebrew_waw ] };
- key <LatE> { [ hebrew_aleph, hebrew_aleph ] };
- key <LatR> { [ hebrew_resh, hebrew_resh ] };
- key <LatT> { [ hebrew_taw, hebrew_tet ] };
- key <LatY> { [ hebrew_ayin, hebrew_ayin ] };
- key <LatU> { [ hebrew_waw, hebrew_waw ] };
- key <LatI> { [ hebrew_yod, hebrew_yod ] };
- key <LatO> { [ hebrew_samech, hebrew_samech ] };
- key <LatP> { [ hebrew_pe, hebrew_finalpe ] };
-
- key <LatA> { [ hebrew_aleph, hebrew_aleph ] };
- key <LatS> { [ hebrew_shin, hebrew_shin ] };
- key <LatD> { [ hebrew_dalet, hebrew_dalet ] };
- key <LatF> { [ hebrew_pe, hebrew_finalpe ] };
- key <LatG> { [ hebrew_gimel, hebrew_gimel ] };
- key <LatH> { [ hebrew_he, hebrew_he ] };
- key <LatJ> { [ hebrew_yod, hebrew_yod ] };
- key <LatK> { [ hebrew_kaph, hebrew_finalkaph ] };
- key <LatL> { [ hebrew_lamed, hebrew_lamed ] };
-
- key <LatZ> { [ hebrew_zain, hebrew_zain ] };
- key <LatX> { [ hebrew_chet, hebrew_chet ] };
- key <LatC> { [ hebrew_zade, hebrew_finalzade ] };
- key <LatV> { [ hebrew_waw, hebrew_waw ] };
- key <LatB> { [ hebrew_bet, hebrew_bet ] };
- key <LatN> { [ hebrew_nun, hebrew_finalnun ] };
- key <LatM> { [ hebrew_mem, hebrew_finalmem ] };
-};
-
-// The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the
-// 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner
-// <waschtl@sbronner.com>. Its primary features (as compared to the lyx layout)
-// are that the consonants are in the Israeli standard positions, that a great
-// multitude of glyphs can be input directly from the keyboard, and that it is
-// the closest thing to a standard layout a theologian can hope for.
-// Documentation (including printable keyboard tables), SBL Hebrew font, and
-// keyboard layout for Windows are available at
-// http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx.
-//
-// It is of interest that the 'basic' layout defined first in this file (as
-// ships with x.org disagrees in the non-consonant characters that the Tiro-
-// layout claims to be the Israeli standard. Tiros apparent diligence in the
-// PDF-documentation accompanying the keyboard-layout-files lead me to put
-// greater stock in their claim than in this file. Therefore, the 'biblical'
-// layout below does not include 'il(basic)' but redoes the _whole_ thing from
-// scratch.
-
-partial alphanumeric_keys
-xkb_symbols "biblical" {
- name[Group1]= "Israel - Biblical Hebrew (Tiro)";
- key.type = "FOUR_LEVEL_SEMIALPHABETIC";
-
- key <TLDE> { [ U05C3, U05AE, semicolon, asciitilde ] };
- key <AE01> { [ 1, U05A9, VoidSymbol, exclam ] };
- key <AE02> { [ 2, U0599, VoidSymbol, at ] };
- key <AE03> { [ 3, U0592, VoidSymbol, numbersign ] };
- key <AE04> { [ 4, U05AF, NewSheqelSign, dollar ] };
- key <AE05> { [ 5, VoidSymbol, U200D, percent ] };
- key <AE06> { [ 6, U05B9, U200C, asciicircum ] };
- key <AE07> { [ 7, U05BF, U034F, ampersand ] };
- key <AE08> { [ 8, U05C2, U200E, asterisk ] };
- key <AE09> { [ 9, U05C1, U200F, parenright ] };
- key <AE10> { [ 0, U059D, U25CC, parenleft ] };
- key <AE11> { [ U05BE, U05A0, minus, underscore ] };
- key <AE12> { [ equal, U05BC, VoidSymbol, plus ] };
-
- key <AD01> { [ U0307, U05C4, U0308, slash ] };
- key <AD02> { [ U05F3, U05AC, U05F4, apostrophe ] };
- key <AD03> { [ hebrew_qoph, U05AB, U20AC ] };
- key <AD04> { [ hebrew_resh, U059F ] };
- key <AD05> { [ hebrew_aleph, U0593 ] };
- key <AD06> { [ hebrew_tet, U059E ] };
- key <AD07> { [ hebrew_waw, U059C, U05F0 ] };
- key <AD08> { [ hebrew_finalnun, U05A1 ] };
- key <AD09> { [ hebrew_finalmem, U0595 ] };
- key <AD10> { [ hebrew_pe, U0594 ] };
- key <AD11> { [ bracketright, U0597, VoidSymbol, braceright ] };
- key <AD12> { [ bracketleft, U0598, VoidSymbol, braceleft ] };
- key <BKSL> { [ U05C0, U05A8, backslash, bar ] };
-
- key <AC01> { [ hebrew_shin, U05BD ] };
- key <AC02> { [ hebrew_dalet, U05B0 ] };
- key <AC03> { [ hebrew_gimel, U05BB ] };
- key <AC04> { [ hebrew_kaph, U05B4 ] };
- key <AC05> { [ hebrew_ayin, U05B1 ] };
- key <AC06> { [ hebrew_yod, U05B6, U05F2 ] };
- key <AC07> { [ hebrew_chet, U05B5, U05F1 ] };
- key <AC08> { [ hebrew_lamed, U05B3 ] };
- key <AC09> { [ hebrew_finalkaph, U05B8, U05C7 ] };
- key <AC10> { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] };
- key <AC11> { [ U059a, U05B7, comma, quotedbl ] };
-
- key <AB01> { [ hebrew_zain, U05C5 ] };
- key <AB02> { [ hebrew_samech, U05A4 ] };
- key <AB03> { [ hebrew_bet, U05AA, U05A2 ] };
- key <AB04> { [ hebrew_he, U05A6 ] };
- key <AB05> { [ hebrew_nun, U05A5, U05C6 ] };
- key <AB06> { [ hebrew_mem, U05A7 ] };
- key <AB07> { [ hebrew_zade, U059B ] };
- key <AB08> { [ hebrew_taw, U0591, VoidSymbol, greater ] };
- key <AB09> { [ hebrew_finalzade, U0596, VoidSymbol, less ] };
- key <AB10> { [ U05AD, U05A3, period, question ] };
-
- key <SPCE> { [ space, space, thinspace, nobreakspace ] };
-};
+// $XKeyboardConfig$
+
+// based on a keyboard map from an 'xkb/symbols/il' file
+//
+// $XFree86: xc/programs/xkbcomp/symbols/il,v 1.3 2003/01/07 02:03:44 dawes Exp $
+
+// This is a partial implemetation of the Israeli standard SI-1452
+// It does not implement changes to the English layout ("Alt-English"),
+// as I believe that it is not the job of this layout to modify the English
+// layout.
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+ // uses the kbd layout in use in Israel.
+
+ name[Group1]= "Israel";
+
+ key <AD01> { [ slash, Q ] };
+ key <AD02> { [ apostrophe, W ] };
+ key <AD04> { [ hebrew_resh, R ] };
+ key <AD05> { [ hebrew_aleph,T ] };
+ key <AD06> { [ hebrew_tet, Y ] };
+ key <AD07> { [ hebrew_waw, U ] };
+ key <AD08> { [ hebrew_finalnun, I ] };
+ key <AD09> { [ hebrew_finalmem, O ] };
+ key <AD10> { [ hebrew_pe, P ] };
+
+ key <AC02> { [ hebrew_dalet,S ] };
+ key <AC03> { [ hebrew_gimel,D ] };
+ key <AC04> { [ hebrew_kaph, F ] };
+ key <AC05> { [ hebrew_ayin, G ] };
+ key <AC06> { [ hebrew_yod, H ] };
+ key <AC07> { [ hebrew_chet, J ] };
+ key <AC08> { [ hebrew_lamed, K ] };
+ key <AC09> { [ hebrew_finalkaph, L ] };
+ key <AC10> { [ hebrew_finalpe, colon ] };
+ key <AC11> { [ comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, Z ] };
+ key <AB02> { [ hebrew_samech, X ] };
+ key <AB03> { [ hebrew_bet, C ] };
+ key <AB04> { [ hebrew_he, V ] };
+ key <AB05> { [ hebrew_nun, B ] };
+ key <AB06> { [ hebrew_mem, N ] };
+ key <AB07> { [ hebrew_zade, M ] };
+ // Mirrored:
+ key <AB08> { [ hebrew_taw, greater ] };
+ key <AB09> { [ hebrew_finalzade, less ] };
+
+ key.type[Group1] = "THREE_LEVEL";
+
+ key <TLDE> { [ semicolon, asciitilde,0x10005b0 ]}; // Sheva
+ key <AB10> { [ period, question, 0x10005c3 ]}; // Sof Pasuq
+ key <AD03> { [ hebrew_qoph, E, EuroSign ]};
+ key <AC01> { [ hebrew_shin, A, 0x10020AA ]};
+
+ // The following may get overriden by the iso9995-3(basic101) symbols.
+ // therefore they are included here.
+ // Including them isn't a great idea (for instance: what if group 1 uses
+ // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
+ // preserve that, and I'm not sure that this is a good feature.
+ key <AE01> { [ 1, exclam , 0x10005b1 ]}; // H. Segol
+ key <AE02> { [ 2, at , 0x10005b2 ]}; // H. Patah
+ key <AE03> { [ 3, numbersign , 0x10005b3 ]}; // H. Qamats
+ key <AE04> { [ 4, dollar , 0x10005b4 ]}; // Hiriq
+ key <AE05> { [ 5, percent , 0x10005b5 ]}; // Tsere
+ key <AE06> { [ 6, asciicircum , 0x10005b6 ]}; // Segol
+ key <AE07> { [ 7, ampersand , 0x10005b7 ]}; // Patah
+ key <AE08> { [ 8, asterisk , 0x10005b8 ]}; // Qamats
+ // Mirrored:
+ key <AE09> { [ 9, parenright , 0x10005c2 ]}; // Sin dot
+ key <AE10> { [ 0, parenleft , 0x10005c1 ]}; // Shin dot
+ key <AE11> { [ minus, underscore , 0x10005b9 ]}; // Holam
+ key <AE12> { [ equal, plus , 0x10005bc ]}; // Dagesh/Shuruq
+
+ // Mirrored:
+ key <AD11> { [ bracketright, braceright, 0x10005bf ]}; // Rafe
+ key <AD12> { [ bracketleft, braceleft, 0x10005bd ]}; // Meteg
+
+ key <BKSL> { [ backslash, bar, 0x10005bb ]}; // Qubuts
+
+ include "level3(ralt_switch)"
+};
+
+
+// nikud patter based on Dekel Tsur's Hebrew mapping for LyX
+partial alphanumeric_keys
+xkb_symbols "lyx" {
+ name[Group1]= "Israel - lyx";
+
+ key <TLDE> { [ semicolon, asciitilde ] };
+ // On some key (e.g. AD01, right below) there is not yet mapping for the
+ // second shift level. Since I could not figure a simple way to map this
+ // to "emit nothing", it is currently mapped to the same letter of the
+ // first shift level (avoiding mapping may risk it be used by a character
+ // from a different group).
+ key <AD01> { [ slash, slash ] };
+ key <AD02> { [ apostrophe, apostrophe ] };
+ key <AD03> { [ hebrew_qoph, 0x10005b8 ] }; // Qamats
+ key <AD04> { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq
+ key <AD05> { [ hebrew_aleph, 0x100200e ] }; // LRM
+ key <AD06> { [ hebrew_tet, 0x100200f ] }; // RLM
+ key <AD07> { [ hebrew_waw, 0x10005b9 ] }; // Holam
+ key <AD08> { [ hebrew_finalnun,hebrew_finalnun] };
+ key <AD09> { [ hebrew_finalmem,hebrew_finalmem] };
+ key <AD10> { [ hebrew_pe, 0x10005b7 ] }; // Patah
+
+ key <AC01> { [ hebrew_shin, 0x10005b0 ] }; // Sheva
+ key <AC02> { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq
+ key <AC03> { [ hebrew_gimel, hebrew_gimel ] };
+ key <AC04> { [ hebrew_kaph, hebrew_kaph ] };
+ key <AC05> { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot
+ key <AC06> { [ hebrew_yod, 0x10005c1 ] }; // Shin dot
+ key <AC07> { [ hebrew_chet, 0x10005b4 ] }; // Hiriq
+ key <AC08> { [ hebrew_lamed, 0x10020aa ] }; // NIS
+ key <AC09> { [ hebrew_finalkaph,hebrew_finalkaph] };
+ key <AC10> { [ hebrew_finalpe, colon ] };
+ key <AC11> { [ comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, hebrew_zain ] };
+ key <AB02> { [ hebrew_samech,0x10005b6 ] }; // Segol
+ key <AB03> { [ hebrew_bet, 0x10005bb ] }; // Qubuts
+ key <AB04> { [ hebrew_he, 0x10005b1 ] }; // H. Segol
+ key <AB05> { [ hebrew_nun, 0x10005b2 ] }; // H. Patah
+ key <AB06> { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats
+ key <AB07> { [ hebrew_zade, 0x10005b5 ] }; // Tsere
+ key <AB08> { [ hebrew_taw, greater ] };
+ key <AB09> { [ hebrew_finalzade, less ] };
+ key <AB10> { [ period, question ] };
+
+ // Note the parens mirroring below:
+ key <AD11> { [ bracketright, braceright ] };
+ key <AD12> { [ bracketleft, braceleft ] };
+ key <AE09> { [ 9 , parenright ] };
+ key <AE10> { [ 0 , parenleft ] };
+
+ key <AE11> { [ minus , 0x10005be ] }; // H. Hiphen
+ key <AE12> { [ equal , plus ] };
+};
+
+
+partial alphanumeric_keys
+xkb_symbols "phonetic" {
+
+ // uses the phonetic layout from old Slackware 'il.map' file
+
+ name[Group1]= "Israel - Phonetic";
+
+ key <AE12> { [ equal, plus, hebrew_doublelowline, hebrew_doublelowline ]};
+
+ key <LatQ> { [ hebrew_qoph, hebrew_qoph ] };
+ key <LatW> { [ hebrew_waw, hebrew_waw ] };
+ key <LatE> { [ hebrew_aleph, hebrew_aleph ] };
+ key <LatR> { [ hebrew_resh, hebrew_resh ] };
+ key <LatT> { [ hebrew_taw, hebrew_tet ] };
+ key <LatY> { [ hebrew_ayin, hebrew_ayin ] };
+ key <LatU> { [ hebrew_waw, hebrew_waw ] };
+ key <LatI> { [ hebrew_yod, hebrew_yod ] };
+ key <LatO> { [ hebrew_samech, hebrew_samech ] };
+ key <LatP> { [ hebrew_pe, hebrew_finalpe ] };
+
+ key <LatA> { [ hebrew_aleph, hebrew_aleph ] };
+ key <LatS> { [ hebrew_shin, hebrew_shin ] };
+ key <LatD> { [ hebrew_dalet, hebrew_dalet ] };
+ key <LatF> { [ hebrew_pe, hebrew_finalpe ] };
+ key <LatG> { [ hebrew_gimel, hebrew_gimel ] };
+ key <LatH> { [ hebrew_he, hebrew_he ] };
+ key <LatJ> { [ hebrew_yod, hebrew_yod ] };
+ key <LatK> { [ hebrew_kaph, hebrew_finalkaph ] };
+ key <LatL> { [ hebrew_lamed, hebrew_lamed ] };
+
+ key <LatZ> { [ hebrew_zain, hebrew_zain ] };
+ key <LatX> { [ hebrew_chet, hebrew_chet ] };
+ key <LatC> { [ hebrew_zade, hebrew_finalzade ] };
+ key <LatV> { [ hebrew_waw, hebrew_waw ] };
+ key <LatB> { [ hebrew_bet, hebrew_bet ] };
+ key <LatN> { [ hebrew_nun, hebrew_finalnun ] };
+ key <LatM> { [ hebrew_mem, hebrew_finalmem ] };
+};
+
+// The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the
+// 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner
+// <waschtl@sbronner.com>. Its primary features (as compared to the lyx layout)
+// are that the consonants are in the Israeli standard positions, that a great
+// multitude of glyphs can be input directly from the keyboard, and that it is
+// the closest thing to a standard layout a theologian can hope for.
+// Documentation (including printable keyboard tables), SBL Hebrew font, and
+// keyboard layout for Windows are available at
+// http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx.
+//
+// It is of interest that the 'basic' layout defined first in this file (as
+// ships with x.org disagrees in the non-consonant characters that the Tiro-
+// layout claims to be the Israeli standard. Tiros apparent diligence in the
+// PDF-documentation accompanying the keyboard-layout-files lead me to put
+// greater stock in their claim than in this file. Therefore, the 'biblical'
+// layout below does not include 'il(basic)' but redoes the _whole_ thing from
+// scratch.
+
+partial alphanumeric_keys
+xkb_symbols "biblical" {
+ name[Group1]= "Israel - Biblical Hebrew (Tiro)";
+ key.type = "FOUR_LEVEL_SEMIALPHABETIC";
+
+ key <TLDE> { [ U05C3, U05AE, semicolon, asciitilde ] };
+ key <AE01> { [ 1, U05A9, VoidSymbol, exclam ] };
+ key <AE02> { [ 2, U0599, VoidSymbol, at ] };
+ key <AE03> { [ 3, U0592, VoidSymbol, numbersign ] };
+ key <AE04> { [ 4, U05AF, NewSheqelSign, dollar ] };
+ key <AE05> { [ 5, VoidSymbol, U200D, percent ] };
+ key <AE06> { [ 6, U05B9, U200C, asciicircum ] };
+ key <AE07> { [ 7, U05BF, U034F, ampersand ] };
+ key <AE08> { [ 8, U05C2, U200E, asterisk ] };
+ key <AE09> { [ 9, U05C1, U200F, parenright ] };
+ key <AE10> { [ 0, U059D, U25CC, parenleft ] };
+ key <AE11> { [ U05BE, U05A0, minus, underscore ] };
+ key <AE12> { [ equal, U05BC, VoidSymbol, plus ] };
+
+ key <AD01> { [ U0307, U05C4, U0308, slash ] };
+ key <AD02> { [ U05F3, U05AC, U05F4, apostrophe ] };
+ key <AD03> { [ hebrew_qoph, U05AB, U20AC ] };
+ key <AD04> { [ hebrew_resh, U059F ] };
+ key <AD05> { [ hebrew_aleph, U0593 ] };
+ key <AD06> { [ hebrew_tet, U059E ] };
+ key <AD07> { [ hebrew_waw, U059C, U05F0 ] };
+ key <AD08> { [ hebrew_finalnun, U05A1 ] };
+ key <AD09> { [ hebrew_finalmem, U0595 ] };
+ key <AD10> { [ hebrew_pe, U0594 ] };
+ key <AD11> { [ bracketright, U0597, VoidSymbol, braceright ] };
+ key <AD12> { [ bracketleft, U0598, VoidSymbol, braceleft ] };
+ key <BKSL> { [ U05C0, U05A8, backslash, bar ] };
+
+ key <AC01> { [ hebrew_shin, U05BD ] };
+ key <AC02> { [ hebrew_dalet, U05B0 ] };
+ key <AC03> { [ hebrew_gimel, U05BB ] };
+ key <AC04> { [ hebrew_kaph, U05B4 ] };
+ key <AC05> { [ hebrew_ayin, U05B1 ] };
+ key <AC06> { [ hebrew_yod, U05B6, U05F2 ] };
+ key <AC07> { [ hebrew_chet, U05B5, U05F1 ] };
+ key <AC08> { [ hebrew_lamed, U05B3 ] };
+ key <AC09> { [ hebrew_finalkaph, U05B8, U05C7 ] };
+ key <AC10> { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] };
+ key <AC11> { [ U059a, U05B7, comma, quotedbl ] };
+
+ key <AB01> { [ hebrew_zain, U05C5 ] };
+ key <AB02> { [ hebrew_samech, U05A4 ] };
+ key <AB03> { [ hebrew_bet, U05AA, U05A2 ] };
+ key <AB04> { [ hebrew_he, U05A6 ] };
+ key <AB05> { [ hebrew_nun, U05A5, U05C6 ] };
+ key <AB06> { [ hebrew_mem, U05A7 ] };
+ key <AB07> { [ hebrew_zade, U059B ] };
+ key <AB08> { [ hebrew_taw, U0591, VoidSymbol, greater ] };
+ key <AB09> { [ hebrew_finalzade, U0596, VoidSymbol, less ] };
+ key <AB10> { [ U05AD, U05A3, period, question ] };
+
+ key <SPCE> { [ space, space, thinspace, nobreakspace ] };
+};
diff --git a/xorg-server/xkbdata.src/symbols/level3 b/xorg-server/xkbdata.src/symbols/level3
index 4368d52f1..6c02d3ddf 100644
--- a/xorg-server/xkbdata.src/symbols/level3
+++ b/xorg-server/xkbdata.src/symbols/level3
@@ -162,3 +162,39 @@ xkb_symbols "bksl_switch" {
};
modifier_map Mod5 { ISO_Level3_Shift };
};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch" {
+ key <LSGT> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "caps_switch_latch" {
+ key <CAPS> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "bksl_switch_latch" {
+ key <BKSL> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
+
+partial modifier_keys
+xkb_symbols "lsgt_switch_latch" {
+ key <LSGT> {
+ type[Group1]="THREE_LEVEL",
+ symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
+ };
+ modifier_map Mod5 { ISO_Level3_Shift };
+};
diff --git a/xorg-server/xkbdata.src/symbols/level5 b/xorg-server/xkbdata.src/symbols/level5
index 921592a76..19db36ccd 100644
--- a/xorg-server/xkbdata.src/symbols/level5
+++ b/xorg-server/xkbdata.src/symbols/level5
@@ -55,6 +55,17 @@ xkb_symbols "lsgt_switch_lock" {
};
partial modifier_keys
+xkb_symbols "lwin_switch_lock" {
+
+ include "level5(lock)"
+
+ key <LWIN> {
+ type[Group1] = "EIGHT_LEVEL",
+ 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_lock" {
include "level5(lock)"
@@ -64,3 +75,58 @@ xkb_symbols "ralt_switch_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_lock" {
+
+ include "level5(lock)"
+
+ key <RWIN> {
+ type[Group1] = "EIGHT_LEVEL",
+ 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 "lsgt_switch_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <LSGT> {
+ 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_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <LWIN> {
+ 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_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <RALT> {
+ 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_lock_cancel" {
+
+ include "level5(lock)"
+
+ key <RWIN> {
+ 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/xorg-server/xkbdata.src/symbols/rs b/xorg-server/xkbdata.src/symbols/rs
index b34e0dd06..9aab69119 100644
--- a/xorg-server/xkbdata.src/symbols/rs
+++ b/xorg-server/xkbdata.src/symbols/rs
@@ -299,3 +299,30 @@ xkb_symbols "latinalternatequotes" {
key <AC02> { [ any,any, guillemotright, NoSymbol ] }; // s
key <AC03> { [ any,any, guillemotleft, NoSymbol ] }; // d
};
+
+xkb_symbols "rue" {
+ // Homophonic layout for Pannonian Rusyn (spoken mainly in Serbia and
+ // Croatia by the Rusyn people), based on Ukrainian homophonic.
+ // Author: Ljubomir J. Papuga (Любомир Я. Папуґа) <papuga.rs@gmail.com>
+
+ name[Group1]= "Serbia - Pannonian Rusyn Homophonic";
+
+ include "ua(homophonic)"
+
+ key <TLDE> { [ grave, asciitilde ] };
+ key <AE03> { [ 3, doublelowquotemark ] };
+ key <AE04> { [ 4, rightdoublequotemark ] };
+ key <AE07> { [ 7, EuroSign ] };
+ key <AE11> { [ 0x002D, emdash ] };
+ key <AE12> { [ equal, plus ] };
+
+ key <AD02> { [ Ukrainian_ie, Ukrainian_IE ] };
+ key <AD06> { [ Cyrillic_yu, Cyrillic_YU ] };
+ key <AD08> { [ Cyrillic_i, Cyrillic_I ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
+
+ key <LSGT> { [ Ukrainian_yi, Ukrainian_YI ] };
+ key <AB08> { [ comma, semicolon ] };
+ key <AB09> { [ period, colon ] };
+};
diff --git a/xorg-server/xkbdata.src/symbols/shift b/xorg-server/xkbdata.src/symbols/shift
index 4bd1cd627..78951c1ec 100644
--- a/xorg-server/xkbdata.src/symbols/shift
+++ b/xorg-server/xkbdata.src/symbols/shift
@@ -39,3 +39,48 @@ xkb_symbols "both_capslock" {
include "shift(lshift_both_capslock)"
include "shift(rshift_both_capslock)"
};
+
+// Release Lock when pressed alone and set Lock when pressed with another Shift key.
+partial modifier_keys
+xkb_symbols "lshift_both_capslock_cancel" {
+ key <LFSH> {
+ type[Group1]="ALPHABETIC",
+ symbols[Group1] = [ Shift_L, Caps_Lock ]
+ };
+};
+// Release Lock when pressed alone and set Lock when pressed with another Shift key.
+partial modifier_keys
+xkb_symbols "rshift_both_capslock_cancel" {
+ key <RTSH> {
+ type[Group1]="ALPHABETIC",
+ symbols[Group1] = [ Shift_R, Caps_Lock ]
+ };
+};
+partial modifier_keys
+xkb_symbols "both_capslock_cancel" {
+ include "shift(lshift_both_capslock_cancel)"
+ include "shift(rshift_both_capslock_cancel)"
+};
+
+
+// When pressed together with another Shift key, lock/unlock Shift.
+partial modifier_keys
+xkb_symbols "lshift_both_shiftlock" {
+ key <LFSH> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1] = [ Shift_L, Shift_Lock ]
+ };
+};
+// When pressed together with another Shift key, lock/unlock Shift.
+partial modifier_keys
+xkb_symbols "rshift_both_shiftlock" {
+ key <RTSH> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1] = [ Shift_R, Shift_Lock ]
+ };
+};
+partial modifier_keys
+xkb_symbols "both_shiftlock" {
+ include "shift(lshift_both_shiftlock)"
+ include "shift(rshift_both_shiftlock)"
+};
diff --git a/xorg-server/xkbdata.src/symbols/tm b/xorg-server/xkbdata.src/symbols/tm
index aed4c902d..241b4e822 100644
--- a/xorg-server/xkbdata.src/symbols/tm
+++ b/xorg-server/xkbdata.src/symbols/tm
@@ -9,7 +9,6 @@ xkb_symbols "basic" {
name[Group1]="Turkmenistan";
include "us"
- key.type[group1]="ALPHABETIC";
key <TLDE> { [ zcaron, Zcaron, grave, asciitilde ] };
key <AD01> { [ adiaeresis, Adiaeresis, q, Q ] };
diff --git a/xorg-server/xkbdata.src/types/level5 b/xorg-server/xkbdata.src/types/level5
index 963a72ba4..05dafecf6 100644
--- a/xorg-server/xkbdata.src/types/level5
+++ b/xorg-server/xkbdata.src/types/level5
@@ -56,127 +56,127 @@ partial default xkb_types "default" {
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;
- map[Shift] = Level2;
- map[LevelThree] = Level3;
- map[LevelThree+Shift] = Level4;
-
- map[LevelFive] = Level5;
- map[LevelFive+Shift] = Level6;
- map[LevelFive+LevelThree] = Level7;
- map[LevelFive+LevelThree+Shift] = Level8;
-
- map[NumLock] = Level5;
- map[NumLock+Shift] = Level6;
- map[NumLock+LevelThree] = Level7;
- map[NumLock+LevelThree+Shift] = Level8;
-
- map[NumLock+LevelFive] = Level1;
- map[NumLock+LevelFive+Shift] = Level2;
- map[NumLock+LevelFive+LevelThree] = Level3;
- map[NumLock+LevelFive+LevelThree+Shift] = Level4;
-
- // Lock has no effect
- map[Lock] = Level1;
- map[Lock+Shift] = Level2;
- map[Lock+LevelThree] = Level3;
- map[Lock+LevelThree+Shift] = Level4;
-
- map[Lock+LevelFive] = Level5;
- map[Lock+LevelFive+Shift] = Level6;
- map[Lock+LevelFive+LevelThree] = Level7;
- map[Lock+LevelFive+LevelThree+Shift] = Level8;
-
- map[Lock+NumLock] = Level5;
- map[Lock+NumLock+Shift] = Level6;
- map[Lock+NumLock+LevelThree] = Level7;
- map[Lock+NumLock+LevelThree+Shift] = Level8;
-
- map[Lock+NumLock+LevelFive] = Level1;
- map[Lock+NumLock+LevelFive+Shift] = Level2;
- map[Lock+NumLock+LevelFive+LevelThree] = Level3;
- map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;
-
- preserve[LevelFive+Shift] = Shift;
- preserve[NumLock+Shift] = Shift;
- preserve[Lock+LevelFive+Shift] = Shift;
- preserve[Lock+NumLock+Shift] = Shift;
-
- 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_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;
- map[Shift] = Level2;
- map[LevelThree] = Level3;
- map[LevelThree+Shift] = Level4;
-
- map[LevelFive] = Level5;
- map[LevelFive+Shift] = Level6;
- map[LevelFive+LevelThree] = Level7;
- map[LevelFive+LevelThree+Shift] = Level8;
-
- map[NumLock] = Level5;
- map[NumLock+Shift] = Level6;
- map[NumLock+LevelThree] = Level7;
- map[NumLock+LevelThree+Shift] = Level8;
-
- map[NumLock+LevelFive] = Level1;
- map[NumLock+LevelFive+Shift] = Level2;
- map[NumLock+LevelFive+LevelThree] = Level3;
- map[NumLock+LevelFive+LevelThree+Shift] = Level4;
-
- // Lock interchanges Level1 and Level2
- map[Lock] = Level2;
- map[Lock+Shift] = Level1;
- map[Lock+LevelThree] = Level3;
- map[Lock+LevelThree+Shift] = Level4;
-
- map[Lock+LevelFive] = Level5;
- map[Lock+LevelFive+Shift] = Level6;
- map[Lock+LevelFive+LevelThree] = Level7;
- map[Lock+LevelFive+LevelThree+Shift] = Level8;
-
- map[Lock+NumLock] = Level5;
- map[Lock+NumLock+Shift] = Level6;
- map[Lock+NumLock+LevelThree] = Level7;
- map[Lock+NumLock+LevelThree+Shift] = Level8;
-
- map[Lock+NumLock+LevelFive] = Level2;
- map[Lock+NumLock+LevelFive+Shift] = Level1;
- map[Lock+NumLock+LevelFive+LevelThree] = Level4;
- map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
-
- preserve[LevelFive+Shift] = Shift;
- preserve[NumLock+Shift] = Shift;
-
- 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;
+// map[Shift] = Level2;
+// map[LevelThree] = Level3;
+// map[LevelThree+Shift] = Level4;
+//
+// map[LevelFive] = Level5;
+// map[LevelFive+Shift] = Level6;
+// map[LevelFive+LevelThree] = Level7;
+// map[LevelFive+LevelThree+Shift] = Level8;
+//
+// map[NumLock] = Level5;
+// map[NumLock+Shift] = Level6;
+// map[NumLock+LevelThree] = Level7;
+// map[NumLock+LevelThree+Shift] = Level8;
+//
+// map[NumLock+LevelFive] = Level1;
+// map[NumLock+LevelFive+Shift] = Level2;
+// map[NumLock+LevelFive+LevelThree] = Level3;
+// map[NumLock+LevelFive+LevelThree+Shift] = Level4;
+//
+// // Lock has no effect
+// map[Lock] = Level1;
+// map[Lock+Shift] = Level2;
+// map[Lock+LevelThree] = Level3;
+// map[Lock+LevelThree+Shift] = Level4;
+//
+// map[Lock+LevelFive] = Level5;
+// map[Lock+LevelFive+Shift] = Level6;
+// map[Lock+LevelFive+LevelThree] = Level7;
+// map[Lock+LevelFive+LevelThree+Shift] = Level8;
+//
+// map[Lock+NumLock] = Level5;
+// map[Lock+NumLock+Shift] = Level6;
+// map[Lock+NumLock+LevelThree] = Level7;
+// map[Lock+NumLock+LevelThree+Shift] = Level8;
+//
+// map[Lock+NumLock+LevelFive] = Level1;
+// map[Lock+NumLock+LevelFive+Shift] = Level2;
+// map[Lock+NumLock+LevelFive+LevelThree] = Level3;
+// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;
+//
+// preserve[LevelFive+Shift] = Shift;
+// preserve[NumLock+Shift] = Shift;
+// preserve[Lock+LevelFive+Shift] = Shift;
+// preserve[Lock+NumLock+Shift] = Shift;
+//
+// 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_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;
+// map[Shift] = Level2;
+// map[LevelThree] = Level3;
+// map[LevelThree+Shift] = Level4;
+//
+// map[LevelFive] = Level5;
+// map[LevelFive+Shift] = Level6;
+// map[LevelFive+LevelThree] = Level7;
+// map[LevelFive+LevelThree+Shift] = Level8;
+//
+// map[NumLock] = Level5;
+// map[NumLock+Shift] = Level6;
+// map[NumLock+LevelThree] = Level7;
+// map[NumLock+LevelThree+Shift] = Level8;
+//
+// map[NumLock+LevelFive] = Level1;
+// map[NumLock+LevelFive+Shift] = Level2;
+// map[NumLock+LevelFive+LevelThree] = Level3;
+// map[NumLock+LevelFive+LevelThree+Shift] = Level4;
+//
+// // Lock interchanges Level1 and Level2
+// map[Lock] = Level2;
+// map[Lock+Shift] = Level1;
+// map[Lock+LevelThree] = Level3;
+// map[Lock+LevelThree+Shift] = Level4;
+//
+// map[Lock+LevelFive] = Level5;
+// map[Lock+LevelFive+Shift] = Level6;
+// map[Lock+LevelFive+LevelThree] = Level7;
+// map[Lock+LevelFive+LevelThree+Shift] = Level8;
+//
+// map[Lock+NumLock] = Level5;
+// map[Lock+NumLock+Shift] = Level6;
+// map[Lock+NumLock+LevelThree] = Level7;
+// map[Lock+NumLock+LevelThree+Shift] = Level8;
+//
+// map[Lock+NumLock+LevelFive] = Level2;
+// map[Lock+NumLock+LevelFive+Shift] = Level1;
+// map[Lock+NumLock+LevelFive+LevelThree] = Level4;
+// map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
+//
+// preserve[LevelFive+Shift] = Shift;
+// preserve[NumLock+Shift] = Shift;
+//
+// 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;