// 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 };