1 2 3 4 5 6 | // Mandatory to extend the ! include %S/evdev ! option = symbols cweiske:kinesis = +cweiske(kinesis) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xkbConfigRegistry SYSTEM "xkb.dtd"> <xkbConfigRegistry version="1.1"> <layoutList> <layout> <configItem> <name>cweiske</name> <shortDescription>cweiske kinesis</shortDescription> <description>cweiske (English intl., with AltGr dead keys)</description> <countryList> <iso3166Id>US</iso3166Id> <iso3166Id>DE</iso3166Id> </countryList> <languageList> <iso639Id>eng</iso639Id> <iso639Id>deu</iso639Id> </languageList> </configItem> </layout> </layoutList> </xkbConfigRegistry> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | partial alphanumeric_keys
xkb_symbols "kinesis" {
include "pc+us(altgr-intl)+inet(evdev)"
name[Group1] = "cweiske (English intl., with AltGr dead keys)";
key <AC01> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ a, A, adiaeresis, Adiaeresis ]
};
key <AD03> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ e, E, EuroSign, EuroSign ]
};
key <AD07> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ u, U, udiaeresis, Udiaeresis ]
};
key <AD09> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ o, O, odiaeresis, Odiaeresis ]
};
};
|
https://xkbcommon.org/doc/current/user-configuration.html
https://xkbcommon.org/doc/current/debugging.html
https://p.cweiske.de/678
https://www.mkammerer.de/blog/custom-keyboard-layouts-in-cinnamon/
https://codeaffen.org/2023/09/16/custom-keyboard-layouts-with-xkb/
áóúé
Englisch (International, mit AltGr-Akzenttasten)
/var/lib/dpkg/info/keyboard-configuration.config
de*variant*us*altgr-intl*English (USA) - Englisch (International, mit AltGr-Akzenttasten)
/usr/share/X11/xkb/symbols/pc
partial alphanumeric_keys modifier_keys
xkb_symbols "hyper" {
name[Group1]= "Hyper (US)";
include "us(basic)"
key <PRSC> { [ Hyper_L ] };
modifier_map Mod3 { <PRSC> };
};
l$ setxkbmap -query
rules: evdev
model: pc105
layout: us
variant: altgr-intl
/.config/xkb/symbol/us
partial
xkb_symbols "pc+us(altgr-intl)+inet(evdev)" {
include "pc+us(altgr-intl)+inet(evdev)"
key <AD03> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ e, E, EuroSign, EuroSign ]
};
key <AC01> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ a, A, ae, AE ]
};
key <AD07> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ u, U, ue, UE ]
};
key <AD09> {
type= "FOUR_LEVEL_ALPHABETIC",
symbols[Group1]= [ o, O, oe, OE ]
};
}
tail -f ~/.xsession-errors
xkbcli compile-keymap --include ~/.config/xkb --include-defaults --layout custom|less
xkbcli list
compilation errors:
root@gpc-rom:/home/cweiske/.config/xkb# xkbcli interactive-evdev --include /home/cweiske/.config/xkb --include-defaults --layout 'us(cweiske)'
udevadm trigger --subsystem-match=input --action=change
emacs /usr/share/X11/xkb/rules/evdev.xml
root@gpc-rom:/usr/share/X11/xkb/symbols# ln -s /home/cweiske/.config/xkb/symbols/cweiske .
cweiske@gpc-rom:~$ tail -f ~/.xsession-errors
Error: Can't find file "cweiske" for symbols include
Exiting
Abandoning symbols file "(null)"
(csd-keyboard:447450): csd-keyboard-WARNING **: 13:28:46.817: Could not activate the XKB configuration
Error: Can't find file "cweiske" for symbols include
Exiting
Abandoning symbols file "(null)"
(csd-keyboard:447450): csd-keyboard-WARNING **: 13:29:24.217: Could not activate the XKB configuration
-> symlink