Repository navigation
macOS: Chinese IME keystrokes leak into terminal during composition #12278
Replies: 3 comments 2 replies
|
I have same issue. Other terminals don't penetrates. In Vim, this issue causes unexpected characters to be inserted. |
|
I'm not sure what "leak" means in your description, but I think it's also probably fixed by #12547. |
|
Still broken on 1.3.1, and it's worse than "letters leak during composition" — it breaks copy/paste entirely for CJK users. Setup: Ghostty 1.3.1 (stable), macOS 26.6.2, Apple built-in Traditional Chinese Zhuyin input source ( Repro:
So every copy/paste cycle requires switching to an English input source first. Terminal.app and iTerm2 handle the exact same steps correctly. Chinese, Japanese and Korean users all live with an input method toggled on, so this isn't an edge case; it is the default state for a large part of your user base. I see #12547 ("avoid replaying keys that commit preedit") was merged on May 2 and may address this, but 1.3.1 shipped in March and there has been no stable release since. Could we get a 1.3.2 point release with that fix, or at least confirmation that it covers this case? Asking CJK users to run tip builds for a working Cmd+C is not reasonable. While I'm here: #12842 (mixed text/HTML clipboard format since 1.3.0) also breaks pasting into Electron apps unless you rebind Cmd+C to |
Uh oh!
There was an error while loading. Please reload this page.
Issue Description
When using a Chinese input method (Cangjie, Zhuyin, or Pinyin) on macOS, the Roman letter keystrokes used to compose Chinese characters leak into the terminal input, causing unintended characters to appear.
For example, typing a Chinese character that requires pressing
ctwice in Cangjie input results inccappearing in the terminal prompt in addition to (or instead of) the intended Chinese character.This is a regression/continuation of the same root cause reported in:
The issue has persisted unfixed through at least v1.3.1.
Expected Behavior
IME keystrokes should be consumed entirely by the input method and not forwarded to the terminal. This is the standard macOS NSResponder behavior. Both iTerm2 and Terminal.app handle this correctly — only the composed Chinese character is sent to the terminal.
Actual Behavior
The Roman letter keystrokes used during Chinese IME composition (e.g.
c,cfor a Cangjie character) are leaked into the terminal, producing unintended literal characters in the shell prompt alongside or instead of the composed Chinese character.Reproduction Steps
ctwice in Cangjie).cc) appear literally in the terminal prompt.Ghostty Logs
No relevant logs captured; the issue is reproducible consistently.
Ghostty Version
OS Version Information
macOS 26.4.1 (Build 25E253)
Minimal Ghostty Configuration
# Default configuration — reproducible with no custom configI acknowledge that:
All reactions