After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 704937 - IME input method does not handle dead keys
IME input method does not handle dead keys
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Input Methods
unspecified
Other Windows
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
: 371371 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-07-26 15:52 UTC by Carlos Garnacho
Modified: 2013-12-05 16:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (5.05 KB, patch)
2013-07-26 15:52 UTC, Carlos Garnacho
none Details | Review

Description Carlos Garnacho 2013-07-26 15:52:25 UTC
Created attachment 250210 [details] [review]
patch

On Windows, with the IME input method enabled and a regular keymap selected (so no preedit or completion windows involved), all dead keys are ignored, making it impossible to compose characters as you can normally do with the simple IM.

The attached patch adds minimal composition of characters, built into the IME input method. Experimentation and the sparse docs found on IME seemed to show there's no way to have IME handle this.
Comment 1 Carlos Garnacho 2013-07-26 15:53:42 UTC
The patch applies cleanly to gtk+3 and 2, btw. It requires though glib >= 2.30 for g_unichar_compose()
Comment 2 Matthias Clasen 2013-07-26 16:25:19 UTC
An alternative would be to chain up to an instance of GtkIMContextSimple which does a lot more composition than what this has.
Comment 3 Carlos Garnacho 2013-07-26 17:36:06 UTC
I played around first with that, but it got a bit too cumbersome ensuring the right state on the child context, and selectively make one or the other work avoiding situations where one may step on the other's toes (eg. finding out whether the child GtkIMContextSimple is preediting ctrl-shift-u hex so IME doesn't try to do something with the alphabetic chars there).
Comment 4 Carlos Garnacho 2013-07-26 17:40:09 UTC
Thinking a bit more about this, probably a GtkIMContextState enum would be quite helpful here, we don't need really detailed information to make that behave nicely.
Comment 5 Matthias Clasen 2013-07-26 18:58:00 UTC
I guess that makes sense. I'm fine with taking this patch now
Comment 6 Cody Russell 2013-12-05 16:17:18 UTC
*** Bug 371371 has been marked as a duplicate of this bug. ***