Skip to content
Tech News
← Back to articles

A key remapping daemon for Linux

read original get Karabiner-Elements → more articles
Why This Matters

keyd is a powerful, flexible daemon that addresses the longstanding challenge of key remapping on Linux, offering system-wide, kernel-level remapping capabilities. Its modular design, support for custom layers, and compatibility across different display servers make it a significant advancement for users seeking personalized keyboard configurations. This development enhances user productivity and customization, especially for power users and developers who require tailored input setups.

Key Takeaways

Impetus

Linux lacks a good key remapping solution. In order to achieve satisfactory results a medley of tools need to be employed (e.g xcape, xmodmap) with the end result often being tethered to a specified environment (X11). keyd attempts to solve this problem by providing a flexible system wide daemon which remaps keys using kernel level input primitives (evdev, uinput).

Note on v2

The config format has undergone several iterations since the first release. For those migrating their configs from v1 it is best to reread the man page ( man keyd ).

See also: changelog.

Goals

Speed (a hand tuned input loop written in C that takes <<1ms)

Simplicity (a config format that is intuitive)

Consistency (modifiers that play nicely with layers by default)

Modularity (a UNIXy core extensible through the use of an IPC mechanism)

... continue reading