No description
  • Python 54.1%
  • C 36.1%
  • HTML 8.7%
  • Makefile 1.1%
Find a file
Matjaz Debelak 2e7b65574b
Add mouse keys to layer 4: HJKL movement, clicks on left thumbs
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:18:42 +02:00
keyboards/keebio/iris/keymaps/matjaz Add mouse keys to layer 4: HJKL movement, clicks on left thumbs 2026-06-12 09:18:42 +02:00
tools Add RGB underglow controls to layer 4 2026-06-11 20:35:35 +02:00
.gitignore Recreate Iris Rev 5 QMK keymap as external userspace 2026-06-11 20:28:27 +02:00
keymap_dump.json Recreate Iris Rev 5 QMK keymap as external userspace 2026-06-11 20:28:27 +02:00
qmk.json Recreate Iris Rev 5 QMK keymap as external userspace 2026-06-11 20:28:27 +02:00
README.md Add x/y scrolling on the rotary encoders 2026-06-12 09:06:45 +02:00
rgb-cheatsheet.html Add printable LED-controls cheat sheet 2026-06-11 20:43:04 +02:00

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).