Esperanto and Slovak locale variants

* Finally added the long-WIP variants epo and sk properly
* The colemaklayouts list in evdev/base, although not in actual use, was updated too
* For Slovak and Czech, made minor tweaks to better allow writing each other's letters
This commit is contained in:
DreymaR 2023-06-02 16:28:10 +02:00
parent 1e443327cd
commit 69743d5846
13 changed files with 175 additions and 215 deletions

View File

@ -28,9 +28,6 @@ Note that the `base` and `evdev` rules are compiled slightly differently, so I p
TODO:
-----
* Finish implementing Slovak (sk) and Esperanto (epo) locale variants.
- They're nearly ready within their WIP files. I think they're okay as they are now?
* Sym mod implementation
- The Sym mod should not be implemented as hard/model; it must not rearrange Extend.
- Better to make a new symbols/symbolkeys file, and put all symbol key definitions in there.

View File

@ -146,7 +146,7 @@
tm2030USB-102 tm2030USB-106 trust_slimline
! $dvoraklayouts = br ca de ee es fr gb no pl se us
! $colemaklayouts = al at ba be bg br ca cz de dk es fi fr gb gr hr hu il is it latam nl no pl pt ro rs ru se si tr us
! $colemaklayouts = al at ba be bg br ca cz de dk epo es fi fr gb gr hr hu il is it latam nl no pl pt ro rs ru se si sk tr us
! model = keycodes
amiga = amiga(de)

View File

@ -730,6 +730,8 @@
bksl sk: Slovak (extended backslash)
qwerty sk: Slovak (QWERTY)
qwerty_bksl sk: Slovak (QWERTY, extended backslash)
cmk_ed_ks sk: Slovak (Colemak[eD], keep local symbols)
cmk_ed_us sk: Slovak (Colemak[eD], unified symbols)
nodeadkeys es: Spanish (no dead keys)
winkeys es: Spanish (Windows)
deadtilde es: Spanish (dead tilde)
@ -818,6 +820,8 @@
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (legacy)
cmk_ed_ks epo: Esperanto (Colemak[eD], keep local symbols)
cmk_ed_us epo: Esperanto (Colemak[eD], unified symbols)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)

View File

@ -5753,6 +5753,19 @@
<description>Slovak (QWERTY, extended backslash)</description>
</configItem>
</variant>
<!-- >-> DreymaR's BigBagKbdTrix -->
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>Slovak (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>Slovak (Colemak[eD], unified symbols)</description>
</configItem>
</variant> <!-- <-< DreymaR -->
</variantList>
</layout>
<layout>
@ -6741,6 +6754,19 @@
<description>Esperanto (legacy)</description>
</configItem>
</variant>
<!-- >-> DreymaR's BigBagKbdTrix -->
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>Esperanto (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>Esperanto (Colemak[eD], unified symbols)</description>
</configItem>
</variant> <!-- <-< DreymaR -->
</variantList>
</layout>
<layout>

View File

@ -91,7 +91,7 @@
! $evdevkbds = ibm_spacesaver
! $dvoraklayouts = br ca de ee es fr gb no pl se us
! $colemaklayouts = al at ba be bg br ca cz de dk es fi fr gb gr hr hu il is it latam nl no pl pt ro rs ru se si tr us
! $colemaklayouts = al at ba be bg br ca cz de dk epo es fi fr gb gr hr hu il is it latam nl no pl pt ro rs ru se si sk tr us
! model = keycodes
applealu_jis = evdev+macintosh(jisevdev)

View File

@ -730,6 +730,8 @@
bksl sk: Slovak (extended backslash)
qwerty sk: Slovak (QWERTY)
qwerty_bksl sk: Slovak (QWERTY, extended backslash)
cmk_ed_ks sk: Slovak (Colemak[eD], keep local symbols)
cmk_ed_us sk: Slovak (Colemak[eD], unified symbols)
nodeadkeys es: Spanish (no dead keys)
winkeys es: Spanish (Windows)
deadtilde es: Spanish (dead tilde)
@ -818,6 +820,8 @@
ara pk: Arabic (Pakistan)
snd pk: Sindhi
legacy epo: Esperanto (legacy)
cmk_ed_ks epo: Esperanto (Colemak[eD], keep local symbols)
cmk_ed_us epo: Esperanto (Colemak[eD], unified symbols)
igbo ng: Igbo
yoruba ng: Yoruba
hausa ng: Hausa (Nigeria)

View File

@ -5753,6 +5753,19 @@
<description>Slovak (QWERTY, extended backslash)</description>
</configItem>
</variant>
<!-- >-> DreymaR's BigBagKbdTrix -->
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>Slovak (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>Slovak (Colemak[eD], unified symbols)</description>
</configItem>
</variant> <!-- <-< DreymaR -->
</variantList>
</layout>
<layout>
@ -6741,6 +6754,19 @@
<description>Esperanto (legacy)</description>
</configItem>
</variant>
<!-- >-> DreymaR's BigBagKbdTrix -->
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>Esperanto (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>Esperanto (Colemak[eD], unified symbols)</description>
</configItem>
</variant> <!-- <-< DreymaR -->
</variantList>
</layout>
<layout>

View File

@ -1,20 +1,21 @@
// $XKeyboardConfig$
// *****************************************************************************************
// ****** ******
// ***** Colemak layouts - adding locale variants in a consistent fashion *****
// ***** by OEystein "DreymaR" Bech-Aase (formerly Bech Gadmar), 2012- *****
// ***** (copy this template to a new file then find/replace '<LANGUAGE>'/'<LL>') *****
// ***** ('<LL>' is usually the ISO-3166 two-letter country code) *****
// ****** ******
// *****************************************************************************************
// *****************************************************************************************
// ****** ******
// ****** Colemak layouts - adding locale variants in a consistent fashion ******
// ****** by OEystein "DreymaR" Bech-Aase (formerly Bech Gadmar), 2012- ******
// ****** (copy this template to a new file then find/replace '<LANGUAGE>'/'<LL>') ******
// ****** ('<LL>' is usually the ISO-3166 two-letter country code) ******
// ****** ******
// *****************************************************************************************
// ***********************************************
// *** In the symbols file for <LANGUAGE> ***
// *** (its filename is '<LL>') ***
// ***********************************************
// ***************************************************************************
// **** In the symbols file for <LANGUAGE> ****
// **** found at xkb/symbols/<LL> ****
// **** (at the end, or below other Colemak variants) ****
// ***************************************************************************
// >>--> DreymaR (OEystein Bech-Aase), 20??-??: Additions to xkb/symbols/<LL>
// >>--> DreymaR (OEystein Bech-Aase), 202?-??: Additions to xkb/symbols/<LL>
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for <LANGUAGE>.
// 2006-01-01 Shai Coleman http://colemak.com/ (Public Domain) : The Colemak keyboard layout.
// See the Big Bag section on Cmk[eD] locales: https://dreymar.colemak.org/variants.html#locales
@ -64,11 +65,12 @@ xkb_symbols "cmk_ed_us" {
};
// <--<< DreymaR: Additions to xkb/symbols/<LL>
// ***********************************************
// *** In the rules/evdev(+base).xml file ***
// *** Under the <LL> layout variantList ***
// ***********************************************
// ***************************************************************************
// **** In the rules/evdev(+base).xml file ****
// **** Under the <LL> layout variantList ****
// ***************************************************************************
<!-- >-> DreymaR's BigBagKbdTrix -->
<variant>
<configItem>
<name>cmk_ed_ks</name>
@ -80,23 +82,26 @@ xkb_symbols "cmk_ed_us" {
<name>cmk_ed_us</name>
<description><LANGUAGE> (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
</variant> <!-- <-< DreymaR -->
// ***********************************************
// *** In the rules/evdev(+base).lst file ***
// *** Under '! variant' (norm. <LL>) ***
// ***********************************************
// ***************************************************************************
// **** In the rules/evdev(+base).lst file ****
// **** Under '! variant' (norm. <LL>) ****
// **** This file is auto-generated when rules are compiled. ****
// ***************************************************************************
cmk_ed_ks <LL>: <LANGUAGE> (Colemak[eD], keep local symbols)
cmk_ed_us <LL>: <LANGUAGE> (Colemak[eD], unified symbols)
// ***********************************************
// *** (In the main rules/evdev(+base) file ***
// *** no changes should be necessary.) ***
// ***********************************************
// ***************************************************************************
// **** In the main rules/evdev(+base) file ****
// **** no changes should be necessary. ****
// ***************************************************************************
// *****************************************************************************************
// ****** ******
// ***** END of DreymaR's Colemak additions (Cmk[eD], National var.) *****
// ****** ******
// *****************************************************************************************
// *****************************************************************************************
// ****** ******
// ****** ******
// ****** THE END of DreymaR's Colemak[eD] locale variant addition template ******
// ****** ******
// ****** ******
// *****************************************************************************************

View File

@ -1,88 +0,0 @@
// $XKeyboardConfig$
// *****************************************************************************************
// ****** ******
// ***** Colemak layouts - adding locale variants in a consistent fashion *****
// ***** by OEystein "DreymaR" Bech-Aase (formerly Bech Gadmar), 2012- *****
// ***** (copy this template to a new file then find/replace '<LANGUAGE>'/'<LL>') *****
// ***** ('<LL>' is usually the ISO-3166 two-letter country code) *****
// ****** ******
// *****************************************************************************************
// ***********************************************
// *** In the symbols file for Esperanto ***
// *** (its filename is 'epo') ***
// ***********************************************
// >>--> DreymaR (OEystein Bech-Aase, formerly Bech Gadmar), 2014-01: Additions to xkb/symbols/epo
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Esperanto.
// 2006-01-01 Shai Coleman http://colemak.com/ (Public Domain) : The Colemak keyboard layout.
// See the Big Bag section on Cmk[eD] locales: https://dreymar.colemak.org/variants.html#locales
// The 'keep local symbols' variant keeps the national symbol and special letter setup.
partial alphanumeric_keys
xkb_symbols "cmk_ed_ks" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
include "epo(colemak)" // remaps only AltGr mappings for Colemak C/G/H/J/S/U
name[Group1]= "Esperanto (Colemak[eD], keep local symbols)";
};
// The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard.
// For Esperanto, necessary local letters are added to designated flexible spots in the layout.
// For "writing" and "coding" subvariants, move the brackets between lv1-2 and lv3-4 as shown.
partial alphanumeric_keys
xkb_symbols "cmk_ed_us" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
name[Group1]= "Esperanto (Colemak[eD], unified symbols)";
// NEEDED: circumflex cghjs (ĈĉĜĝĤĥĴĵŜŝ), ubreve (Ŭŭ)
// Esperanto letter frequencies: The accented letters add up, so allegedly 6% for the above 6 letters together.
// NOTE: Added dead_circumflex to both shifted and unshifted LBracket, so it's easy to use with shifted letters.
// key <AD11> { [ bracketleft, braceleft, dead_circumflex, dead_circumflex ] };
// key <AD12> { [ bracketright, braceright, ubreve, Ubreve ] };
key <AD11> { [ dead_circumflex, dead_circumflex, bracketleft, braceleft ] }; // common accent
key <AD12> { [ ubreve, Ubreve, bracketright, braceright ] }; // from <AC11>
};
// <--<< DreymaR: Additions to xkb/symbols/epo
// ***********************************************
// *** In the rules/evdev(+base).xml file ***
// *** Under the epo layout variantList ***
// ***********************************************
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>Esperanto (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>Esperanto (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
// ***********************************************
// *** In the rules/evdev(+base).lst file ***
// *** Under '! variant' (norm. epo) ***
// ***********************************************
cmk_ed_ks epo: Esperanto (Colemak[eD], keep local symbols)
cmk_ed_us epo: Esperanto (Colemak[eD], unified symbols)
// ***********************************************
// *** (In the main rules/evdev(+base) file ***
// *** no changes should be necessary.) ***
// ***********************************************
// *****************************************************************************************
// ****** ******
// ***** END of DreymaR's Colemak additions (Cmk[eD], National var.) *****
// ****** ******
// *****************************************************************************************

View File

@ -1,91 +0,0 @@
// $XKeyboardConfig$
// *****************************************************************************************
// ****** ******
// ***** Colemak layouts - adding locale variants in a consistent fashion *****
// ***** by OEystein "DreymaR" Bech-Aase (formerly Bech Gadmar), 2012- *****
// ***** (copy this template to a new file then find/replace '<LANGUAGE>'/'<LL>') *****
// ***** ('<LL>' is usually the ISO-3166 two-letter country code) *****
// ****** ******
// *****************************************************************************************
// ***********************************************
// *** In the symbols file for Slovak ***
// *** (its filename is 'sk') ***
// ***********************************************
// >>--> DreymaR (OEystein Bech-Aase), 2023-06: Additions to xkb/symbols/sk
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Slovak.
// 2006-01-01 Shai Coleman http://colemak.com/ (Public Domain) : The Colemak keyboard layout.
// See the Big Bag section on Cmk[eD] locales: https://dreymar.colemak.org/variants.html#locales
// The 'keep local symbols' variant keeps the national symbol and special letter setup.
partial alphanumeric_keys
xkb_symbols "cmk_ed_ks" {
include "sk(basic)"
include "colemak(cmk_ed_letters)"
name[Group1]= "Slovak (Colemak[eD], keep local symbols)";
// NOTE: Symbols on letter keys may be lost in cmk_ed_ks if they are not on Colemak[eD] letter keys.
// EuroSign is often on 'E'. The latin(intl) and locale(winkeys) layout variants use '5'.
// Colemak[eD] has EuroSign on 'E' and mu on '5'.
// key <AE05> { [ NoSymbol, NoSymbol, NoSymbol, mu ] };
// key <AE05> { [ NoSymbol, NoSymbol, NoSymbol, EuroSign ] }; // Added EuroSign on lv4 to keep percent.
key <AD10> { [ ocircumflex, quotedbl, dollar, currency ] }; // from <AC10> (added lv4)
};
// The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard.
// For Slovak, necessary local letters are added to designated flexible spots in the layout.
partial alphanumeric_keys
xkb_symbols "cmk_ed_us" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
name[Group1]= "Slovak (Colemak[eD], unified symbols)";
// NEEDED: Acute a/e/i/l/r/u/y, caron c/e*/l/r*/s/z, stroke Dd/Ll, ocircumflex, adiaeresis, uring*.
// NOTE: Slovak `ä ľ ĺ ŕ ô` are not in Czech; Czech(*) `ě ř ů` are not in Slovak. Some may need both sets.
key <LSGT> { [ ocircumflex, Ocircumflex, adiaeresis, Adiaeresis ] }; // from <AC10>
key <AD11> { [ dead_acute, dead_acute, bracketleft, braceleft ] }; // from <AE12>
key <AD12> { [ dead_caron, dead_caron, bracketright, braceright ] }; // from <AE12>
};
// <--<< DreymaR: Additions to xkb/symbols/sk
// ***********************************************
// *** In the rules/evdev(+base).xml file ***
// *** Under the sk layout variantList ***
// ***********************************************
<variant>
<configItem>
<name>cmk_ed_ks</name>
<description>Slovak (Colemak[eD], keep local symbols)</description>
</configItem>
</variant>
<variant>
<configItem>
<name>cmk_ed_us</name>
<description>Slovak (Colemak[eD], unified symbols)</description>
</configItem>
</variant>
// ***********************************************
// *** In the rules/evdev(+base).lst file ***
// *** Under '! variant' (norm. sk) ***
// ***********************************************
cmk_ed_ks sk: Slovak (Colemak[eD], keep local symbols)
cmk_ed_us sk: Slovak (Colemak[eD], unified symbols)
// ***********************************************
// *** (In the main rules/evdev(+base) file ***
// *** no changes should be necessary.) ***
// ***********************************************
// *****************************************************************************************
// ****** ******
// ***** END of DreymaR's Colemak additions (Cmk[eD], National var.) *****
// ****** ******
// *****************************************************************************************

View File

@ -514,6 +514,7 @@ xkb_symbols "cmk_ed_us" {
// NEEDED: Acute a/e/i/l*/r*/u/y, caron c/e/l*/r/s/z, stroke Dd/Ll, uring, ocircumflex*, adiaeresis*.
// NOTE: Slovak(*) `ä ľ ĺ ŕ ô` are not in Czech; Czech `ě ř ů` are not in Slovak. Some may need both sets.
// Uring is very rare; it's nevertheless provided for (sm)allcaps writing and referral to the letter.
// NOTE: Many users have ANSI-type keyboards without an <LSGT> key. They may have to work around this limitation using lv3-4 of other keys.
key <LSGT> { [ uring, Uring, adiaeresis, Adiaeresis ] }; // from <AC10>
key <AD11> { [ dead_acute, dead_acute, bracketleft, braceleft ] }; // from <AE12>

View File

@ -148,3 +148,39 @@ xkb_symbols "colemak" {
key <AC03> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
key <AD08> { [ NoSymbol, NoSymbol, ubreve, Ubreve ] };
};
// >>--> DreymaR (OEystein Bech-Aase), 2023-06: Additions to xkb/symbols/epo
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Esperanto.
// 2006-01-01 Shai Coleman http://colemak.com/ (Public Domain) : The Colemak keyboard layout.
// See the Big Bag section on Cmk[eD] locales: https://dreymar.colemak.org/variants.html#locales
// The 'keep local symbols' variant keeps the national symbol and special letter setup.
partial alphanumeric_keys
xkb_symbols "cmk_ed_ks" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
include "epo(colemak)" // remaps only AltGr mappings for Colemak C/G/H/J/S/U
name[Group1]= "Esperanto (Colemak[eD], keep local symbols)";
};
// The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard.
// For Esperanto, necessary local letters are added to designated flexible spots in the layout.
// For "writing" and "coding" subvariants, move the brackets between lv1-2 and lv3-4 as shown.
partial alphanumeric_keys
xkb_symbols "cmk_ed_us" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
name[Group1]= "Esperanto (Colemak[eD], unified symbols)";
// NEEDED: circumflex cghjs (ĈĉĜĝĤĥĴĵŜŝ), ubreve (Ŭŭ)
// Esperanto letter frequencies: The accented letters add up, so allegedly 6% for the above 6 letters together.
// NOTE: Added dead_circumflex to both shifted and unshifted LBracket, so it's easy to use with shifted letters.
// key <AD11> { [ bracketleft, braceleft, dead_circumflex, dead_circumflex ] };
// key <AD12> { [ bracketright, braceright, ubreve, Ubreve ] };
key <AD11> { [ dead_circumflex, dead_circumflex, bracketleft, braceleft ] }; // common accent
key <AD12> { [ ubreve, Ubreve, bracketright, braceright ] }; // from <AC11>
};
// <--<< DreymaR: Additions to xkb/symbols/epo

View File

@ -148,3 +148,43 @@ partial alphanumeric_keys
xkb_symbols "sun_type6" {
include "sun_vndr/sk(sun_type6)"
};
// >>--> DreymaR (OEystein Bech-Aase), 2023-06: Additions to xkb/symbols/sk
// Colemak[eD]: National/locale Colemak "edition DreymaR" variants for Slovak.
// 2006-01-01 Shai Coleman http://colemak.com/ (Public Domain) : The Colemak keyboard layout.
// See the Big Bag section on Cmk[eD] locales: https://dreymar.colemak.org/variants.html#locales
// The 'keep local symbols' variant keeps the national symbol and special letter setup.
partial alphanumeric_keys
xkb_symbols "cmk_ed_ks" {
include "sk(basic)"
include "colemak(cmk_ed_letters)"
name[Group1]= "Slovak (Colemak[eD], keep local symbols)";
// NOTE: Symbols on letter keys may be lost in cmk_ed_ks if they are not on Colemak[eD] letter keys.
// EuroSign is often on 'E'. The latin(intl) and locale(winkeys) layout variants use '5'.
// Colemak[eD] has EuroSign on 'E' and mu on '5'.
// key <AE05> { [ NoSymbol, NoSymbol, NoSymbol, mu ] };
// key <AE05> { [ NoSymbol, NoSymbol, NoSymbol, EuroSign ] }; // Added EuroSign on lv4 to keep percent.
key <AD10> { [ ocircumflex, quotedbl, dollar, currency ] }; // from <AC10> (added lv4)
};
// The 'us' variant uses the US-type symbol key setup (recommended!) as it is nearly an intl. standard.
// For Slovak, necessary local letters are added to designated flexible spots in the layout.
partial alphanumeric_keys
xkb_symbols "cmk_ed_us" {
include "colemak(cmk_ed_letters)"
include "colemak(cmk_ed_symbols)"
include "level3(ralt_switch)"
name[Group1]= "Slovak (Colemak[eD], unified symbols)";
// NEEDED: Acute a/e/i/l/r/u/y, caron c/e*/l/r*/s/z, stroke Dd/Ll, ocircumflex, adiaeresis, uring*.
// NOTE: Slovak `ä ľ ĺ ŕ ô` are not in Czech; Czech(*) `ě ř ů` are not in Slovak. Some may need both sets.
// NOTE: Many users have ANSI-type keyboards without an <LSGT> key. They may have to work around this limitation using lv3-4 of other keys.
key <LSGT> { [ ocircumflex, Ocircumflex, adiaeresis, Adiaeresis ] }; // from <AC10>
key <AD11> { [ dead_acute, dead_acute, bracketleft, braceleft ] }; // from <AE12>
key <AD12> { [ dead_caron, dead_caron, bracketright, braceright ] }; // from <AE12>
};
// <--<< DreymaR: Additions to xkb/symbols/sk