mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 06:00:22 +00:00
Make level3 keys work again
We were not paying attention to consumed modifiers when adding virtual modifiers. This fixes RH bug 537567.
This commit is contained in:
parent
ba218a7789
commit
d4b92737ab
@ -618,6 +618,7 @@ translate_key_event (GdkDisplay *display,
|
||||
GdkKeymap *keymap = gdk_keymap_get_for_display (display);
|
||||
gunichar c = 0;
|
||||
gchar buf[7];
|
||||
GdkModifierType consumed, state;
|
||||
|
||||
event->key.type = xevent->xany.type == KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
|
||||
event->key.time = xevent->xkey.time;
|
||||
@ -633,9 +634,11 @@ translate_key_event (GdkDisplay *display,
|
||||
event->key.state,
|
||||
event->key.group,
|
||||
&event->key.keyval,
|
||||
NULL, NULL, NULL);
|
||||
NULL, NULL, &consumed);
|
||||
state = event->key.state & ~consumed;
|
||||
_gdk_keymap_add_virtual_modifiers (keymap, &state);
|
||||
event->key.state |= state;
|
||||
|
||||
_gdk_keymap_add_virtual_modifiers (keymap, &event->key.state);
|
||||
event->key.is_modifier = _gdk_keymap_key_is_modifier (keymap, event->key.hardware_keycode);
|
||||
|
||||
/* Fill in event->string crudely, since various programs
|
||||
|
Loading…
Reference in New Issue
Block a user