quartz: don't filter away directly encoded 24-bit UCS characters
gdk_unicode_to_keyval(uc) returning (uc | 0x01000000) is not an
error return value but simply the way to encode 24-bit unicode
characters directly as keyvals.
(cherry picked from commit 0a13deae88)
This commit is contained in:
committed by
Michael Natterer
parent
e35e112ea9
commit
64a7fc279c
@@ -359,18 +359,10 @@ maybe_update_keymap (void)
|
||||
p[j] = GDK_KEY_ISO_Left_Tab;
|
||||
|
||||
if (!found)
|
||||
{
|
||||
guint tmp;
|
||||
|
||||
tmp = gdk_unicode_to_keyval (uc);
|
||||
if (tmp != (uc | 0x01000000))
|
||||
p[j] = tmp;
|
||||
else
|
||||
p[j] = 0;
|
||||
}
|
||||
p[j] = gdk_unicode_to_keyval (uc);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (p[3] == p[2])
|
||||
p[3] = 0;
|
||||
if (p[2] == p[1])
|
||||
@@ -453,20 +445,12 @@ maybe_update_keymap (void)
|
||||
*/
|
||||
if (found && p[j] == GDK_KEY_Tab && modifiers[j] == shiftKey)
|
||||
p[j] = GDK_KEY_ISO_Left_Tab;
|
||||
|
||||
|
||||
if (!found)
|
||||
{
|
||||
guint tmp;
|
||||
|
||||
tmp = gdk_unicode_to_keyval (uc);
|
||||
if (tmp != (uc | 0x01000000))
|
||||
p[j] = tmp;
|
||||
else
|
||||
p[j] = 0;
|
||||
}
|
||||
p[j] = gdk_unicode_to_keyval (uc);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (p[3] == p[2])
|
||||
p[3] = 0;
|
||||
if (p[2] == p[1])
|
||||
|
||||
Reference in New Issue
Block a user