Skip to content

Phase C input decoder M5: Kitty keyboard protocol enable + decode #813

Description

@jsavin

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions