Kanata: advanced keyboard configuration
+2023/01/20 + +linux + +logitech + +keyboard + +layout + +rust + + + +Kanata is a software keyboard remapper that aims to improve keyboard comfort and usability with advanced customization. +Keyboard remappers are a good alternative to running a custom keyboard with QMK/ZMK, and have two main advantages: they work on any keyboard, and you can configure them to launch any command or program you want, not just key presses. +On the other hand, you need to configure them on every PC/OS you’re using your keyboard with, and all the processing is done on software on top of the OS, so there may be glitches and performance issues.
+The project was inspired by the more popular KMonad, and the author cites some of the differences. +Both projects use a very similar configuration format based on lisp. +The configuration consists of a set of general options, a base key configuration, a series of layers, and macros that can be used within those layers. +Here’s a very complete config that serves as documentation.
+One big disadvantage of the lispy configuration is that you need to specify your hardware layout/all your keys, and repeat that every time you define a new layer. +The result visually maps to your keyboard, but can be very verbose/big if you need really few changes.
+Keyd is another alternative with a more declarative configuration format, which might lend itself to smaller.
+For now I’m just trying it out, and getting a feel for using fewer keys before I build my own ZMK keyboard. +I particularly like the option of using mod-keys on the home row (e.g., having A work as a CTRL when held). +Mod-tap, tap-dancing and the like are very common techniques in sub-40% layouts, where there simply aren’t enough keys for all the letters and symbols. +In a regular-sized keyboard, these techniques can also help you stay on the home row and type more comfortably. +At least, that’s the idea. +We’ll see if I like it enough to stick with it.
+For now, here’s my very simple config:
+
+
|
+
+
|