Skip to content

v20260719-nightly

@gnachman gnachman tagged this 19 Jul 04:21
Add phone-driven keyboard input to the companion app's live session view.
Tapping the terminal raises the software keyboard; an accessory bar adds
Esc, Control-C, Tab, and arrows, and expands to sticky Control and
left/right Option dead-keys, function keys, and Home/End/PgUp/PgDn/Del.

Protocol: new sendKey message (revision 10, keyInputRevision). The phone
shows the keyboard only when the mac advertises support, so an older mac
never leaves dead keys.

Mac: injectSynthesizedKeyEvent runs the synthesized event through the
session's own key path (accept-gate, profile key bindings, key mapper),
so control/option encodings honor the profile (per-side Option behavior),
special keys honor cursor/keypad/CSI-u key-reporting modes, and a tap
delivers a matching key-up under Kitty report-all-event-types. Key codes
come from the active keyboard layout so input round-trips on non-US
layouts; characters with no single-keystroke mapping are written
literally. Broadcast to split panes is suppressed while injecting. The
streamed frame now draws a focused (filled) cursor.

Sends are serialized on the phone so bursts keep order.

Release notes in Companion/docs/notes.txt.
Assets 2
Loading