Skip to content
Julien de Magalhaes
All projects
ToolLive2026

KBoard Companion

Per-program key remaps, macros and lighting for Keychron keyboards on Windows

KBoard Companion's Lighting tab: a drawn Keychron V6 8K keyboard glowing in a rainbow Mix RGB effect, with the profile list on the left and lighting controls below.

The problem

Corsair iCUE and Logitech G Hub switch keyboard profiles when you change games; Keychron's QMK keyboards had nothing like it. Their configuration tools save one keymap and one lighting setup to the keyboard, and that is it. I wanted my remaps, macros and lighting to follow whatever program is in front.

What I built

A Tauri 2 desktop app with a Rust core and a React interface. It watches the focused window, picks the most specific matching profile (file name, path, folder or window title) and sends it to the keyboard. To make that possible I wrote a small firmware module in C that plugs into Keychron's QMK firmware and accepts remaps, macros and per-key colours over Raw HID, held in RAM only. The app draws the exact keyboard model, edits every layer and the knob, records macros with or without timing, layers lighting like an image editor, and includes a key tester. One click installs a ready-made firmware for your model; an advanced mode gives you a keymap editor that builds and flashes your own.

Technical challenges

  • A wire protocol of my own. App and keyboard speak a versioned protocol, so the app can tell when the keyboard runs an older module and say so.
  • Flashing safely. Before every flash the app reads the current firmware into a backup, and a flash interrupted halfway can always be retried from the chip's read-only bootloader.
  • Lighting that stays put. Keychron's firmware reloads its saved colours when the effect changes or the lighting wakes; the module restores each profile's colour and speed instead.
  • Testing without hardware. The firmware module has host-side C tests, and the interface runs in a browser against a pretend keyboard.

Outcome

Version 1.1.0 is released on GitHub under GPL-3.0, with signed auto-updates. It has been tested on a Keychron V6 8K ISO; the other 270 models are mapped and waiting for testers.

  • KBoard Companion's Lighting tab: a drawn Keychron V6 8K keyboard glowing in a rainbow Mix RGB effect, with the profile list on the left and lighting controls below.
  • KBoard Companion's Keys tab: the keyboard's layers as tabs above a drawn AZERTY keyboard, with panels for remapped keys, key details and the profile's settings.
  • KBoard Companion's Firmware mode: a firmware project with its keymap files, Test build and Flash buttons, and a keyboard status list showing every flashing step completed.