GNOME Bugzilla – Bug 704937
IME input method does not handle dead keys
Last modified: 2013-12-05 16:17:18 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.
The patch applies cleanly to gtk+3 and 2, btw. It requires though glib >= 2.30 for g_unichar_compose()
An alternative would be to chain up to an instance of GtkIMContextSimple which does a lot more composition than what this has.
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).
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.
I guess that makes sense. I'm fine with taking this patch now
*** Bug 371371 has been marked as a duplicate of this bug. ***