Personal QMK firmware for three keyboards:
- Kyria Rev4 (Halcyon series) - Split ergonomic with Colemak-DH
- Elora Rev2 (Halcyon series) - Split ergonomic with Colemak-DH + number row
- Keychron Q15 Max - Ortholinear with Bluetooth/2.4GHz wireless
Split ergonomic keyboard with asymmetric modules:
- Left half: Cirque trackpad
- Right half: Encoder module
Each half must be flashed separately:
- Enter bootloader: Fn + Esc (left) or Fn + ' (right)
- Run
./docker-build.sh flash-leftor./docker-build.sh flash-right - Or copy the
.uf2file to the mountedRPI-RP2drive
4-layer Colemak-DH layout with per-layer RGB indicators.
Colemak-DH base layer with home row optimized for comfortable typing.
Navigation with arrow keys. Highlighted keys show RGB indicators (magenta).
Symbols and numpad. RGB indicators: blue for numbers, yellow for symbols.
F-keys, RGB controls, and bootloader. RGB indicators: cyan for F-keys, green for RGB controls, red for boot.
Split ergonomic keyboard with number row:
- Left half: No module
- Right half: Encoder module
The Elora shares code with the Kyria - all layers and settings are identical except for the additional number row.
Each half must be flashed separately:
- Enter bootloader: Fn + Esc (left) or Fn + ' (right)
- Run
./docker-build.sh flash-elora-leftor./docker-build.sh flash-elora-right - Or copy the
.uf2file to the mountedRPI-RP2drive
4-layer Colemak-DH layout with number row and per-layer RGB indicators.
Colemak-DH base layer with number row (~ 1 2 3 4 5 | 6 7 8 9 0 -).
Navigation with arrow keys. Number row is transparent.
Symbols and numpad. Number row is transparent (direct access to base layer numbers).
F-keys, RGB controls, and bootloader. Number row is transparent.
Ortholinear keyboard with:
- 64 keys + 2 rotary encoders
- Bluetooth 5.1 (3 devices) + 2.4GHz wireless
The Q15 Max uses DFU mode:
- Enter DFU: Fn + Tab (or hold Esc while plugging in)
- Run
./docker-build.sh flash-q15
5-layer QWERTY layout with separate Mac/Windows base layers.
Media controls, RGB, and Bluetooth device switching.
F-keys and battery level indicator.
All builds use Docker - no local QMK installation required.
./docker-build.sh kyria-left # Build left half (Cirque trackpad)
./docker-build.sh kyria-right # Build right half (encoder)
./docker-build.sh kyria-all # Build both halves
./docker-build.sh flash-kyria-left # Build and flash left half
./docker-build.sh flash-kyria-right # Build and flash right half./docker-build.sh elora-left # Build left half (no module)
./docker-build.sh elora-right # Build right half (encoder)
./docker-build.sh elora-all # Build both halves
./docker-build.sh flash-elora-left # Build and flash left half
./docker-build.sh flash-elora-right # Build and flash right half./docker-build.sh q15 # Build Q15 Max firmware
./docker-build.sh flash-q15 # Build and flash Q15 Max./docker-build.sh clean # Remove build artifacts
./draw-keymap.sh # Regenerate keymap SVGsThis repository contains files from splitkb/qmk_userspace (halcyon-qmk branch).
The following files were copied from splitkb/qmk_userspace:
| Path | Description |
|---|---|
LICENSE |
GPL v2 license |
keyboards/splitkb/halcyon/kyria/ |
Kyria Rev4 Halcyon keyboard definition |
keyboards/splitkb/halcyon/elora/ |
Elora Rev2 Halcyon keyboard definition |
users/halcyon_modules/ |
Halcyon module support code (Cirque, encoder, display) |
.github/workflows/build_binaries.yaml |
GitHub Actions build workflow |
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.
The Halcyon keyboard definitions and module support code are copyright splitkb.com and licensed under GPL-2.0-or-later.