This is probably the joint most important piece of software on my system next to my window manager.<p>The elevator pitch I give for this software is "QMK for any keyboard" - you can use layers, tap dance etc. with regular keyboards that have programming symbols in sane locations with dedicated keys.<p>I use this with a Logitech Ergo K860, and have taken it a step further to integrate with my window manager so that layers change automatically based on the focused application[1].<p>[1]: <a href="https://github.com/LGUG2Z/komokana">https://github.com/LGUG2Z/komokana</a>
Multi platform is an awesome quality for a tool like that: when you do have a customization like that, it's a huge value-loss when it can't be passed on across system boundaries.<p>That being said, this appears to be an active mapper that needs to be running in the background. Classic "with great power comes great responsibility". I'd rather have something less powerful that only offers the customizations that can be loaded into the native keyboard mapping engines. On Windows, I am extremely happy with a few tweaks I've built with Microsoft Keyboard Layout Creator (MSKLC). Mostly removing some of the worst pain points of my home language layout (German) that drive many of my compatriots to using an English layout (basically what nodeadkeys does on Linux, but with a few improvements like opting in to dead keys behavior with altgr+’). Would be super awesome to have a UI for setting up that kind of mapping that can output configurations for the native mapping mechanism across a range of platforms. And that only offers mappings that can be configured using the native system on all platforms supported, the intersection of capabilities.
I'd also recommend checking out <a href="https://github.com/houmain/keymapper">https://github.com/houmain/keymapper</a> if you're interested in context aware remaps (based on OS, application, device). It's cross-platform as well.<p>Keymapper was posted here ~10 days ago <a href="https://news.ycombinator.com/item?id=42871040">https://news.ycombinator.com/item?id=42871040</a>, but the link received relatively little attention, so I assume it might have been missed by many.<p>Disclaimer: I'm active on the issue threads and a big fan. :)
Kanata is amazing ! i'm using it right now. it can do many things like making a key a dual-function key (a letter on tap, a modifier on hold) and so much more<p>it recently got a new chording feature where you can press a whole bunch of keys at once (or just two if you'd like) and something will happen. like, you could press the letters q and n at the same time and program Kanata to send the word question or some macro like a hotkey or a series of hotkeys and strings. it's all up to you. i have a QMK board, but because Kanata has many more features and isn't limited to the memory of its chip, i use Kanata instead of QMK to architect my layout, complete with multiple layers and many QoL niceties
I am interested in hearing how people use this level of customisation in their workflow, whether it is through this particular tool or by configuring at the keyboard firmware level. This is a new paradigm for me.
I just tried reading the documentation and I have no idea what I’m supposed to do. I have a bunch of keyboards that won’t let me use the F keys as standard f keys (only lets me use them as multimedia keys) unless I hold the keyboards fn key. Karabiner is set to “use f keys as standard f keys” and it still doesn’t work. Anyone know how I might use kanata to use F1, F2…etc without holding the keyboards fn key?
This looks like a potential great tool but it needs a better summary of what it can do and how it works. I can't quite grasp it from the readme.<p>I use a mix of setxkbmap to remap the control key and AutoKey but each has its issues.
Can this replace those?
I've remapped my capslock to 'tap-dance' between esc (short press) and ctrl (long press) using kanata. And, like any other people here, it's indispensable tool in my workflow right now.<p>Also recently, I've remapped my siblings laptop meta and rctrl key to lalt and meta respectively because the original alt key got damaged. Thanks jtroo for creating this you rocks!
Yesterday I installed Karabiner Elements to get a jk chord mapped to escape globally. I’m a bit disappointed it’s not actually a chord, it’s a simultaneous press with a 100ms window.<p>Does Kanata support chords like jk to escape with a configurable timeout on when k is pressed, say 80ms or so?