Dark desktop app showing an 84-key keyboard drawing with the E key highlighted in blue, a selected-key panel on the left and a grid of letter keys to assign on the right

Desktop appSolo designer and engineerDrawing 45 of 47

Keyboard
Editor

A desktop app I wrote to remap my own keyboard. It finds the board over USB, lets you change any key on four layers, and keeps your keymap safe even if the keyboard gets reset.

Sheet 02 of 07/Why

One app for one keyboard

My second keyboard runs QMK with VIA. This app is built for that one board: it finds the keyboard on its own when you plug it in, and runs on Mac and Windows.

The same app on the Fn layer, where the top row reads F1 to F12, most other keys show a same-as-base triangle, and a media panel lists brightness, Mission Control, Spotlight, Dictation and playback keys
PL 02The Fn layer holds the Mac row, F1 to F12, and the Dictation key I added to the firmware.

Sheet 03 of 07/Remap

Changing a key

Click a key on the drawing, then pick what it should do from the list, or press "Press to assign" and hit the key you want. Control, Option, Shift and Command can be held together with it.

The editor with E selected on the base layer and a blue Press a key now button active, above the full grid of letter keys
PL 03Press to assign: pick a key on the drawing, press the key you want, and it's mapped.

Sheet 04 of 07/Layers

Four layers

Base is what each key does normally. Fn holds the Mac row: brightness, Mission Control, Spotlight, media keys and a Dictation key that I added to the firmware myself. The other two layers start transparent, so a key falls through to Base until you give it a job, like mouse keys or a whole Mac shortcut.

The editor with Caps selected and a Shortcuts panel listing screenshot, record, copy, paste, cut, undo, redo, find, Spotlight, lock and other actions
PL 04The Shortcuts list puts whole Mac shortcuts on one key: copy, paste, screenshot, Spotlight, force quit and more.
The editor on Layer 2 with every key showing a transparent triangle and the Mouse panel open, listing mouse movement, clicks, scrolling and speed keys
PL 05Layer 2 starts transparent, so every key falls through to Base until you give it a job, like mouse movement and clicks.

Sheet 05 of 07/Safety

Keys that come back

Every change is saved on the keyboard and in the app. When the board connects, the app writes your keymap back to it, so a reset or a fresh flash never loses your layout.

Sheet 06 of 07/Firmware

Updating the firmware

The app can also flash new firmware. It asks the keyboard to jump into its bootloader, then writes the update with dfu-util and puts your keys back afterwards.

Sheet 07 of 07/Next

What comes next

The plan is to grow this same app to cover my fourth keyboard as well.