Summary
Phase C input decoder, milestone M5. Part of the Option C redesign per planning/phase_c/INPUT_DECODER_PLAN.md.
Add CSI-u decoding to handle kitty extended keyboard protocol. Probe + 200ms timeout fallback for non-kitty terminals. Progressive enhancement only.
Context
PR #808 attempted to fix issue #805 with termbox2's existing input path and introduced regressions in real Terminal.app (SGR byte leakage, Option-arrows still broken, copy/paste hijacked). Architectural review (system-architect, 2026-06-29) recommended replacing termbox2's input path with a custom decoder while keeping its rendering path.
Full plan: planning/phase_c/INPUT_DECODER_PLAN.md (committed at 1babc25).
Spec
See INPUT_DECODER_PLAN.md section 7, milestone M5 for deliverables, done criteria, LOC estimate, and dependencies.
Dependencies
Depends on M2 (CSI decoder base). Can land in parallel with M3/M4 in principle but /fleet runs sequentially to avoid input_decoder.c conflicts.
Summary
Phase C input decoder, milestone M5. Part of the Option C redesign per planning/phase_c/INPUT_DECODER_PLAN.md.
Add CSI-u decoding to handle kitty extended keyboard protocol. Probe + 200ms timeout fallback for non-kitty terminals. Progressive enhancement only.
Context
PR #808 attempted to fix issue #805 with termbox2's existing input path and introduced regressions in real Terminal.app (SGR byte leakage, Option-arrows still broken, copy/paste hijacked). Architectural review (system-architect, 2026-06-29) recommended replacing termbox2's input path with a custom decoder while keeping its rendering path.
Full plan: planning/phase_c/INPUT_DECODER_PLAN.md (committed at 1babc25).
Spec
See INPUT_DECODER_PLAN.md section 7, milestone M5 for deliverables, done criteria, LOC estimate, and dependencies.
Dependencies
Depends on M2 (CSI decoder base). Can land in parallel with M3/M4 in principle but /fleet runs sequentially to avoid input_decoder.c conflicts.