Replace the per-keycode switch statement in process_record_user with a
remap_rule_t table evaluated first-match-wins. Each rule specifies
os_mask, app_mask, mods_from, key_from, mods_to, key_to.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace tap_code() with register_code()/unregister_code() in the modifier
rewrite system so that holding a rewritten key combo (e.g. Ctrl+Left →
Alt+Left on Mac) produces auto-repeat instead of a single tap. Track active
rewrites to correctly restore modifiers on release, handling edge cases like
the modifier being released before the trigger key.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Nix flake with devShell providing qmk CLI for firmware development.
Custom keymap (copy of default) symlinked into QMK tree on shell entry.
Setup: nix develop, then qmk setup system76/qmk_firmware
Build: qmk compile -kb system76/launch_3 -km custom
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>