Skip to content

macOS: Korean IME final Hangul character not committed unless space or enter is pressed #8440

@mitchellh

Description

@mitchellh

Discussed in #8416

Originally posted by yongseonlee August 26, 2025

Issue Description

When using a Korean IME (e.g., macOS 2-Set Korean), the last Hangul character in composition is not committed unless the user explicitly presses Space or Enter. If you move the cursor (e.g., via arrow key) without that, the final character disappears or fails to appear—which is incorrect.

Expected Behavior

  • All typed Hangul characters (e.g., 가나) should be fully committed once composition ends, regardless of whether the user presses Space/Enter.
  • Cursor navigation or other editing keys should not cause the last character to be lost.
Screen.Recording.2025-08-27.at.12.11.22.PM.mov

(left arrow key pressed after typing 가나)

Actual Behavior

  • The final Hangul character is not committed if the user moves the cursor (arrow keys, etc.) without pressing Space/Enter first.
  • The character disappears or remains uncommitted.
  • Only after typing Space/Enter does the final character appear as expected.
Screen.Recording.2025-08-27.at.12.12.23.PM.mov

(left arrow key pressed after typing 가나)

Reproduction Steps

  1. Open Ghostty.
  2. Ensure Korean IME (e.g., macOS 2-Set Korean) is active.
  3. Start typing Korean syllables (e.g., 가나).
  4. Instead of pressing Space or Enter, immediately press an arrow key to move the cursor.
    • Expected: 가나 should be fully committed and visible.
    • Actual: The last character () is not committed or disappears.
  5. If you press Space or Enter after typing, the last character is committed correctly.

Ghostty Logs

No response

Ghostty Version

Ghostty 1.1.3

Version
  - version: 1.1.3
  - channel: stable
Build Config
  - Zig version: 0.13.0
  - build mode : builtin.OptimizeMode.ReleaseFast
  - app runtime: apprt.Runtime.none
  - font engine: font.main.Backend.coretext
  - renderer   : renderer.Metal
  - libxev     : main.Backend.kqueue

OS Version Information

MacOS Sequoia 15.6.1

(Linux only) Display Server

None

(Linux only) Desktop Environment/Window Manager

No response

Minimal Ghostty Configuration

# default configuration

Additional Relevant Configuration

No response

I acknowledge that:

  • I have reviewed the FAQ and confirm that my issue is NOT among them.
  • I have searched the Ghostty repository (both open and closed Discussions and Issues) and confirm this is not a duplicate of an existing issue or discussion.
  • I have checked the "Preview" tab on all text fields to ensure that everything looks right, and have wrapped all configuration and code in code blocks with a group of three backticks (```) on separate lines.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions