Skip to content

Fix terminal Control input on non-Latin keyboard layouts#613

Open
ERuban wants to merge 1 commit into
supabitapp:mainfrom
ERuban:fix-non-latin-layout
Open

Fix terminal Control input on non-Latin keyboard layouts#613
ERuban wants to merge 1 commit into
supabitapp:mainfrom
ERuban:fix-non-latin-layout

Conversation

@ERuban

@ERuban ERuban commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Closes #612

Summary

Fix layout-dependent terminal Control-key input in Supacode tabs.

When a non-Latin macOS input source is active, interactive terminal programs such as Claude or Codex may not receive plain terminal Control chords consistently. For example, pressing the physical ⌃C keys with a Russian layout selected may not cancel/exit the program, while the same physical shortcut works after switching back to an English layout.

This change resolves plain terminal Control chords from the physical keyCode using the US-QWERTY key position before passing input to Ghostty. Regular text input remains layout-aware, and app/menu shortcuts are not affected.

Type of change

  • Bug fix (the linked issue is a bug report)
  • Feature (the linked issue is a feature request marked ready)
  • Documentation
  • Other (please describe)

How was this tested?

  • make check passes (format + lint)
  • make test passes
  • I built and ran the app to confirm the change works

make test and make build-app could not run locally because my machine has Xcode 27, and the project preflight requires a Zig-linkable Xcode/macOS SDK combination.
I'd appreciate it if someone could test it.

AI tool disclosure (optional)

  • Model(s): GPT-5
  • Harness / tools: Codex

Checklist

  • This pull request is linked to an issue with Closes # above.
  • For a feature, the linked issue is labeled ready.
  • I am the author of this work and accountable for it; no commit is authored or co-authored by an AI agent.
  • I have read the Contributing guide and the Code of Conduct.

@sbertix

sbertix commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Adding it here too since it went unnoticed in the issue.

Is this reproducible in Ghostty, by any chance? @ERuban
Because, if so, this should possibly be deferred to the Ghostty lib itself.

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.

Terminal Control-key input depends on active keyboard layout in interactive programs

2 participants