keyboard QMK/VIA (keyd) ⌨️

Means keyboard firmware can be controlled and customized through the VIA app without reflashing firmware every time. - chatgpt

# 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.

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 down

It 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 = pause

and apply

$ sudo systemctl restart keyd
or
$ sudo keyd reload

Keyd logs can be inspected by

$ sudo journalctl -u keyd -b
logs 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 ⮺

Written on May 10, 2026, Last update on July 4, 2026
keyboard config