forked from AuroraMiddleware/gtk
gtk: convert keyvals to unicode before committing to the imcontext
(cherry picked from commit 1eb0d98d73
)
This commit is contained in:
parent
f619f91a8f
commit
9eea724e3b
@ -371,7 +371,7 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple,
|
||||
gint n_compose)
|
||||
{
|
||||
GtkIMContextSimplePrivate *priv = context_simple->priv;
|
||||
gunichar value = 0;
|
||||
guint value = 0;
|
||||
|
||||
if (n_compose == 2)
|
||||
{
|
||||
@ -382,7 +382,7 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple,
|
||||
{
|
||||
case GDK_KEY_dead_doubleacute:
|
||||
case GDK_KEY_space:
|
||||
value = '"'; break;
|
||||
value = GDK_KEY_quotedbl; break;
|
||||
|
||||
case 'a': value = GDK_KEY_adiaeresis; break;
|
||||
case 'A': value = GDK_KEY_Adiaeresis; break;
|
||||
@ -395,7 +395,7 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple,
|
||||
case 'u': value = GDK_KEY_udiaeresis; break;
|
||||
case 'U': value = GDK_KEY_Udiaeresis; break;
|
||||
case 'y': value = GDK_KEY_ydiaeresis; break;
|
||||
case 'Y': value = 0x0178; break; /* should be GDK_KEY_Ydiaeresis ?? */
|
||||
case 'Y': value = GDK_KEY_Ydiaeresis; break;
|
||||
}
|
||||
break;
|
||||
|
||||
@ -411,7 +411,8 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple,
|
||||
|
||||
if (value > 0)
|
||||
{
|
||||
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple), value);
|
||||
gtk_im_context_simple_commit_char (GTK_IM_CONTEXT (context_simple),
|
||||
gdk_keyval_to_unicode (value));
|
||||
priv->compose_buffer[0] = 0;
|
||||
|
||||
GTK_NOTE (MISC, g_print ("quartz: U+%04X\n", value));
|
||||
|
Loading…
Reference in New Issue
Block a user