GNOME Bugzilla – Bug 554506
combining diacritics broken, became deadkeys
Last modified: 2008-10-02 22:36:33 UTC
With the new updates in gtkimcontextsimple.c and the check_algorithmically(), there has been a regression. Specifically, it is not possible to type several verbatim combining diacritic marks, because they are converted and treated as dead keys. For example, typing 'a', then the verbatim character 0x301 (acute). GTK+ now converts them to dead key sequences. The source of the problem is that the new keyboard layouts use 0x1000000 + 'codepoint' to signify a verbatim character. Combining diacritic Acute is 0x1000301. And the current "IS_DEAD_KEY()" macro evaluates all values over 0x1000000 as dead keys.
Created attachment 119692 [details] [review] Patch that identifies better if a key is a dead key. This issue was first reported at FDO, http://bugs.freedesktop.org/show_bug.cgi?id=17468
*** Bug 554192 has been marked as a duplicate of this bug. ***
Looks good. Might be good to add some of the above explanation as a comment.
Created attachment 119718 [details] [review] Updated version with longer comment.
2008-10-01 Simos Xenitellis <simos@gnome.org> Bug 554506 – combining diacritics broken, became deadkeys * gtk/gtkimcontextsimple.c: added check if keysym is greater than 0x1000000, in this case it is not a dead key.
Also committed to branch 'gtk-2-14', 2008-10-02 Simos Xenitellis <simos@gnome.org> Bug 554506 – combining diacritics broken, became deadkeys * gtk/gtkimcontextsimple.c: added check if keysym is greater than 0x1000000, in this case it is not a dead key.