Translation: esperanto, 中文, español, العربية, português, русский, bahasa, türkçe, български
I am not an expert in installing keyboard layouts, these instructions may not work for all Linux users.
1. First, backup some files by running these commands:
cp /usr/share/X11/xkb/symbols/epo /usr/share/X11/xkb/symbols/epo.old
cp /usr/share/X11/xkb/rules/evdev.xml /usr/share/X11/xkb/rules/evdev.xml.old
If you get an error, first run this command: su root
, then try running the commands again, or replace cp
with sudo cp
.
2. Open file /usr/share/X11/xkb/symbols/epo
and append the following text block at the end of the file:
// homepage: salif.github.io/colemak-eo
// version: 1
partial alphanumeric_keys
xkb_symbols "colemak_eo" {
include "us(colemak)"
name[Group1]= "Esperanto (Colemak)";
key <AD01> {[ jcircumflex, Jcircumflex, q, Q ]};
key <AD02> {[ scircumflex, Scircumflex, w, W ]};
key <AD09> {[ ubreve, Ubreve, y, Y ]};
key <AD11> {[ gcircumflex, Gcircumflex, bracketleft, braceleft ]};
key <AD12> {[ hcircumflex, Hcircumflex, bracketright, braceright ]};
key <AB02> {[ ccircumflex, Ccircumflex, x, X ]};
include "level3(ralt_switch)"
};
3. Open file /usr/share/X11/xkb/rules/evdev.xml
and insert the following text block after the variant Esperanto (legacy)
:
<variant>
<configItem>
<name>colemak_eo</name>
<description>Esperanto (Colemak)</description>
</configItem>
</variant>
4. Then add Esperanto (Colemak)
via the settings of your desktop environment.
To uninstall restore the old files or undo everything you did:
mv /usr/share/X11/xkb/symbols/epo.old /usr/share/X11/xkb/symbols/epo
mv /usr/share/X11/xkb/rules/evdev.xml.old /usr/share/X11/xkb/rules/evdev.xml
Uninstall the old version and install the new version.
Changes you make to files in the /usr/share/X11/xkb
directory will be lost when the package owning that directory is updated, for example on Arch Linux this package is called xkeyboard-config
. You must either make the same changes every time you update this package or turn off updates for this package. You also have the option to make a custom package that contains these changes and replaces the original package.