We recently introduced an industry-first feature called Smart Layers. This is a feature in Keymapp that allows you to change your currently active layer when an app or game becomes active on your screen.

Smart Layers has been a game-changer for many people — and now, with Kontroll, it's time to take it to the next level.

Kontroll is an open-source command-line tool available for Windows, macOS and Linux. It plugs into Keymapp (version 1.3.0 and above) and allows you to control your keyboard using the command line or scripts. Kontroll is opt-in: You must explicitly enable Kontroll support in Keymapp for Kontroll to work, and Keymapp needs to be running in the background.

Here's what it looks like:


Kontroll is for power users

If you got this far in the blog post and your eyes lit up thinking about all the things you could do, Kontroll is likely for you. It is for technical users who wish they could control their ZSA keyboards via scripts and other system automation facilities. Some of the things Kontroll lets you do:

  • Change the keyboard's active layer, just like Smart Layers. This means you can have Smart Layers functionality in Linux.
  • Dim the keyboard's lighting when it gets late in the day, or to correspond with your display brightness if you have a hook into that.
  • Light up a key in red when an email from your boss comes in.
  • Flash a key when someone subscribes to your YouTube channel.
  • Gradually light up a series of keys when you increase the audio volume of your computer, so that the keyboard gets a "volume indicator".

These are just some random ideas. What you can do depends on how you trigger Kontroll, and that depends on your operating system, installed software, and how handy you are at scripting/automating things.


All features of Kontroll work on the Moonlander and the Voyager. Only some features work on the ErgoDox EZ, since that board has a different processor (Teensy). You're able to use Kontroll to switch layers (which is really the crucial bit) and to set the status LEDs, but you will not be able to control the RGB LEDs of the ErgoDox EZ.

Why did we open source it

Three main reasons:

  1. It is a reference implementation for the Keymapp API. Kontroll is MIT-licensed. This means you can re-implement some or all API calls in your own software, in any other language.

  2. Kontroll is simple and easy to audit. If you just wanted to read through the code to understand exactly what it does, you can.

  3. Like just about anything in this life (yes, even Apple devices and ice cream) Kontroll is not perfect. We will be accepting and reviewing PRs, so if you find bugs and issues, or if you have enhancements to contribute, please go right ahead.

Where to get Kontroll

Kontroll is available from the project's GitHub Releases page.

Requirements and how to enable Kontroll

Kontroll system requirements:

  • Keymapp version 1.3.0 or higher needs to be running on your computer.
  • Your keyboard needs to be flashed with firmware compiled on Oryx at some point after today (meaning, older firmware will just have to be recompiled — you don't have to change anything, just Modify and Compile).
  • You need to explicitly turn on Keymapp's API endpoint in the settings, like so:
Enabling Keymapp's API
Enabling Keymapp's API

Your turn

I can't wait to see what you'll do with Kontroll. Email us your cool use cases and demos, [email protected]. Thank you for reading!