Custom keymaps maintained separately from the main QMK repository using the QMK Userspace template. Firmware is built automatically with GitHub Actions on push.
| Keyboard | Keymap |
|---|---|
| Corne (crkbd rev1) | perrwa |
| Boardsource Lulu (AVR) | perrwa |
| TKC Portico | lilycat |
Generated by keymap-drawer — SVGs are auto-updated via CI when YAML sources change. See keymap-drawer/ for per-board SVGs.
- In the GitHub Actions tab, enable workflows
- Push your changes to your forked GitHub repository
- Wait for the actions run to complete
- If you pushed to
main, grab the latest firmware from the Releases tab - If you pushed to any other branch, download the build artifacts from that workflow run instead
- Run the normal
qmk setupprocedure if you haven't already done so — see QMK Docs for details. - Clone this repository
- Set the userspace overlay:
qmk config user.overlay_dir="$(realpath .)"(run from the repo root) - Compile a single target:
qmk compile -kb <keyboard> -km <keymap> - Or build everything at once:
qmk userspace-compile
Add or remove keymaps from qmk.json:
qmk userspace-add -kb <keyboard> -km <keymap>
qmk userspace-remove -kb <keyboard> -km <keymap>
qmk userspace-listTo point the build at a different QMK repository or branch, edit .github/workflows/build.yml and .github/workflows/release.yml:
with:
qmk_repo: qmk/qmk_firmware
qmk_ref: masterAlternatively, add qmk_firmware as a git submodule and Actions will use the pinned revision automatically.