Installing on Linux

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.

Follow these instructions

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.

Uninstalling

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

Updating

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.


← Back