A visual keymap editor for the binepad CandyPad — a 19-key QMK macropad
with two rotary encoders and a 128×32 OLED, built on an STM32F103. It edits QMK's
keymap.json directly in your browser and can write it straight back into a
local clone of your firmware repository.
Why it exists
The vendor's own web configurator cannot express modified keycodes — there is no way to
put LCTL(KC_LEFT) on a key. It also shipped firmware with real defects:
layers that no key could reach, and mouse keycodes assigned while the mousekey feature
was switched off, so those keys compiled and silently did nothing. This editor accepts
any expression valid inside QMK's LAYOUT() macro, and validates the keymap
before you spend four minutes building it.
What it does
- Assign any keycode, including nested modifiers such as
LCTL(LSFT(KC_TAB)).
- Browse the full QMK keycode table through task categories rather than QMK's internal groups.
- Set all three rotary encoder actions per layer — counter-clockwise, press, clockwise.
-
Catch unreachable layers, keycodes whose feature is disabled, keycodes the hardware
cannot do, and encoder/layer count mismatches that would otherwise fail a
STATIC_ASSERT at compile time.
- Edit the OLED brightness, timeout and custom render code that ship in
config.h and oled.c.
- Save into a local clone, download the JSON, or share a keymap as a link — no account, no token.
Build your own firmware
-
Fork
github.com/lukdog/CandyPad
on GitHub.
- Clone your fork locally:
git clone https://github.com/<you>/CandyPad.git
- Open this editor — the page you are on.
- Link repo… and pick the root folder of your clone (Chrome or Edge; other browsers get Download instead).
- Edit your keys — click any key or knob, then pick a keycode.
- Save to repo — writes
keymap.json and config.h into your clone.
-
Commit and push — GitHub Actions builds the firmware; download the
.bin from the run's artifacts and flash it.
-
Link repo… needs Chrome or Edge. The File System Access API does not
exist in Firefox or Safari. There, use Download and copy the file into your clone by hand.
-
You do not need a fork to try it. Editing here and using Share or
Download works with no GitHub account at all.
-
⚠ Point the folder picker at the right folder. It writes wherever you aim it.
-
Flashing:
dfu-util -d 1EAF:0003 -a 2 -R -D <firmware>.bin, or
QMK Toolbox.
Never 0483:DF11 — that is the chip's ROM DFU and would overwrite the bootloader.