- Python 54.1%
- C 36.1%
- HTML 8.7%
- Makefile 1.1%
|
|
||
|---|---|---|
| keyboards/keebio/iris/keymaps/matjaz | ||
| tools | ||
| .gitignore | ||
| keymap_dump.json | ||
| qmk.json | ||
| README.md | ||
| rgb-cheatsheet.html | ||
Iris Rev. 5 QMK firmware
Custom keymap for a Keebio Iris Rev. 5, kept as an external
QMK userspace so it lives in
this repo independently of the qmk_firmware checkout.
Recreated in June 2026 from a description of the lost original (the old
firmware had no VIA and the MCU blocked flash readback, so byte-exact
recovery was impossible). The new firmware enables VIA, so the keymap can
be inspected/edited live at https://usevia.app and dumped with
tools/via_dump.py if this repo is ever lost too.
Layers
Layer names are 0-based in code; comments use 1-based ("layer 1" = base).
-
_BASE — backtick + Cmd+1…9 on the number row, ESC/TAB/LGUI on the left edge, media keys on the inner thumbs. Thumbs:
MO(_NAV) LCTL SPC | ENT MO(_SYM) MO(_EMPTY). -
_SYM (right inner thumb) — F-keys, numbers, paired brackets/quotes mirrored around the center,
~!@#$% ^&*+=|bottom row. -
_NAV (left outer thumb) — vim arrows on HJKL, mute/volume on the left edge,
\ | :on the right thumbs. Rotary encoders: left knob = horizontal scroll, right knob = vertical scroll (clockwise = right/down), on every layer. -
_RGB (right outer thumb) — underglow controls on the left hand: toggle/mode on the left edge, hue/sat/brightness/speed columns (QWERTY row = increase, home row = decrease).
Rebuild / reflash
brew install qmk/qmk/qmk # CLI + AVR toolchain (keg-only gcc!)
qmk setup -y # clones ~/qmk_firmware
qmk config user.overlay_dir="$PWD" # point QMK at this userspace
export PATH="/opt/homebrew/opt/avr-gcc@8/bin:/opt/homebrew/opt/avr-binutils/bin:$PATH"
qmk compile -kb keebio/iris/rev5 -km matjaz
qmk flash -kb keebio/iris/rev5 -km matjaz # then press reset on the keyboard
Both halves have their own atmega32u4 — flash each one (plug USB into the half being flashed, press its reset button).
Flash is at 97% (28070/28672 bytes); disable a feature in rules.mk if a
future QMK bump no longer fits.
Tools
tools/via_dump.py— dump the live keymap/lighting from the keyboard over the VIA raw-HID protocol into JSON (.venv/bin/python tools/via_dump.py).tools/extract_keymap.py— heuristic search for a keymap array inside a raw firmware flash dump (kept for reference; unused since readback was blocked).