Hacker News new | ask | show | jobs
by goku12 500 days ago
On Linux, it completely captures your physical keyboard (meaning it doesn't work for other applications anymore) and creates a virtual keyboard using the uinput kernel module [1]. The configuration is for how the keys on the physical keyboard maps to the virtual keyboard.

It should be able to do whatever you suggest. But it can be a lot of configuration. I use 3 different layouts in 2 languages and that will be too much to configure manually. Instead, I just use 2 layers that are mostly just pass-through (they just pass the keystrokes to the native xkb layout). Layer1 is entirely pass-through except for a single tap-dance key to switch to layer 2. Layer2 has some additional features like home-row-mods that are not possible with plain xkb. The keyboard layouts are managed by xkb. Thus I'm able to use the features of both xkb and kanata.

[1] https://www.kernel.org/doc/html/v4.12/input/uinput.html