keyboard QMK/VIA (keyd) ⌨️
Means keyboard firmware can be controlled and customized through the VIA app without reflashing firmware every time. - chatgpt
- Maximiser votre productivité en rendant votre clavier 2.0 ergonomique
- Feature de customisation du clavier
- ergol.org
- Kanata et Arsenik
- disposition
- qwerty-lafayette (cheapest move)
- ergo-L
Alternatively
configure key event directly on linux
# keyd ⮺
keyd has several unique features many of which are traditionally only found in custom keyboard firmware like QMK as well as some which are unique to keyd.
- Linux Keyboard Configuration with Keyd
- you can have one config file for each physical keyboard
- man
- how to import a layout (azerty) ?
keyd is for people who:
- Want to have multiple keyboards with different layouts on the same machine.
- want to launch program with a simple key eg:
[f12 = command(firefox)](https://chatgpt.com/share/6a0e160f-bbd4-83eb-8bf1-b9c6ff64615e)
# Kb Identify
To identify the keyboard
$ sudo keyd monitor
USB Composite Device Keyboard 1189:8840:fdb5dd54 a downIt can then be used to have a specific config for that keyboard
sudo micro /etc/keyd/default.conf
keyd config
[ids]
1189:8840
[main]
i = C-play
j = play
k = playpause
l = pauseand apply
$ sudo systemctl restart keyd
or
$ sudo keyd reloadKeyd logs can be inspected by
$ sudo journalctl -u keyd -blogs example
juil. 25 09:44:43 yves-pocket systemd[1]: keyd.service: Main process exited, code=exited, status=15/n/a
juil. 25 09:44:43 yves-pocket systemd[1]: keyd.service: Failed with result 'exit-code'.
juil. 25 09:44:43 yves-pocket systemd[1]: Stopped keyd.service - key remapping daemon.
juil. 25 09:44:43 yves-pocket systemd[1]: keyd.service: Consumed 216ms CPU time over 5min 26.739s wall clock time, >
juil. 25 09:44:43 yves-pocket systemd[1]: Started keyd.service - key remapping daemon.
juil. 25 09:44:43 yves-pocket keyd[31062]: CONFIG: parsing /etc/keyd/native.conf
juil. 25 09:44:43 yves-pocket keyd[31062]: WARNING: /etc/keyd/native.conf:9: You should use layer(control) >
juil. 25 09:44:43 yves-pocket keyd[31062]: CONFIG: parsing /etc/keyd/jellycomb.conf
juil. 25 09:44:43 yves-pocket keyd[31062]: Starting keyd v2.6.0 (f564288)
juil. 25 09:44:43 yves-pocket keyd[31062]: DEVICE: ignoring 062a:4102:fd440bee (MOSART Semi. 2.4G Wireless Mouse C>
juil. 25 09:44:43 yves-pocket keyd[31062]: DEVICE: ignoring 062a:4102:160eb82b (MOSART Semi. 2.4G Wireless Mouse)
juil. 25 09:44:43 yves-pocket keyd[31062]: DEVICE: ignoring 25a7:fa23:6b55f79f (Compx 2.4G Receiver System Control)
juil. 25 09:44:43 yves-pocket keyd[31062]: DEVICE: ignoring 25a7:fa23:149e98b0 (Compx 2.4G Receiver Consumer Contr>
juil. 25 09:44:43 yves-pocket keyd[31062]: DEVICE: ignoring 25a7:fa23:dc9a6987 (Compx 2.4G Receiver Mouse)
juil. 25 09:44:43 yves-pocket keyd[31062]: DEVICE: match 25a7:fa23:b3402519 /etc/keyd/jellycomb.conf (Co># Media Keys ⮺
play record - may not be recognised pause playpause next prev volumeup volumedown mute
# Layout ⮺
ex: external AZERTY keyboard for pocket 3
# /etc/keyd/azerty.conf
[ids]
25a7:fa23:b3402519
include layouts/fr
[global]
default_layout = fr
[main]# Kanata ⮺
- Keyd vs Kanata
- support chord
Written on May 10, 2026, Last update on July 4, 2026
keyboard
config