whatisgithub

What is komokana?

lgug2z/komokana — explained in plain English

Analysis updated 2026-08-04 · repo last pushed 2026-06-22

215RustAudience · ops devopsComplexity · 2/5MaintainedLicenseSetup · moderate

In one sentence

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.

Mindmap

mindmap
  root((repo))
    What it does
      Auto switches keyboard layout
      Detects focused window
      Sends layer to kanata
    How it works
      Listens to komorebi signals
      Matches app to config rules
      Handles window title overrides
    Use cases
      Browsing layer for Firefox
      Vim layer for terminal
      Standard layer for Slack
    Audience
      Power keyboard users
      komorebi and kanata users
    License
      Personal use allowed
      No commercial use

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Automatically switch to a web navigation keyboard layer when Firefox is focused.

USE CASE 2

Use a dedicated Vim editing layer in your terminal without manual toggling.

USE CASE 3

Set a standard typing layer when specific window titles like Slack are detected.

USE CASE 4

Tie custom kanata keyboard layers to specific application executables via config rules.

What is it built with?

RustWindowskomorebikanata

How does it compare?

lgug2z/komokanadavidpdrsn/axum-live-viewevokoa/pggraph
Stars215214210
LanguageRustRustRust
Last pushed2026-06-222024-03-27
MaintenanceMaintainedDormant
Setup difficultymoderatemoderatemoderate
Complexity2/53/54/5
Audienceops devopsdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires both komorebi and kanata to already be installed and running on your Windows system.

Free for personal use and contributions, but commercial use is prohibited.

So what is it?

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.

Copy-paste prompts

Prompt 1
I use komorebi and kanata on Windows. How do I configure komokana so that my Firefox windows use a specific kanata layer?
Prompt 2
Help me set up komokana with a rule that switches to my Vim layer when a terminal is focused, but falls back to a standard layer when Alt is held down.
Prompt 3
How do I configure komokana to use a different keyboard layer based on window title, so a Slack tab in Firefox switches to my normal typing layer?
Prompt 4
Walk me through the komokana setup process including how it connects to komorebi for window focus events and kanata for layer switching.

Frequently asked questions

What is komokana?

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.

What language is komokana written in?

Mainly Rust. The stack also includes Rust, Windows, komorebi.

Is komokana actively maintained?

Maintained — commit in last 6 months (last push 2026-06-22).

What license does komokana use?

Free for personal use and contributions, but commercial use is prohibited.

How hard is komokana to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is komokana for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.