[Upstream] Dead keys stopped working since GNOME 49 / GTK 4.20 #8899
-
Issue DescriptionNone of the dead keys are working anymore (`^~'") 2025-09-24.16-52-37.mp4Expected BehaviorDeadkeys were working up until the recent update Actual BehaviorDead keys are ignored. Reproduction Steps
Ghostty LogsNo response Ghostty VersionOS Version InformationArch Linux x86_64 (6.16.8-arch3-1) (Linux only) Display ServerWayland (Linux only) Desktop Environment/Window ManagerHyprland Minimal Ghostty Configurationfont-size = 12Additional Relevant ConfigurationNo response I acknowledge that:
|
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 11 replies
-
Beta Was this translation helpful? Give feedback.
-
|
For future references of this discussion ghostty did not break anything ghostty uses GTK, this is entirely a upstream issue please look at the answer to this discussion This will effect multiple compositors like stated in the commit message
each compositor needs to handle it The answer is quite simple, you need to use a environment variable to get it to work again
An alternative if you don't have a IME installed you may need to install one for it to work properly again your compositor needs to support the protocol described above |
Beta Was this translation helpful? Give feedback.
-
|
Okay, follow-up: Hyprland does implement the Wayland text protocol, but Ghostty still doesn't acknowledge dead keys or Compose keys unless Per hyprwm/Hyprland#12042 (reply in thread), I've set |
Beta Was this translation helpful? Give feedback.
-
|
I did some more research into this and I think I got a better picture. TL;DR: Install an input method framework like IBus or Fcitx 5 for comprehensive dead key support, or if you're content with GTK's naïve implementation, set As of GTK 4.20, GTK no longer falls back to handling compose keys and dead key behaviors by itself only when using Wayland, and when an input method isn't present. I can only guess that the reasoning behind this is because a graphical toolkit rightfully shouldn't concern itself with a compose key implementation, and it should be the responsibility of the input method. I might have accidentally spread a misconception that the compositor needs to implement any amount of special support for this. None of this applies to X11 either, which still defaults to the naïve implementation since there's no standardized way for input methods to communicate to the compositor. The reason why this seemingly only impacts non-GNOME users, is that GNOME Shell bundles IBus by default, which has been handling compose keys and dead keys on GNOME unless explicitly opted out otherwise. There's, again, nothing that individual compositors need to do. Footnotes
|
Beta Was this translation helpful? Give feedback.
I did some more research into this and I think I got a better picture.
TL;DR: Install an input method framework like IBus or Fcitx 5 for comprehensive dead key support, or if you're content with GTK's naïve implementation, set
GTK_IM_MODULEtosimple.As of GTK 4.20, GTK no longer falls back to handling compose keys and dead key behaviors by itself only when using Wayland, and when an input method isn't present. I can only guess that the reasoning behind this is because a graphical toolkit rightfully shouldn't concern itself with a compose key implementation, and it should be the responsibility of the input method.
I might have accidentally spread a misconception that the compositor need…