Analysis updated 2026-08-04 · repo last pushed 2026-06-22
Automatically switch to a web navigation keyboard layer when Firefox is focused.
Use a dedicated Vim editing layer in your terminal without manual toggling.
Set a standard typing layer when specific window titles like Slack are detected.
Tie custom kanata keyboard layers to specific application executables via config rules.
| lgug2z/komokana | davidpdrsn/axum-live-view | evokoa/pggraph | |
|---|---|---|---|
| Stars | 215 | 214 | 210 |
| Language | Rust | Rust | Rust |
| Last pushed | 2026-06-22 | 2024-03-27 | — |
| Maintenance | Maintained | Dormant | — |
| Setup difficulty | moderate | moderate | moderate |
| Complexity | 2/5 | 3/5 | 4/5 |
| Audience | ops devops | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires both komorebi and kanata to already be installed and running on your Windows system.
Komokana is a Windows utility that automatically switches your keyboard layout depending on which application you're currently using. If you've ever set up custom keyboard layers, say, a special layout for web browsing or text editing, this tool handles the switching for you. Instead of manually toggling layers when you alt-tab from your browser to your code editor, it detects the change and applies the right layer automatically. It works as a bridge between two other programs: komorebi, a Windows window manager, and kanata, a keyboard customization tool. Komokana listens for signals from komorebi about which window is currently focused, then sends a message to kanata telling it to switch to the matching keyboard layer. You set the rules in a configuration file, for example, you can say "whenever Firefox is in focus, use my browsing layer." It can also handle exceptions based on window titles, so if you have a Slack tab open in Firefox, it can switch back to a standard typing layer instead. This is for power users who already use both komorebi and kanata and want to tie their custom keyboard layers to specific apps. A concrete example: you might have a layer where holding the "f" key acts as a modifier for web navigation, but you want a different layer when you're in a terminal using Vim, where holding "j" needs to scroll without interference. You define which application executables map to which layers, and the tool handles the rest. One notable aspect is the configuration flexibility. Beyond simple app-to-layer mapping, you can set overrides based on window titles or whether certain keys like Alt are held down, which adds nuance to what would otherwise be blunt switching rules. The project is written in Rust and licensed under a custom license that allows personal use and contributions but prohibits commercial use.
A Windows utility that automatically switches your custom keyboard layout based on which app you're using, acting as a bridge between the komorebi window manager and the kanata keyboard tool.
Mainly Rust. The stack also includes Rust, Windows, komorebi.
Maintained — commit in last 6 months (last push 2026-06-22).
Free for personal use and contributions, but commercial use is prohibited.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.