Keyd — Keyboard Re-Mapping
Linux
Keyboard
keyd 1 …key remapping daemon for Linux
- …enables the configuration of keyboard layers
- …similar to keyboard firmware like QMK
- …independent of any specific keyboard model or keyboard firmware
- …no requirement to flash keyboard firmware
- …independent of any specific GUI like X11 or Wayland
- …common system-wide configuration …including the console
- Alternative
keymapper2
Installation
| File | Description |
|---|---|
keyd-install 3 |
Script to build & install keyd |
Manual …from source code:
pushd $(mktemp -d /tmp/$USER-keyd-XXXXXX)
git clone https://github.com/rvaiya/keyd && cd keyd
make && sudo make install
sudo systemctl enable --now keyd
popd
rm -rf /tmp/$USER-keyd-* - …read the log file
sudo journalctl -eu keyd - …configuration in
/etc/keydand/usr/share/keyd - …executables
keyd*in/usr/bin - …documentation
/usr/share/doc/keyd
Configuration
Special key sequence backspace+escape+enter should cause keyd to terminate
| File | Description |
|---|---|
keyd.sh 4 |
Script to configure keyd |
default.conf 5 |
keyd configuration file |
Configuration in /etc/keyd/default.conf
- …
sudo systemctl reload keydafter changes… - …use capslock to access a dedicated layer on the keyboard
- …bring back function keys not present on keyboards smaller then 75%
- …make backtick and tilde more accessible close to the home row
[ids]
*
[main]
capslock = layer(capslock)
[capslock:C]
# function keys missing on small keyboards
1 = f1
2 = f2
3 = f3
4 = f4
5 = f5
6 = f6
7 = f7
8 = f8
9 = f9
0 = f10
- = f11
= = f12
# vim-style arrow keys
h = left
j = down
k = up
l = right
# typically inconvenient
space = backspace
q = ~
w = `
e = \
r = |
# copy&paste in Linux terminals
d = C-S-c
f = C-S-vFootnotes
keydSource Code, GitHub
https://github.com/rvaiya/keyd↩︎keymapper, GitHub
https://github.com/houmain/keymapper↩︎keyd-installbuild & install script, GitHub
https://github.com/vpenso/scripts/blob/master/bin/keyd-install↩︎Script to configure
keyd, GitHub
https://github.com/vpenso/scripts/blob/master/var/aliases/keyd.sh↩︎keydconfiguration file, GitHub
https://github.com/vpenso/scripts/blob/master/etc/keyd/default.conf↩︎