No apostrophe with recent changes related to dead keys
Bug
One of the recent GTK updates has introduced dead key previews and unfortunately has also changed the characters yielded by the dead keys when pressing them twice or when pressing space afterwards.
While I don't mind the dead key previews and think they are quite useful, changing the resulting character is an absolute no-go, especially when it's the apostrophe (' character), which is "quite important" when writing English or while programming in certain languages.
These recent changes completely broke the behavior of the en_US-international-with-dead-keys
layout and made it very confusing and annoying to work with.
It's probably related to this blog post, which introduced changes to how multiple presses of the dead keys are handled: https://blog.gtk.org/2021/03/24/input-revisited/
Expected outcome
Dead keys are supposed to work like they were intended by the keyboard layout. See this SVG from Wikipedia for example:
- ' and Space should yield '
- ' and ' should yield ´
- Shift+' and Space should yield "
- Shift+' and Shift+' should yield ¨
Current behavior
- ' and Space yields ´ (unacceptable - only workaround currently is pressing AltGr+' to get the ' character)
- ' and ' yields ´´ (there's no way to print the character only once with the config file workaround mentioned below)
- Shift+' and Space yields "
- Shift+' and Shift+' yields ¨¨ (same double character issue)
Apparently, the following can be added to ${XDG_CONFIG_HOME:-$HOME/.config}/gtk-{3,4}.0/Compose
to fix the issue
<dead_acute> <space> : "'" apostrophe # APOSTROPHE
but expecting every user to fix it themselves with config files seems ridiculous, not to mention that the preview will keep showing the ´ character, which is confusing.
Version information
- gtk3 1:3.24.28-1
- Arch, up2date
Additional information
Qt has not made any changes in this regard, neither previews nor changes to the yielded characters, which means using different applications makes this even more annoying, as you have to know which toolkit the application is built on.