This script notably helps to install a new ruleset within the only file that actually gets parsed by the system to list the available layouts.
Once the binanry gets properly installed (from a binary on the release page)
xkb-install -h
Meanwhile to quickly iterate and test it, here's an example
go run . -S fr -V optimot_ergo -d "French (Optimot, clavier Ergo)" --compose=./Optimot-Compose.txt ./Optimot-Ergo.xkb
# Alternatively
xkb-install -S fr -V optimot_ergo -d "French (Optimot, clavier Ergo)" --compose=./Optimot-Compose.txt ./Optimot-Ergo.xkb
The Optimot-Ergo.xkb
file is expected to have symbol data about the variant like
xkb_symbols "optimot_ergo" {
...
};
- Idempotent
- Makes a layout available in system dropdowns
Extra details:
- [-] Install an extra
XkbSymbols
table in the/usr/share/X11/xkb/symbols/XX
file - Add extra variants in the
evdev.lst
file under theXX
symbol - Add extra variants in the
evdev.xml
file under theXX
layout/symbol- edit the XML file in tree
- backup the old file with a timestamp
- write the new file after getting sudo rights
- Install an optional
.Xcompose
file in the home of$USER