aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/xkeyboard-config/symbols
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-03-24 07:37:29 +0000
committermarha <marha@users.sourceforge.net>2011-03-24 07:37:29 +0000
commitb39f063f74bf0163eaf34db03134f226d18142ec (patch)
treebf7f3736a65e74d20d63cc9f9938d9006dc2a1fe /xorg-server/xkeyboard-config/symbols
parenteca5dee9e7a8dea1edba4d10b60444ac0e884139 (diff)
downloadvcxsrv-b39f063f74bf0163eaf34db03134f226d18142ec.tar.gz
vcxsrv-b39f063f74bf0163eaf34db03134f226d18142ec.tar.bz2
vcxsrv-b39f063f74bf0163eaf34db03134f226d18142ec.zip
xserver xkeyboard-config libX11 pixman mesa git update 24 Mar 2011
Diffstat (limited to 'xorg-server/xkeyboard-config/symbols')
-rw-r--r--xorg-server/xkeyboard-config/symbols/in2
-rw-r--r--xorg-server/xkeyboard-config/symbols/lk181
-rw-r--r--xorg-server/xkeyboard-config/symbols/lt614
-rw-r--r--xorg-server/xkeyboard-config/symbols/nbsp398
4 files changed, 614 insertions, 581 deletions
diff --git a/xorg-server/xkeyboard-config/symbols/in b/xorg-server/xkeyboard-config/symbols/in
index cb38a84c0..75447148e 100644
--- a/xorg-server/xkeyboard-config/symbols/in
+++ b/xorg-server/xkeyboard-config/symbols/in
@@ -1351,7 +1351,7 @@ xkb_symbols "eng" {
partial alphanumeric_keys
xkb_symbols "mal_enhanced" {
- name[Group1] = "India - Malayalam Modified Inscript with Rupee Sign";
+ name[Group1] = "India - Malayalam enhanced Inscript with Rupee Sign";
//From grave to backslash (\)
diff --git a/xorg-server/xkeyboard-config/symbols/lk b/xorg-server/xkeyboard-config/symbols/lk
index 8480607de..928781d05 100644
--- a/xorg-server/xkeyboard-config/symbols/lk
+++ b/xorg-server/xkeyboard-config/symbols/lk
@@ -1,90 +1,91 @@
-// X Keyboard Extension file for Sinhala (Sri Lanka) (2004-04-22)
-// Maintainer : Harshula Jayasuriya <harshula@gmail.com>
-// Last Updated: 2007-06-29
-// This is a static phonetic mapping for a standard US-English keyboard
-// (qwerty)
-// http://www.nongnu.org/sinhala/doc/keymaps/sinhala-keyboard_3.html
-
-// Repaya, Rakaransaya and Yansaya aren't inserted with A-r, R and Y,
-// respectively. The problem lies with the XKB infrastructure which
-// only allows a one-to-one mapping of keycodes to Unicode codepoints.
-// Unfortunately, the 3 mentioned glyphs actually consists of 3
-// Unicode codepoints each. The result is that the user must
-// manually construct the glyph by typing each of the 3 codepoints.
-// ALT-, represents the 'JOIN' key, it requires
-// two codepoints, hence it also has to be manually constructed.
-// Similarly, ALT-/ representing the 'TOUCH' key requires
-// two codepoints.
-
-// Repaya = rayanna,AL,ZWJ
-// Rakaransaya = AL,ZWJ,rayanna
-// Yansaya = AL,ZWJ,yayanna
-// JOIN = AL,ZWJ
-// TOUCH = ZWJ,AL
-
-// Where,
-// AL = Al Lakuna = ALT-a
-// ZWJ = Zero Width Joiner = ALT-/
-// rayanna = r
-// yayanna = y
-
-partial default alphanumeric_keys
-xkb_symbols "sin_phonetic" {
-
- include "us"
-// it is default - no details in the name
- name[Group1] = "Sri Lanka";
- key.type[Group1] = "FOUR_LEVEL";
-
- // q - p
- key <AD01> { [ 0x01000d8d, 0x01000d8e, 0x01000dd8, 0x01000df2 ] };
- key <AD02> { [ 0x01000d87, 0x01000d88, 0x01000dd0, 0x01000dd1 ] };
- key <AD03> { [ 0x01000d91, 0x01000d92, 0x01000dd9, 0x01000dda ] };
- key <AD04> { [ 0x01000dbb, 0x01000dca, 0x01000dbb, NoSymbol ] };
- key <AD05> { [ 0x01000dad, 0x01000dae, 0x01000da7, 0x01000da8 ] };
- key <AD06> { [ 0x01000dba, 0x01000dca, NoSymbol, NoSymbol ] };
- key <AD07> { [ 0x01000d8b, 0x01000d8c, 0x01000dd4, 0x01000dd6 ] };
- key <AD08> { [ 0x01000d89, 0x01000d8a, 0x01000dd2, 0x01000dd3 ] };
- key <AD09> { [ 0x01000d94, 0x01000d95, 0x01000ddc, 0x01000ddd ] };
- key <AD10> { [ 0x01000db4, 0x01000db5, NoSymbol, NoSymbol ] };
-
- // a - l
- key <AC01> { [ 0x01000d85, 0x01000d86, 0x01000dca, 0x01000dcf ] };
- key <AC02> { [ 0x01000dc3, 0x01000dc1, 0x01000dc2, NoSymbol ] };
- key <AC03> { [ 0x01000daf, 0x01000db0, 0x01000da9, 0x01000daa ] };
- key <AC04> { [ 0x01000dc6, NoSymbol, 0x01000ddb, 0x01000d93 ] };
- key <AC05> { [ 0x01000d9c, 0x01000d9d, 0x01000d9f, NoSymbol ] };
- key <AC06> { [ 0x01000dc4, 0x01000d83, 0x01000dde, 0x01000d96 ] };
- key <AC07> { [ 0x01000da2, 0x01000da3, 0x01000da6, NoSymbol ] };
- key <AC08> { [ 0x01000d9a, 0x01000d9b, 0x01000d8f, 0x01000d90 ] };
- key <AC09> { [ 0x01000dbd, 0x01000dc5, 0x01000ddf, 0x01000df3 ] };
-
- // z - ?
- key <AB01> { [ 0x01000da4, 0x01000da5, NoSymbol, NoSymbol ] };
- key <AB02> { [ 0x01000db3, 0x01000dac, NoSymbol, NoSymbol ] };
- key <AB03> { [ 0x01000da0, 0x01000da1, NoSymbol, NoSymbol ] };
- key <AB04> { [ 0x01000dc0, NoSymbol, NoSymbol, NoSymbol ] };
- key <AB05> { [ 0x01000db6, 0x01000db7, NoSymbol, NoSymbol ] };
- key <AB06> { [ 0x01000db1, 0x01000dab, 0x01000d82, 0x01000d9e ] };
- key <AB07> { [ 0x01000db8, 0x01000db9, NoSymbol, NoSymbol ] };
- key <AB08> { [ any, any, 0x01000dca, NoSymbol ] };
- key <AB09> { [ any, any, 0x01000df4, NoSymbol ] };
- key <AB10> { [ any, any, 0x0100200d, NoSymbol ] };
-
- // Space
- include "nbsp(zwnj2nb3s)"
-
- include "level3(ralt_switch)"
-};
-
-partial alphanumeric_keys
-xkb_symbols "tam_unicode" {
- include "in(tam_unicode)"
- name[Group1]= "Sri Lanka - Tamil Unicode";
-};
-
-partial alphanumeric_keys
-xkb_symbols "tam_TAB" {
- include "in(tam_TAB)"
- name[Group1]= "Sri Lanka - Tamil TAB Typewriter";
-};
+// X Keyboard Extension file for Sinhala (Sri Lanka) (2004-04-22)
+// Maintainer : Harshula Jayasuriya <harshula@gmail.com>
+// Last Updated: 2011-03-20
+// This is a phonetic static mapping for a standard US-English keyboard
+// (qwerty)
+// http://www.nongnu.org/sinhala/doc/keymaps/sinhala-keyboard_3.html
+
+// Repaya, Rakaransaya and Yansaya aren't inserted with A-r, R and Y,
+// respectively. The problem lies with the XKB infrastructure which
+// only allows a one-to-one mapping of keycodes to Unicode codepoints.
+// Unfortunately, the 3 mentioned glyphs actually consists of 3
+// Unicode codepoints each. The result is that the user must
+// manually construct the glyph by typing each of the 3 codepoints.
+// ALT-, represents the 'JOIN' key, it requires
+// two codepoints, hence it also has to be manually constructed.
+// Similarly, ALT-/ representing the 'TOUCH' key requires
+// two codepoints.
+
+// Repaya = rayanna,AL,ZWJ
+// Rakaransaya = AL,ZWJ,rayanna
+// Yansaya = AL,ZWJ,yayanna
+// JOIN = AL,ZWJ
+// TOUCH = ZWJ,AL
+
+// Where,
+// AL = Al Lakuna = ALT-a
+// ZWJ = Zero Width Joiner = ALT-/
+// rayanna = r
+// yayanna = y
+
+partial default alphanumeric_keys
+xkb_symbols "sin_phonetic" {
+
+ include "us"
+// it is default - no details in the name
+ name[Group1] = "Sri Lanka";
+ key.type[Group1] = "FOUR_LEVEL";
+
+ // q - p
+ key <AD01> { [ Sinh_ri, Sinh_rii, Sinh_ru2, Sinh_ruu2 ] };
+ key <AD02> { [ Sinh_ae, Sinh_aee, Sinh_ae2, Sinh_aee2 ] };
+ key <AD03> { [ Sinh_e, Sinh_ee, Sinh_e2, Sinh_ee2 ] };
+ key <AD04> { [ Sinh_ra, Sinh_al, Sinh_ra, NoSymbol ] };
+ key <AD05> { [ Sinh_tha, Sinh_thha, Sinh_tta, Sinh_ttha ] };
+ key <AD06> { [ Sinh_ya, Sinh_al, NoSymbol, NoSymbol ] };
+ key <AD07> { [ Sinh_u, Sinh_uu, Sinh_u2, Sinh_uu2 ] };
+ key <AD08> { [ Sinh_i, Sinh_ii, Sinh_i2, Sinh_ii2 ] };
+ key <AD09> { [ Sinh_o, Sinh_oo, Sinh_o2, Sinh_oo2 ] };
+ key <AD10> { [ Sinh_pa, Sinh_pha, NoSymbol, NoSymbol ] };
+
+ // a - l
+ key <AC01> { [ Sinh_a, Sinh_aa, Sinh_al, Sinh_aa2 ] };
+ key <AC02> { [ Sinh_sa, Sinh_sha, Sinh_ssha, NoSymbol ] };
+ key <AC03> { [ Sinh_dha, Sinh_dhha, Sinh_dda, Sinh_ddha ] };
+ key <AC04> { [ Sinh_fa, NoSymbol, Sinh_ai2, Sinh_ai ] };
+ key <AC05> { [ Sinh_ga, Sinh_gha, Sinh_nga, NoSymbol ] };
+ key <AC06> { [ Sinh_ha, Sinh_h2, Sinh_au2, Sinh_au ] };
+ key <AC07> { [ Sinh_ja, Sinh_jha, Sinh_nja, NoSymbol ] };
+ key <AC08> { [ Sinh_ka, Sinh_kha, Sinh_lu, Sinh_luu ] };
+ key <AC09> { [ Sinh_la, Sinh_lla, Sinh_lu2, Sinh_luu2 ] };
+
+ // z - ?
+ key <AB01> { [ Sinh_nya, Sinh_jnya, NoSymbol, NoSymbol ] };
+ key <AB02> { [ Sinh_ndha, Sinh_ndda, NoSymbol, NoSymbol ] };
+ key <AB03> { [ Sinh_ca, Sinh_cha, NoSymbol, NoSymbol ] };
+ key <AB04> { [ Sinh_va, NoSymbol, NoSymbol, NoSymbol ] };
+ key <AB05> { [ Sinh_ba, Sinh_bha, NoSymbol, NoSymbol ] };
+ key <AB06> { [ Sinh_na, Sinh_nna, Sinh_ng, Sinh_ng2 ] };
+ key <AB07> { [ Sinh_ma, Sinh_mba, NoSymbol, NoSymbol ] };
+ key <AB08> { [ any, any, Sinh_al, NoSymbol ] };
+ key <AB09> { [ any, any, Sinh_kunddaliya, NoSymbol ] };
+ key <AB10> { [ any, any, 0x100200d, NoSymbol ] };
+
+ // Space
+ include "nbsp(nb2zwnj3s)"
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_unicode" {
+ include "in(tam_unicode)"
+ name[Group1]= "Sri Lanka - Tamil Unicode";
+};
+
+partial alphanumeric_keys
+xkb_symbols "tam_TAB" {
+ include "in(tam_TAB)"
+ name[Group1]= "Sri Lanka - Tamil TAB Typewriter";
+};
+
diff --git a/xorg-server/xkeyboard-config/symbols/lt b/xorg-server/xkeyboard-config/symbols/lt
index 5a19dc265..c19629f9d 100644
--- a/xorg-server/xkeyboard-config/symbols/lt
+++ b/xorg-server/xkeyboard-config/symbols/lt
@@ -1,296 +1,318 @@
-// Separate keymaps merged into one file by Nerijus Baliūnas, 2002
-
-// Lithuanian Numeric layout - Lithuanian letters on the numeric row
-// based on Lithuanian keyboard map by Ričardas Čepas <rch@richard.eu.org>
-// 3rd and 4th levels added by Mantas Kriaučiūnas <mantas@akl.lt>, 2004
-// Minor modifications and cleanup by Rimas Kudelis <rq@akl.lt>, 2010
-//
-// If you want two layouts, use:
-// Option "XkbLayout" "lt,lt(us)"
-partial default alphanumeric_keys modifier_keys
-xkb_symbols "basic" {
-
- include "latin"
- include "eurosign(e)"
- include "level3(ralt_switch)"
-
- name[Group1]="Lithuania";
-
- key <TLDE> {[ grave, asciitilde, acute ]};
- key <AE01> {[ aogonek, Aogonek, 1, exclam ]};
- key <AE02> {[ ccaron, Ccaron, 2, at ]};
- key <AE03> {[ eogonek, Eogonek, 3, numbersign ]};
- key <AE04> {[ eabovedot, Eabovedot, 4, dollar ]};
- key <AE05> {[ iogonek, Iogonek, 5, percent ]};
- key <AE06> {[ scaron, Scaron, 6, asciicircum ]};
- key <AE07> {[ uogonek, Uogonek, 7, ampersand ]};
- key <AE08> {[ umacron, Umacron, 8, asterisk ]};
- key <AE09> {[ doublelowquotemark, parenleft, 9, parenleft ]};
- key <AE10> {[ leftdoublequotemark, parenright, 0, parenright ]};
- key <AE11> {[ minus, underscore, endash ]};
- key <AE12> {[ zcaron, Zcaron, equal, plus ]};
-
- key <LSGT> {[ endash, EuroSign ]};
-};
-
-// Similar to the above, but uses 3rd and 4th levels in the numeric row
-// for Lithuanian letters
-partial alphanumeric_keys modifier_keys
-xkb_symbols "us" {
-
- include "latin"
- include "eurosign(e)"
- include "level3(ralt_switch)"
-
- name[Group1]="Lithuania - US keyboard with Lithuanian letters";
-
- key <TLDE> {[ grave, asciitilde, acute ]};
- key <AE01> {[ 1, exclam, aogonek, Aogonek ]};
- key <AE02> {[ 2, at, ccaron, Ccaron ]};
- key <AE03> {[ 3, numbersign, eogonek, Eogonek ]};
- key <AE04> {[ 4, dollar, eabovedot, Eabovedot ]};
- key <AE05> {[ 5, percent, iogonek, Iogonek ]};
- key <AE06> {[ 6, asciicircum, scaron, Scaron ]};
- key <AE07> {[ 7, ampersand, uogonek, Uogonek ]};
- key <AE08> {[ 8, asterisk, umacron, Umacron ]};
- key <AE09> {[ 9, parenleft, doublelowquotemark, parenleft ]};
- key <AE10> {[ 0, parenright, leftdoublequotemark, parenright ]};
- key <AE11> {[ minus, underscore, endash ]};
- key <AE12> {[ equal, plus, zcaron, Zcaron ]};
-
- key <LSGT> {[ endash, EuroSign ]};
-};
-
-// Lithuanian keymap LST 1582:2000
-// The standard is described at http://ims.mii.lt/klav/
-// Extensions: B01 L3 is "<" , B02 L3 is ">" and B03 L3 is endash to make this
-// layout usable with pc101 and pc104 keyboards.
-//
-// Made by Gediminas Paulauskas <menesis@delfi.lt>
-// Minor modifications by Ričardas Čepas and Rimas Kudelis
-
-partial alphanumeric_keys modifier_keys
-xkb_symbols "std" {
-
- include "latin"
- include "eurosign(e)"
- include "nbsp(level3)"
- include "kpdl(comma)"
- include "level3(ralt_switch)"
-
- name[Group1]="Lithuania - Standard";
-
- key <TLDE> {[ grave, asciitilde, acute ]};
- key <AE01> {[ exclam, 1, at ]};
- key <AE02> {[ minus, 2, underscore ]};
- key <AE03> {[ slash, 3, numbersign ]};
- key <AE04> {[ semicolon, 4, dollar ]};
- key <AE05> {[ colon, 5, section ]};
- key <AE06> {[ comma, 6, asciicircum ]};
- key <AE07> {[ period, 7, ampersand ]};
- key <AE08> {[ equal, 8, asterisk ]};
- key <AE09> {[ parenleft, 9, bracketleft ]};
- key <AE10> {[ parenright, 0, bracketright ]};
- key <AE11> {[ question, plus, apostrophe ]};
- key <AE12> {[ x, X, percent ]};
-
- key <AD01> {[ aogonek, Aogonek ]};
- key <AD02> {[ zcaron, Zcaron ]};
- key <AD11> {[ iogonek, Iogonek, braceleft ]};
- key <AD12> {[ w, W, braceright ]};
-
- key <AC04> {[ scaron, Scaron ]};
- key <AC10> {[ uogonek, Uogonek ]};
- key <AC11> {[ eabovedot, Eabovedot, quotedbl ]};
- key <BKSL> {[ q, Q, bar ]};
-
- key <LSGT> {[ less, greater, endash ]};
- key <AB01> {[ z, Z, less ]};
- key <AB02> {[ umacron, Umacron, greater ]};
- key <AB03> {[ c, C, endash ]};
- key <AB08> {[ ccaron, Ccaron, doublelowquotemark ]};
- key <AB09> {[ f, F, leftdoublequotemark ]};
- key <AB10> {[ eogonek, Eogonek, backslash ]};
-};
-
-// Lithuanian keymap LST 1205-92
-// This standard was made deprecated by LST 1582:2000 above.
-// This keyboard is also know as IBM layout.
-// We follow the map shown at: http://www.registrucentras.lt/litwin/kbdlta.gif
-// and info from Edis Tamošauskas <linas_lietus@yahoo.com>
-//
-// Made by Piter PUNK <piterpk@terra.com.br>
-// Minor modifications and cleanup by Rimas Kudelis, 2010
-
-partial alphanumeric_keys modifier_keys
-xkb_symbols "ibm" {
-
- include "latin"
- include "eurosign(e)"
- include "nbsp(level3)"
- include "level3(ralt_switch)"
-
- name[Group1]="Lithuania - IBM (LST 1205-92)";
-
- key <TLDE> {[ grave, asciitilde, acute ]};
- key <AE01> {[ exclam, 1 ]};
- key <AE02> {[ quotedbl, 2, at ]};
- key <AE03> {[ slash, 3, numbersign ]};
- key <AE04> {[ semicolon, 4, dollar ]};
- key <AE05> {[ colon, 5, percent ]};
- key <AE06> {[ comma, 6, asciicircum ]};
- key <AE07> {[ period, 7, ampersand ]};
- key <AE08> {[ question, 8, asterisk ]};
- key <AE09> {[ parenleft, 9 ]};
- key <AE10> {[ parenright, 0 ]};
- key <AE11> {[ underscore, minus, endash ]};
- key <AE12> {[ plus, equal ]};
-
- key <AD01> {[ aogonek, Aogonek, q, Q ]};
- key <AD02> {[ zcaron, Zcaron, w, W ]};
- key <AD11> {[ iogonek, Iogonek, bracketleft, braceleft ]};
- key <AD12> {[ doublelowquotemark, leftdoublequotemark, bracketright, braceright ]};
-
- key <AC10> {[ uogonek, Uogonek, semicolon, colon ]};
- key <AC11> {[ eabovedot, Eabovedot, apostrophe, quotedbl ]};
-
- key <LSGT> {[ less, greater, endash ]};
- key <AB02> {[ umacron, Umacron, x, X ]};
- key <AB08> {[ ccaron, Ccaron, comma, less ]};
- key <AB09> {[ scaron, Scaron, period, greater ]};
- key <AB10> {[ eogonek, Eogonek, slash, question ]};
-};
-
-// LEKP and LEKPa layouts 1.0
-// Copyright (c) 2007 Tautrimas Pajarskas
-// For more info visit http://lekp.info
-//
-// LEKP and LEKPa layouts are licensed under the Creative Commons
-// Attribution-Noncommercial-Share Alike 3.0 License.
-// To view a copy of this license, visit
-// http://creativecommons.org/licenses/by-nc-sa/3.0/ or send
-// a letter to Creative Commons, 171 Second Street, Suite 300,
-// San Francisco, California, 94105, USA.
-//
-// Minor cleanup by Rimas Kudelis, 2010
-
-partial alphanumeric_keys modifier_keys
-xkb_symbols "lekp" {
-
- include "capslock(backspace)"
- include "level3(ralt_switch)"
-
- name[Group1]="Lithuania - LEKP";
-
- key <TLDE> {[ grave, asciitilde, acute ]};
- key <AE01> {[ slash, numbersign, bar ]};
- key <AE02> {[ backslash, at, section ]};
- key <AE03> {[ period, braceleft ]};
- key <AE04> {[ comma, braceright ]};
- key <AE05> {[ f, F ]};
- key <AE06> {[ exclam, endash ]};
- key <AE07> {[ w, W ]};
- key <AE08> {[ uogonek, Uogonek ]};
- key <AE09> {[ iogonek, Iogonek ]};
- key <AE10> {[ parenleft, doublelowquotemark, registered ]};
- key <AE11> {[ parenright, leftdoublequotemark, copyright ]};
- key <AE12> {[ colon, ampersand, trademark ]};
-
- key <AD01> {[ q, Q, EuroSign ]};
- key <AD02> {[ g, G, 7 ]};
- key <AD03> {[ r, R, 8 ]};
- key <AD04> {[ l, L, 9 ]};
- key <AD05> {[ d, D, percent ]};
- key <AD06> {[ ccaron, Ccaron ]};
- key <AD07> {[ j, J ]};
- key <AD08> {[ u, U, period ]};
- key <AD09> {[ eabovedot, Eabovedot, minus ]};
- key <AD10> {[ eogonek, Eogonek, slash ]};
- key <AD11> {[ question, bracketleft, division ]};
- key <AD12> {[ equal, bracketright ]};
-
- key <AC01> {[ a, A, 0 ]};
- key <AC02> {[ k, K, 4 ]};
- key <AC03> {[ s, S, 5 ]};
- key <AC04> {[ t, T, 6 ]};
- key <AC05> {[ m, M, dollar ]};
- key <AC06> {[ p, P ]};
- key <AC07> {[ n, N ]};
- key <AC08> {[ e, E, comma ]};
- key <AC09> {[ i, I, plus ]};
- key <AC10> {[ o, O, asterisk ]};
- key <AC11> {[ y, Y, multiply ]};
- key <BKSL> {[ apostrophe, underscore ]};
-
- key <LSGT> {[ semicolon, quotedbl, sterling ]};
- key <AB01> {[ z, Z, asciicircum ]};
- key <AB02> {[ x, X, 1 ]};
- key <AB03> {[ c, C, 2 ]};
- key <AB04> {[ v, V, 3 ]};
- key <AB05> {[ zcaron, Zcaron ]};
- key <AB06> {[ scaron, Scaron ]};
- key <AB07> {[ b, B, degree ]};
- key <AB08> {[ umacron, Umacron, less ]};
- key <AB09> {[ aogonek, Aogonek, greater ]};
- key <AB10> {[ h, H ]};
-};
-
-partial alphanumeric_keys modifier_keys
-xkb_symbols "lekpa" {
-
- include "capslock(backspace)"
- include "level3(ralt_switch)"
-
- name[Group1]="Lithuania - LEKPa";
-
- key <TLDE> {[ grave, asciitilde, acute ]};
- key <AE01> {[ slash, quotedbl, bar ]};
- key <AE02> {[ backslash, at, section ]};
- key <AE03> {[ period, braceleft, numbersign ]};
- key <AE04> {[ comma, braceright, sterling ]};
- key <AE05> {[ f, F, ampersand ]};
- key <AE06> {[ exclam, endash ]};
- key <AE07> {[ w, W ]};
- key <AE08> {[ uogonek, Uogonek ]};
- key <AE09> {[ iogonek, Iogonek ]};
- key <AE10> {[ parenleft, doublelowquotemark, registered ]};
- key <AE11> {[ parenright, leftdoublequotemark, copyright ]};
- key <AE12> {[ colon, semicolon, trademark ]};
-
- key <AD01> {[ q, Q, EuroSign ]};
- key <AD02> {[ g, G, 7 ]};
- key <AD03> {[ r, R, 8 ]};
- key <AD04> {[ l, L, 9 ]};
- key <AD05> {[ d, D, percent ]};
- key <AD06> {[ ccaron, Ccaron ]};
- key <AD07> {[ j, J ]};
- key <AD08> {[ u, U, period ]};
- key <AD09> {[ eabovedot, Eabovedot, minus ]};
- key <AD10> {[ eogonek, Eogonek, slash ]};
- key <AD11> {[ question, bracketleft, division ]};
- key <AD12> {[ equal, bracketright ]};
-
- key <AC01> {[ a, A, 0 ]};
- key <AC02> {[ k, K, 4 ]};
- key <AC03> {[ s, S, 5 ]};
- key <AC04> {[ t, T, 6 ]};
- key <AC05> {[ m, M, dollar ]};
- key <AC06> {[ p, P ]};
- key <AC07> {[ n, N ]};
- key <AC08> {[ e, E, comma ]};
- key <AC09> {[ i, I, plus ]};
- key <AC10> {[ o, O, asterisk ]};
- key <AC11> {[ y, Y, multiply ]};
- key <BKSL> {[ apostrophe, underscore ]};
-
- key <AB01> {[ z, Z, asciicircum ]};
- key <AB02> {[ x, X, 1 ]};
- key <AB03> {[ c, C, 2 ]};
- key <AB04> {[ v, V, 3 ]};
- key <AB05> {[ zcaron, Zcaron ]};
- key <AB06> {[ scaron, Scaron ]};
- key <AB07> {[ b, B, degree ]};
- key <AB08> {[ umacron, Umacron, less ]};
- key <AB09> {[ aogonek, Aogonek, greater ]};
- key <AB10> {[ h, H ]};
-};
+// Separate keymaps merged into one file by Nerijus Baliūnas, 2002
+
+// Lithuanian Numeric layout - Lithuanian letters on the numeric row
+// based on Lithuanian keyboard map by Ričardas Čepas <rch@richard.eu.org>
+// 3rd and 4th levels added by Mantas Kriaučiūnas <mantas@akl.lt>, 2004
+// Minor modifications and cleanup by Rimas Kudelis <rq@akl.lt>, 2010
+//
+// If you want two layouts, use:
+// Option "XkbLayout" "lt,lt(us)"
+partial default alphanumeric_keys modifier_keys
+xkb_symbols "basic" {
+
+ include "latin"
+ include "eurosign(e)"
+ include "level3(ralt_switch)"
+
+ name[Group1]="Lithuania";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ aogonek, Aogonek, 1, exclam ]};
+ key <AE02> {[ ccaron, Ccaron, 2, at ]};
+ key <AE03> {[ eogonek, Eogonek, 3, numbersign ]};
+ key <AE04> {[ eabovedot, Eabovedot, 4, dollar ]};
+ key <AE05> {[ iogonek, Iogonek, 5, percent ]};
+ key <AE06> {[ scaron, Scaron, 6, asciicircum ]};
+ key <AE07> {[ uogonek, Uogonek, 7, ampersand ]};
+ key <AE08> {[ umacron, Umacron, 8, asterisk ]};
+ key <AE09> {[ doublelowquotemark, parenleft, 9, parenleft ]};
+ key <AE10> {[ leftdoublequotemark, parenright, 0, parenright ]};
+ key <AE11> {[ minus, underscore, endash ]};
+ key <AE12> {[ zcaron, Zcaron, equal, plus ]};
+
+ key <LSGT> {[ endash, EuroSign ]};
+};
+
+// Similar to the above, but uses 3rd and 4th levels in the numeric row
+// for Lithuanian letters
+partial alphanumeric_keys modifier_keys
+xkb_symbols "us" {
+
+ include "latin"
+ include "eurosign(e)"
+ include "level3(ralt_switch)"
+
+ name[Group1]="Lithuania - US keyboard with Lithuanian letters";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ 1, exclam, aogonek, Aogonek ]};
+ key <AE02> {[ 2, at, ccaron, Ccaron ]};
+ key <AE03> {[ 3, numbersign, eogonek, Eogonek ]};
+ key <AE04> {[ 4, dollar, eabovedot, Eabovedot ]};
+ key <AE05> {[ 5, percent, iogonek, Iogonek ]};
+ key <AE06> {[ 6, asciicircum, scaron, Scaron ]};
+ key <AE07> {[ 7, ampersand, uogonek, Uogonek ]};
+ key <AE08> {[ 8, asterisk, umacron, Umacron ]};
+ key <AE09> {[ 9, parenleft, doublelowquotemark, parenleft ]};
+ key <AE10> {[ 0, parenright, leftdoublequotemark, parenright ]};
+ key <AE11> {[ minus, underscore, endash ]};
+ key <AE12> {[ equal, plus, zcaron, Zcaron ]};
+
+ key <LSGT> {[ endash, EuroSign ]};
+};
+
+// Lithuanian keymap LST 1582:2000
+// The standard is described at http://ims.mii.lt/klav/
+// Extensions: B01 L3 is "<" , B02 L3 is ">" and B03 L3 is endash to make this
+// layout usable with pc101 and pc104 keyboards.
+//
+// Made by Gediminas Paulauskas <menesis@delfi.lt>
+// Minor modifications by Ričardas Čepas and Rimas Kudelis
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "std" {
+
+ include "latin"
+ include "eurosign(e)"
+ include "nbsp(level3)"
+ include "kpdl(comma)"
+ include "level3(ralt_switch)"
+
+ name[Group1]="Lithuania - Standard";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ exclam, 1, at ]};
+ key <AE02> {[ minus, 2, underscore ]};
+ key <AE03> {[ slash, 3, numbersign ]};
+ key <AE04> {[ semicolon, 4, dollar ]};
+ key <AE05> {[ colon, 5, section ]};
+ key <AE06> {[ comma, 6, asciicircum ]};
+ key <AE07> {[ period, 7, ampersand ]};
+ key <AE08> {[ equal, 8, asterisk ]};
+ key <AE09> {[ parenleft, 9, bracketleft ]};
+ key <AE10> {[ parenright, 0, bracketright ]};
+ key <AE11> {[ question, plus, apostrophe ]};
+ key <AE12> {[ x, X, percent ]};
+
+ key <AD01> {[ aogonek, Aogonek ]};
+ key <AD02> {[ zcaron, Zcaron ]};
+ key <AD11> {[ iogonek, Iogonek, braceleft ]};
+ key <AD12> {[ w, W, braceright ]};
+
+ key <AC04> {[ scaron, Scaron ]};
+ key <AC10> {[ uogonek, Uogonek ]};
+ key <AC11> {[ eabovedot, Eabovedot, quotedbl ]};
+ key <BKSL> {[ q, Q, bar ]};
+
+ key <LSGT> {[ less, greater, endash ]};
+ key <AB01> {[ z, Z, less ]};
+ key <AB02> {[ umacron, Umacron, greater ]};
+ key <AB03> {[ c, C, endash ]};
+ key <AB08> {[ ccaron, Ccaron, doublelowquotemark ]};
+ key <AB09> {[ f, F, leftdoublequotemark ]};
+ key <AB10> {[ eogonek, Eogonek, backslash ]};
+};
+
+// Lithuanian keymap LST 1205-92
+// This standard was made deprecated by LST 1582:2000 above.
+// This keyboard is also know as IBM layout.
+// We follow the map shown at: http://www.registrucentras.lt/litwin/kbdlta.gif
+// and info from Edis Tamošauskas <linas_lietus@yahoo.com>
+//
+// Made by Piter PUNK <piterpk@terra.com.br>
+// Minor modifications and cleanup by Rimas Kudelis, 2010
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "ibm" {
+
+ include "latin"
+ include "eurosign(e)"
+ include "nbsp(level3)"
+ include "level3(ralt_switch)"
+
+ name[Group1]="Lithuania - IBM (LST 1205-92)";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ exclam, 1 ]};
+ key <AE02> {[ quotedbl, 2, at ]};
+ key <AE03> {[ slash, 3, numbersign ]};
+ key <AE04> {[ semicolon, 4, dollar ]};
+ key <AE05> {[ colon, 5, percent ]};
+ key <AE06> {[ comma, 6, asciicircum ]};
+ key <AE07> {[ period, 7, ampersand ]};
+ key <AE08> {[ question, 8, asterisk ]};
+ key <AE09> {[ parenleft, 9 ]};
+ key <AE10> {[ parenright, 0 ]};
+ key <AE11> {[ underscore, minus, endash ]};
+ key <AE12> {[ plus, equal ]};
+
+ key <AD01> {[ aogonek, Aogonek, q, Q ]};
+ key <AD02> {[ zcaron, Zcaron, w, W ]};
+ key <AD11> {[ iogonek, Iogonek, bracketleft, braceleft ]};
+ key <AD12> {[ doublelowquotemark, leftdoublequotemark, bracketright, braceright ]};
+
+ key <AC10> {[ uogonek, Uogonek, semicolon, colon ]};
+ key <AC11> {[ eabovedot, Eabovedot, apostrophe, quotedbl ]};
+
+ key <LSGT> {[ less, greater, endash ]};
+ key <AB02> {[ umacron, Umacron, x, X ]};
+ key <AB08> {[ ccaron, Ccaron, comma, less ]};
+ key <AB09> {[ scaron, Scaron, period, greater ]};
+ key <AB10> {[ eogonek, Eogonek, slash, question ]};
+};
+
+// LEKP and LEKPa layouts 1.0
+// Copyright (c) 2007 Tautrimas Pajarskas
+// For more info visit http://lekp.info
+//
+// LEKP and LEKPa layouts are licensed under the Creative Commons
+// Attribution-Noncommercial-Share Alike 3.0 License.
+// To view a copy of this license, visit
+// http://creativecommons.org/licenses/by-nc-sa/3.0/ or send
+// a letter to Creative Commons, 171 Second Street, Suite 300,
+// San Francisco, California, 94105, USA.
+//
+// Minor cleanup by Rimas Kudelis, 2010
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "lekp" {
+
+ include "capslock(backspace)"
+ include "level3(ralt_switch)"
+
+ name[Group1]="Lithuania - LEKP";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ slash, numbersign, bar ]};
+ key <AE02> {[ backslash, at, section ]};
+ key <AE03> {[ period, braceleft ]};
+ key <AE04> {[ comma, braceright ]};
+ key <AE05> {[ f, F ]};
+ key <AE06> {[ exclam, endash ]};
+ key <AE07> {[ w, W ]};
+ key <AE08> {[ uogonek, Uogonek ]};
+ key <AE09> {[ iogonek, Iogonek ]};
+ key <AE10> {[ parenleft, doublelowquotemark, registered ]};
+ key <AE11> {[ parenright, leftdoublequotemark, copyright ]};
+ key <AE12> {[ colon, ampersand, trademark ]};
+
+ key <AD01> {[ q, Q, EuroSign ]};
+ key <AD02> {[ g, G, 7 ]};
+ key <AD03> {[ r, R, 8 ]};
+ key <AD04> {[ l, L, 9 ]};
+ key <AD05> {[ d, D, percent ]};
+ key <AD06> {[ ccaron, Ccaron ]};
+ key <AD07> {[ j, J ]};
+ key <AD08> {[ u, U, period ]};
+ key <AD09> {[ eabovedot, Eabovedot, minus ]};
+ key <AD10> {[ eogonek, Eogonek, slash ]};
+ key <AD11> {[ question, bracketleft, division ]};
+ key <AD12> {[ equal, bracketright ]};
+
+ key <AC01> {[ a, A, 0 ]};
+ key <AC02> {[ k, K, 4 ]};
+ key <AC03> {[ s, S, 5 ]};
+ key <AC04> {[ t, T, 6 ]};
+ key <AC05> {[ m, M, dollar ]};
+ key <AC06> {[ p, P ]};
+ key <AC07> {[ n, N ]};
+ key <AC08> {[ e, E, comma ]};
+ key <AC09> {[ i, I, plus ]};
+ key <AC10> {[ o, O, asterisk ]};
+ key <AC11> {[ y, Y, multiply ]};
+ key <BKSL> {[ apostrophe, underscore ]};
+
+ key <LSGT> {[ semicolon, quotedbl, sterling ]};
+ key <AB01> {[ z, Z, asciicircum ]};
+ key <AB02> {[ x, X, 1 ]};
+ key <AB03> {[ c, C, 2 ]};
+ key <AB04> {[ v, V, 3 ]};
+ key <AB05> {[ zcaron, Zcaron ]};
+ key <AB06> {[ scaron, Scaron ]};
+ key <AB07> {[ b, B, degree ]};
+ key <AB08> {[ umacron, Umacron, less ]};
+ key <AB09> {[ aogonek, Aogonek, greater ]};
+ key <AB10> {[ h, H ]};
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "lekpa" {
+
+ include "capslock(backspace)"
+ include "level3(ralt_switch)"
+
+ name[Group1]="Lithuania - LEKPa";
+
+ key <TLDE> {[ grave, asciitilde, acute ]};
+ key <AE01> {[ slash, quotedbl, bar ]};
+ key <AE02> {[ backslash, at, section ]};
+ key <AE03> {[ period, braceleft, numbersign ]};
+ key <AE04> {[ comma, braceright, sterling ]};
+ key <AE05> {[ f, F, ampersand ]};
+ key <AE06> {[ exclam, endash ]};
+ key <AE07> {[ w, W ]};
+ key <AE08> {[ uogonek, Uogonek ]};
+ key <AE09> {[ iogonek, Iogonek ]};
+ key <AE10> {[ parenleft, doublelowquotemark, registered ]};
+ key <AE11> {[ parenright, leftdoublequotemark, copyright ]};
+ key <AE12> {[ colon, semicolon, trademark ]};
+
+ key <AD01> {[ q, Q, EuroSign ]};
+ key <AD02> {[ g, G, 7 ]};
+ key <AD03> {[ r, R, 8 ]};
+ key <AD04> {[ l, L, 9 ]};
+ key <AD05> {[ d, D, percent ]};
+ key <AD06> {[ ccaron, Ccaron ]};
+ key <AD07> {[ j, J ]};
+ key <AD08> {[ u, U, period ]};
+ key <AD09> {[ eabovedot, Eabovedot, minus ]};
+ key <AD10> {[ eogonek, Eogonek, slash ]};
+ key <AD11> {[ question, bracketleft, division ]};
+ key <AD12> {[ equal, bracketright ]};
+
+ key <AC01> {[ a, A, 0 ]};
+ key <AC02> {[ k, K, 4 ]};
+ key <AC03> {[ s, S, 5 ]};
+ key <AC04> {[ t, T, 6 ]};
+ key <AC05> {[ m, M, dollar ]};
+ key <AC06> {[ p, P ]};
+ key <AC07> {[ n, N ]};
+ key <AC08> {[ e, E, comma ]};
+ key <AC09> {[ i, I, plus ]};
+ key <AC10> {[ o, O, asterisk ]};
+ key <AC11> {[ y, Y, multiply ]};
+ key <BKSL> {[ apostrophe, underscore ]};
+
+ key <AB01> {[ z, Z, asciicircum ]};
+ key <AB02> {[ x, X, 1 ]};
+ key <AB03> {[ c, C, 2 ]};
+ key <AB04> {[ v, V, 3 ]};
+ key <AB05> {[ zcaron, Zcaron ]};
+ key <AB06> {[ scaron, Scaron ]};
+ key <AB07> {[ b, B, degree ]};
+ key <AB08> {[ umacron, Umacron, less ]};
+ key <AB09> {[ aogonek, Aogonek, greater ]};
+ key <AB10> {[ h, H ]};
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "dvorak" {
+
+ include "us(dvorak)"
+
+ name[Group1]="Lithuania - Dvorak";
+
+ key <AE01> { [ aogonek, Aogonek, 1, exclam ] };
+ key <AE02> { [ ccaron, Ccaron, 2, at ] };
+ key <AE03> { [ eogonek, Eogonek, 3, numbersign ] };
+ key <AE04> { [ eabovedot, Eabovedot, 4, dollar ] };
+ key <AE05> { [ iogonek, Iogonek, 5, percent ] };
+ key <AE06> { [ scaron, Scaron, 6, asciicircum ] };
+ key <AE07> { [ uogonek, Uogonek, 7, ampersand ] };
+ key <AE08> { [ umacron, Umacron, 8, asterisk ] };
+ key <AE09> { [doublelowquotemark, parenleft, 9, parenleft ] };
+ key <AE10> { [leftdoublequotemark,parenright, 0, parenright ] };
+ key <AD12> { [ zcaron, Zcaron, equal, plus ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/nbsp b/xorg-server/xkeyboard-config/symbols/nbsp
index 220dae460..77b40df07 100644
--- a/xorg-server/xkeyboard-config/symbols/nbsp
+++ b/xorg-server/xkeyboard-config/symbols/nbsp
@@ -1,194 +1,204 @@
-// Let Space key provide No-Break Space (NBSP), Narrow No-Break Space (NNBSP),
-// Zero-Width Non-Joiner (ZWNJ), and Zero-Width Joiner (ZWJ) for the desired
-// levels.
-
-
-////////////////////////////////////////
-// Only Space
-
-partial
-xkb_symbols "none" {
- key <SPCE> {
- type[Group1]="ONE_LEVEL",
- symbols[Group1]= [ space ]
- };
-};
-
-
-////////////////////////////////////////
-// No-Break Space
-
-partial
-xkb_symbols "level2" {
- key <SPCE> {
- type[Group1]="TWO_LEVEL",
- symbols[Group1]= [ space, nobreakspace ]
- };
-};
-
-
-// level3 & level3ns provide no-breaking spaces starting from level3
-// This is good for typographers but experience shows many users accidently
-// type no-breaking spaces on the CLI (resulting in errors)
-// Used by fr(latin9) and lt(std)
-partial
-xkb_symbols "level3" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, space, nobreakspace ]
- };
-};
-
-// level3s kills fourth level
-// Used by ca(multix)
-partial
-xkb_symbols "level3s" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
- };
-};
-
-// for this reason pushing no-breaking spaces to level4 is the safe default nowadays
-partial
-xkb_symbols "level4" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, space, space, nobreakspace ]
- };
-};
-
-
-////////////////////////////////////////
-// Narrow No-Break Space
-
-// level3n provides narrow no-breaking space in addition to the normal one
-partial
-xkb_symbols "level3n" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, space, nobreakspace, 0x100202F ]
- };
-};
-
-// level4n provides narrow no-breaking space in addition to the normal one
-partial
-xkb_symbols "level4n" {
- key <SPCE> {
- type[Group1]="EIGHT_LEVEL",
- symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
- };
-};
-
-// level4nl provides narrow no-breaking space in addition to the normal one
-// without forcing the use of level5 for mostly four-level layouts
-// Used by fr(oss), be(oss)…
-partial
-xkb_symbols "level4nl" {
- key <SPCE> {
- type[Group1]="LOCAL_EIGHT_LEVEL",
- symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
- };
-};
-
-
-////////////////////////////////////////
-// Zero-Width Non-Joiner & Zero-Width Joiner
-// Author: Behnam Esfahbod <behnam@esfahbod.info>
-
-// ZWNJ and ZWJ are widely used in Persian, Kurdinsh, Pashto, Uzbek and other
-// languages that use PersoArabic script.
-
-
-// ZWNJ on level 2
-partial
-xkb_symbols "zwnj2" {
- key <SPCE> {
- type[Group1]="TWO_LEVEL",
- symbols[Group1]= [ space, 0x100200c ]
- };
-};
-
-
-// ZWNJ on level 2
-// ZWJ on level 3
-partial
-xkb_symbols "zwnj2zwj3" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, 0x100200c, 0x100200d ]
- };
-};
-
-
-// ZWNJ on level 2
-// ZWJ on level 3
-// NBSP on level 4
-partial
-xkb_symbols "zwnj2zwj3nb4" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, 0x100200c, 0x100200d, nobreakspace ]
- };
-};
-
-// ZWNJ on level 2
-// NBSP on level 3
-// Used by ir(ku_ara), af(basic), af(ps), af(uz), af(olpc-fa), af(olpc-ps), af(olpc-uz)
-partial
-xkb_symbols "zwnj2nb3" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, 0x100200c, nobreakspace ]
- };
-};
-
-
-// ZWNJ on level 2
-// ZWJ on level 3
-// NBSP on level 4
-// Used by lk(sin_phonetic)
-partial
-xkb_symbols "zwnj2nb3s" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, 0x100200c, nobreakspace, NoSymbol ]
- };
-};
-
-
-// ZWNJ on level 2
-// NBSP on level 3
-// ZWJ on level 4
-partial
-xkb_symbols "zwnj2nb3zwj4" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100200d ]
- };
-};
-
-
-// ZWNJ on level 2
-// NBSP on level 3
-// NNBSP on level 4
-// Used by ir(pes)
-partial
-xkb_symbols "zwnj2nb3nnb4" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100202F ]
- };
-};
-
-
-// ZWNJ on level 3
-// ZWJ on level 4
-// Used by in(deva), in(olpc)
-partial
-xkb_symbols "zwnj3zwj4" {
- key <SPCE> {
- type[Group1]="FOUR_LEVEL",
- symbols[Group1]= [ space, space, 0x100200c, 0x100200d ]
- };
-};
+// Let Space key provide No-Break Space (NBSP), Narrow No-Break Space (NNBSP),
+// Zero-Width Non-Joiner (ZWNJ), and Zero-Width Joiner (ZWJ) for the desired
+// levels.
+
+
+////////////////////////////////////////
+// Only Space
+
+partial
+xkb_symbols "none" {
+ key <SPCE> {
+ type[Group1]="ONE_LEVEL",
+ symbols[Group1]= [ space ]
+ };
+};
+
+
+////////////////////////////////////////
+// No-Break Space
+
+partial
+xkb_symbols "level2" {
+ key <SPCE> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1]= [ space, nobreakspace ]
+ };
+};
+
+
+// level3 & level3ns provide no-breaking spaces starting from level3
+// This is good for typographers but experience shows many users accidently
+// type no-breaking spaces on the CLI (resulting in errors)
+// Used by fr(latin9) and lt(std)
+partial
+xkb_symbols "level3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace ]
+ };
+};
+
+// level3s kills fourth level
+// Used by ca(multix)
+partial
+xkb_symbols "level3s" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, NoSymbol ]
+ };
+};
+
+// for this reason pushing no-breaking spaces to level4 is the safe default nowadays
+partial
+xkb_symbols "level4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace ]
+ };
+};
+
+
+////////////////////////////////////////
+// Narrow No-Break Space
+
+// level3n provides narrow no-breaking space in addition to the normal one
+partial
+xkb_symbols "level3n" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, nobreakspace, 0x100202F ]
+ };
+};
+
+// level4n provides narrow no-breaking space in addition to the normal one
+partial
+xkb_symbols "level4n" {
+ key <SPCE> {
+ type[Group1]="EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
+ };
+};
+
+// level4nl provides narrow no-breaking space in addition to the normal one
+// without forcing the use of level5 for mostly four-level layouts
+// Used by fr(oss), be(oss)…
+partial
+xkb_symbols "level4nl" {
+ key <SPCE> {
+ type[Group1]="LOCAL_EIGHT_LEVEL",
+ symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ]
+ };
+};
+
+
+////////////////////////////////////////
+// Zero-Width Non-Joiner & Zero-Width Joiner
+// Author: Behnam Esfahbod <behnam@esfahbod.info>
+
+// ZWNJ and ZWJ are widely used in Persian, Kurdinsh, Pashto, Uzbek and other
+// languages that use PersoArabic script.
+
+
+// ZWNJ on level 2
+partial
+xkb_symbols "zwnj2" {
+ key <SPCE> {
+ type[Group1]="TWO_LEVEL",
+ symbols[Group1]= [ space, 0x100200c ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+partial
+xkb_symbols "zwnj2zwj3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, 0x100200d ]
+ };
+};
+
+
+// ZWNJ on level 2
+// ZWJ on level 3
+// NBSP on level 4
+partial
+xkb_symbols "zwnj2zwj3nb4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, 0x100200d, nobreakspace ]
+ };
+};
+
+// ZWNJ on level 2
+// NBSP on level 3
+// Used by ir(ku_ara), af(basic), af(ps), af(uz), af(olpc-fa), af(olpc-ps), af(olpc-uz)
+partial
+xkb_symbols "zwnj2nb3" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace ]
+ };
+};
+
+
+// ZWNJ on level 2
+// NBSP on level 3
+partial
+xkb_symbols "zwnj2nb3s" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, NoSymbol ]
+ };
+};
+
+
+// ZWNJ on level 2
+// NBSP on level 3
+// ZWJ on level 4
+partial
+xkb_symbols "zwnj2nb3zwj4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100200d ]
+ };
+};
+
+
+// ZWNJ on level 2
+// NBSP on level 3
+// NNBSP on level 4
+// Used by ir(pes)
+partial
+xkb_symbols "zwnj2nb3nnb4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100202F ]
+ };
+};
+
+
+// ZWNJ on level 3
+// ZWJ on level 4
+// Used by in(deva), in(olpc)
+partial
+xkb_symbols "zwnj3zwj4" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, space, 0x100200c, 0x100200d ]
+ };
+};
+
+
+// NBSP on level 2
+// ZWNJ on level 3
+// Used by lk(sin_phonetic)
+partial
+xkb_symbols "nb2zwnj3s" {
+ key <SPCE> {
+ type[Group1]="FOUR_LEVEL",
+ symbols[Group1]= [ space, nobreakspace, 0x100200c, NoSymbol ]
+ };
+};