Skip to content

Alt+key combinations for special characters broken on non-US keyboard layouts (Terminal.app, macOS) #3866

Description

@castriottaa

Checks

Operating system

macOS 26.5.0 (25F71)

Expected behaviour

Opening a new panel in Terminal.app, ~ character must be written correctly with the option "Use Option as Meta key" enabled

Actual behaviour

Since migrating from v2.x to v3.x (2.10.0), Alt+5 no longer produces ~ on Italian keyboard layout in Terminal.app.
The stdin buffer in tui.js converts single bytes >127 to ESC+char sequences, which conflicts with "Use Option as Meta key" enabled. This worked correctly in v2.x. Affects all Alt-composed characters on non-US layouts.

Steps to reproduce

Activate "Use Option as Meta key" option in the Terminal app, and try to type the ~ character with Alt+5 (external keyboard) or Option+5.
The terminal will refuse the digit.

Environment

<This will be visible to anyone. Do not include personal or sensitive information>

[q-details]
version = "2.10.0"
hash = "a5da029503141c8033a11d7ee6569583d915cd90"
date = "2026-06-25T20:10:07.272812Z (15d ago)"
variant = "full"

[system-info]
os = "macOS 26.5.0 (25F71)"
chip = "Apple M4"
total-cores = 10
memory = "16.00 GB"

[environment]
cwd = "/Users/USER"
cli-path = "/Users/USER"
os = "Mac"
shell-path = "/bin/zsh"
shell-version = "5.9"
terminal = "macOS"
install-method = "unknown"

[env-vars]
PATH = "/Users/USER/.nvm/versions/node/v12.22.12/bin:/Users/USER/.local/bin:/Users/USER/.jenv/shims:/Users/USER/.jenv/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/pkg/env/global/bin:/Applications/CyberArk EPM.app/Contents/MacOS:/opt/podman/bin:/Users/USER/.local/bin"
QTERM_SESSION_ID = "3f2eddd83a0b4f4b905a502464d67ac2"
Q_SET_PARENT_CHECK = "1"
Q_TERM = "2.10.0"
SHELL = "/bin/zsh"
TERM = "xterm-256color"
__CFBundleIdentifier = "com.apple.Terminal"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions