atk key: Always convert control character events into key names

including when the control modifier is present, i.e. when one is typing
control-I for instance.

Orca would convert them back to the corresponding ASCII letter anyway, and
when pressing control-tab, we do want to pass "tab", not pass "\t" that Orca
would erroneously convert to "control-I".

Fixes #1743
This commit is contained in:
Samuel Thibault 2019-02-15 13:33:52 +01:00
parent 9d7c7e8a67
commit 728f6869cb

View File

@ -123,8 +123,7 @@ atk_key_event_from_gdk_event_key (GdkEventKey *key,
event->keyval = key->keyval;
event->length = key->length;
if (key->string && key->string[0] &&
(key->state & GDK_CONTROL_MASK ||
g_unichar_isgraph (g_utf8_get_char (key->string))))
g_unichar_isgraph (g_utf8_get_char (key->string)))
event->string = key->string;
else
event->string = gdk_keyval_name (key->keyval);