Skip to content

T27 OS chat input: clipboard and every macOS editing key (Closes #11454) - #11455

Merged
gHashTag merged 1 commit into
masterfrom
claude/t27os-chat-keys
Oct 20, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/t27os-chat-keys

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #11454. Part of epic #11449: keys-to-bytes table (term_input.t27, a test per key), bracketed paste and selection across history (vt.t27), Cmd+C/V/A and a right-click Copy/Paste/Select All.

Generated with Claude Code (https://claude.com/claude-code)

@gHashTag
gHashTag enabled auto-merge (squash) October 20, 2026 17:43
…eted paste, and the full keys-to-bytes table with a test per key (Closes #11454)

Owner 2026-10-21: keys, copy and paste did not work in the chat input.

- term_input.t27 (new, 23 tests): tk_key_bytes is the one keys table (arrows CSI/SS3 by DECCKM, Option+Left/Right ESC b/f, Cmd+Left/Right 0x01/0x05, Option+Backspace ESC DEL, Cmd+Backspace 0x15, forward Delete, Home/End/PgUp/PgDn, Tab, Shift+Tab ESC [ Z, Esc, Enter, Shift/Option+Enter ESC CR, Ctrl+letters also on non-Latin layouts, F1..F12, modifier parameters); tk_cmd_route keeps the window's Cmd shortcuts (T W F K + - , 1..9) out of the PTY; ti_paste wraps in ESC[200~ .. ESC[201~ when bracketed paste is on, else raw with CR line ends; ti_sel_text copies plain rows, trailing spaces trimmed, joined by LF; menu and pointer geometry.
- vt.t27 (26 tests): DECSET 2004 tracked; mouse selection over history ++ grid lines (click, drag, double-click word, triple-click line, shift-extend, select all), stable while rows scroll into the ring, cleared by the alternate screen.
- term_pane.t27: tp_key_bytes removed (moved to term_input).
- glass_window.t27: thin glue only (NSPasteboard copy/paste, clickCount, right-click menu drawn in matte glass, selection wash, paste chunked to the PTY).

Tests (t27b): vt 26, term_input 23, term_pane 20, glass_window 52; seals regenerated for vt, term_pane, term_input.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag force-pushed the claude/t27os-chat-keys branch from 654faa2 to f19e095 Compare October 20, 2026 18:09
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-20 18:10:02 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 46
PRs with All Checks Green 4
READY 3
FAILING 46
PENDING 0
NO CHECKS YET 0

These columns do not partition: 3 + 46 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=5aec047d42ec != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit ef681c9 into master Oct 20, 2026
29 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

T27 OS chat input: clipboard and keys-to-bytes table (sub-issue of the chat input UX epic)

2 participants