macOS German QWERTZ: global dictation hotkey swaps Y and Z

Open 💬 2 comments Opened Jul 10, 2026 by kakulukia

What version of the Codex App are you using (From “About Codex” dialog)?

26.707.31428 (CFBundleVersion 5059)

What subscription do you have?

Not relevant to this issue / not provided.

What platform is your computer?

macOS 26.5.2 (25F84), Apple Silicon (arm64).

Active input source:

com.apple.keylayout.German

What issue are you seeing?

A global Hold-to-dictate shortcut that previously worked as Ctrl+Y stopped working after upgrading to the new ChatGPT/Codex app.

On a German QWERTZ keyboard, the configured shortcut is interpreted as a U.S. physical key position instead of the key shown in Settings:

  • Configure Ctrl+Y: pressing the physical Ctrl+Y key does not start dictation.
  • Configure Ctrl+Z: pressing that same physical Ctrl+Y key starts dictation.
  • Configure Ctrl+X: physical Ctrl+X works normally.

This confirms a Y/Z layout mismatch rather than a microphone or general global-hotkey failure.

What steps can reproduce the bug?

  1. Select the German keyboard input source on macOS.
  2. In Codex settings, assign Ctrl+Y to the global Hold-to-dictate action.
  3. Press and hold the physical Ctrl+Y keys.
  4. Observe that dictation does not start.
  5. Change the configured shortcut to Ctrl+Z.
  6. Press and hold the physical Ctrl+Y keys again.
  7. Observe that dictation now starts.

What is the expected behavior?

Global shortcuts should follow the active keyboard layout consistently:

  • Configured Ctrl+Y should respond to the physical key labeled Y.
  • Configured Ctrl+Z should respond to the physical key labeled Z.

Additional information

  • No matching Ctrl+Y or Ctrl+Z assignment was found in macOS App Shortcuts, Services, accessibility shortcuts, Karabiner-Elements, Clipy, Rectangle, or Shottr.
  • Inspection of the packaged app suggests alphabetic global shortcuts are normalized against the current layout before being passed to Electron's globalShortcut.register. The observed behavior is consistent with an extra or inverted Y/Z conversion on German QWERTZ.
  • Workaround: save Ctrl+Z in Codex to use the physical German Ctrl+Y keys, or use a layout-neutral key such as Ctrl+X.
  • Related layout-sensitive global-dictation reports: #31992 and #19710.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗