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)
|
gint n_compose)
|
||||||
{
|
{
|
||||||
GtkIMContextSimplePrivate *priv = context_simple->priv;
|
GtkIMContextSimplePrivate *priv = context_simple->priv;
|
||||||
gunichar value = 0;
|
guint value = 0;
|
||||||
|
|
||||||
if (n_compose == 2)
|
if (n_compose == 2)
|
||||||
{
|
{
|
||||||
@ -382,7 +382,7 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple,
|
|||||||
{
|
{
|
||||||
case GDK_KEY_dead_doubleacute:
|
case GDK_KEY_dead_doubleacute:
|
||||||
case GDK_KEY_space:
|
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;
|
||||||
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 'U': value = GDK_KEY_Udiaeresis; break;
|
case 'U': value = GDK_KEY_Udiaeresis; break;
|
||||||
case 'y': value = GDK_KEY_ydiaeresis; 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;
|
break;
|
||||||
|
|
||||||
@ -411,7 +411,8 @@ check_quartz_special_cases (GtkIMContextSimple *context_simple,
|
|||||||
|
|
||||||
if (value > 0)
|
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;
|
priv->compose_buffer[0] = 0;
|
||||||
|
|
||||||
GTK_NOTE (MISC, g_print ("quartz: U+%04X\n", value));
|
GTK_NOTE (MISC, g_print ("quartz: U+%04X\n", value));
|
||||||
|
Loading…
Reference in New Issue
Block a user