Skip to content

Enable kitty keyboard protocol for Shift+Enter distinction#71

Open
nedtwigg wants to merge 5 commits into
mainfrom
kitty-keyboard
Open

Enable kitty keyboard protocol for Shift+Enter distinction#71
nedtwigg wants to merge 5 commits into
mainfrom
kitty-keyboard

Conversation

@nedtwigg
Copy link
Copy Markdown
Member

Summary

  • Enable xterm.js vtExtensions.kittyKeyboard so Shift+Enter is distinguishable from Enter
  • Bump @xterm/xterm and @xterm/addon-fit to beta builds (6.1.0-beta.216 / 0.12.0-beta.216) that expose the option

Test plan

  • Open a terminal and verify Enter still submits as expected
  • Verify Shift+Enter produces a distinct sequence (e.g., in a shell/app that supports kitty keyboard)
  • Confirm no regressions in terminal resize / fit behavior

🤖 Generated with Claude Code

In a stock xterm.js terminal, Shift+Enter and Enter both send `\r`, so
TUIs like Claude Code can't bind them differently and both submit.
Upgrading @xterm/xterm to a 6.1.0 beta and opting into
`vtExtensions.kittyKeyboard` lets the terminal advertise the kitty
keyboard protocol; when the inner program negotiates it, modified keys
round-trip as distinct CSI u sequences.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 18, 2026

Deploying mouseterm with  Cloudflare Pages  Cloudflare Pages

Latest commit: 33cf571
Status: ✅  Deploy successful!
Preview URL: https://e5e191ce.mouseterm.pages.dev
Branch Preview URL: https://kitty-keyboard.mouseterm.pages.dev

View logs

nedtwigg and others added 4 commits May 18, 2026 14:44
Adds a Supported CSI section covering CSI > q (iTerm2 device
attributes), DECSET/DECRST observation for mouse/bracketed-paste mode,
kitty keyboard protocol, and replay-time CSI reply filtering. The
escape-sequence registry now covers both OSC and CSI so the
fail-inertly rule has a single home.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant