Open-source keyboard configurator for QMK/VIA-compatible mechanical keyboards. Remap keys, create macros, adjust lighting — all from your browser.
Fork of VIA, actively maintained.
- Visual key remapping — click a key, pick a keycode, done
- Layer support — configure multiple layers with tap/hold, mod-tap, and more
- Macro editor — record and assign key sequences
- RGB/lighting controls — adjust effects, colors, brightness
- Key tester — test every key on your board
- 1800+ keyboards supported — browse the full list on the welcome page
- No install required — runs entirely in the browser via WebHID
Keyboard connection requires WebHID:
| Browser | Status |
|---|---|
| Chrome | Supported |
| Edge | Supported |
| Safari | Not supported |
| Firefox | Not supported |
The welcome page and keyboard browser work in all browsers.
git clone https://github.com/Keylab-dev/zumap.git
cd zumap
npm install
npm run devKeyboard definitions are fetched from the VIA keyboards repo during build:
npm run build:kbs # builds definitions to public/definitions/
npm run build # full production buildsrc/
components/
Home.tsx — Welcome page + keyboard browser
menus/ — Navigation bar, external links
panes/ — Configure, Test, Design, Settings, Debug
three-fiber/ — 3D keyboard renderer
two-string/ — 2D keyboard renderer
icons/ — Logo and icon components
store/ — Redux state (devices, keymaps, definitions)
utils/ — USB/HID, keycodes, keyboard API
public/
definitions/ — Built keyboard definition files
Contributions welcome. Please open an issue first for significant changes.
GPL-3.0 — same as the original VIA project.