diff options
author | Thomas Voss <mail@thomasvoss.com> | 2023-08-23 06:47:44 +0300 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2023-08-23 06:47:44 +0300 |
commit | 8a09434385b8ab02b5310920e16048bb6e170792 (patch) | |
tree | 6a89903fe8e10ae9dc62290f7a62c09ba7b4be27 /.xkb | |
parent | 0487ed26f115e4b6a565302e457cd74894681090 (diff) |
xkb: Add my custom keyboard layouts
Diffstat (limited to '.xkb')
-rw-r--r-- | .xkb/symbols/mango | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/.xkb/symbols/mango b/.xkb/symbols/mango new file mode 100644 index 0000000..3a32c18 --- /dev/null +++ b/.xkb/symbols/mango @@ -0,0 +1,55 @@ +// https://www.charvolant.org/doug/xkb/html/img3.png +// https://cgit.freedesktop.org/xorg/proto/x11proto/tree/keysymdef.h +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + include "us(basic)" + name[Group1] = "Mango"; + + key <AE01> { [ exclam, 1, exclam, 1 ] }; + key <AE02> { [ at, 2, at, 2 ] }; + key <AE03> { [ numbersign, 3, numbersign, 3 ] }; + key <AE04> { [ EuroSign, 4, EuroSign, 4 ] }; + key <AE05> { [ percent, 5, dollar, 5 ] }; + key <AE06> { [ asciicircum, 6, asciicircum, 6 ] }; + key <AE07> { [ ampersand, 7, ampersand, 7 ] }; + key <AE08> { [ asterisk, 8, asterisk, 8 ] }; + key <AE09> { [ parenleft, 9, parenleft, 9 ] }; + key <AE10> { [ parenright, 0, parenright, 0 ] }; + key <AE11> { [ minus, underscore, endash, emdash ] }; + + key <AD03> { [ e, E, eacute, Eacute ] }; + key <AD07> { [ u, U, udiaeresis, Udiaeresis ] }; + key <AD08> { [ i, I, U0133, U0132 ] }; // ij and IJ + key <AD09> { [ o, O, odiaeresis, Odiaeresis ] }; + + key <AC01> { [ a, A, adiaeresis, Adiaeresis ] }; + key <AC02> { [ s, S, ssharp, U1E9E ] }; // ẞ + key <AC10> { [ semicolon, colon, leftsinglequotemark, leftdoublequotemark ] }; + key <AC11> { [ apostrophe, quotedbl, rightsinglequotemark, rightdoublequotemark ] }; + + key <AB03> { [ c, C, cent ] }; + key <AB08> { [ comma, less, rightsinglequotemark ] }; + key <AB09> { [ period, greater, ellipsis ] }; + + replace key <RCTL> { [ Meta_L ] }; // For Emacs +}; + +partial +xkb_symbols "german" { + include "mango(basic)" + name[Group1] = "Mango (German)"; + + key <AC10> { [ NoSymbol, NoSymbol, singlelowquotemark, doublelowquotemark ] }; + key <AC11> { [ NoSymbol, NoSymbol, leftsinglequotemark, leftdoublequotemark ] }; +}; + +partial +xkb_symbols "coding" { + include "mango(basic)" + name[Group1] = "Mango (Coding)"; + + key <AE04> { [ dollar, NoSymbol, EuroSign, NoSymbol ] }; + key <AE05> { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; + + key <SPCE> { [ space, NoSymbol, nobreakspace, NoSymbol ] }; // NO-BREAK SPACE +}; |