From 8a09434385b8ab02b5310920e16048bb6e170792 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 23 Aug 2023 06:47:44 +0300 Subject: xkb: Add my custom keyboard layouts --- .xkb/symbols/mango | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 .xkb/symbols/mango 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 { [ exclam, 1, exclam, 1 ] }; + key { [ at, 2, at, 2 ] }; + key { [ numbersign, 3, numbersign, 3 ] }; + key { [ EuroSign, 4, EuroSign, 4 ] }; + key { [ percent, 5, dollar, 5 ] }; + key { [ asciicircum, 6, asciicircum, 6 ] }; + key { [ ampersand, 7, ampersand, 7 ] }; + key { [ asterisk, 8, asterisk, 8 ] }; + key { [ parenleft, 9, parenleft, 9 ] }; + key { [ parenright, 0, parenright, 0 ] }; + key { [ minus, underscore, endash, emdash ] }; + + key { [ e, E, eacute, Eacute ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, U0133, U0132 ] }; // ij and IJ + key { [ o, O, odiaeresis, Odiaeresis ] }; + + key { [ a, A, adiaeresis, Adiaeresis ] }; + key { [ s, S, ssharp, U1E9E ] }; // ẞ + key { [ semicolon, colon, leftsinglequotemark, leftdoublequotemark ] }; + key { [ apostrophe, quotedbl, rightsinglequotemark, rightdoublequotemark ] }; + + key { [ c, C, cent ] }; + key { [ comma, less, rightsinglequotemark ] }; + key { [ period, greater, ellipsis ] }; + + replace key { [ Meta_L ] }; // For Emacs +}; + +partial +xkb_symbols "german" { + include "mango(basic)" + name[Group1] = "Mango (German)"; + + key { [ NoSymbol, NoSymbol, singlelowquotemark, doublelowquotemark ] }; + key { [ NoSymbol, NoSymbol, leftsinglequotemark, leftdoublequotemark ] }; +}; + +partial +xkb_symbols "coding" { + include "mango(basic)" + name[Group1] = "Mango (Coding)"; + + key { [ dollar, NoSymbol, EuroSign, NoSymbol ] }; + key { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; + + key { [ space, NoSymbol, nobreakspace, NoSymbol ] }; // NO-BREAK SPACE +}; -- cgit v1.2.3