// 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, dollar, 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 { [ space, space, singlelowquotemark, doublelowquotemark ] };
key { [ space, space, leftsinglequotemark, leftdoublequotemark ] };
};
partial
xkb_symbols "coding" {
include "mango(basic)"
name[Group1] = "Mango (Coding)";
key { [ dollar, 4, EuroSign, EuroSign ] };
key { [ NoSymbol, NoSymbol, EuroSign, EuroSign ] };
key { [ space, space, nobreakspace, nobreakspace ] };
};