mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-28 06:21:14 +00:00
gdk/wayland: Don't add GDK_META_MASK to gdk mod masks if MOD1 is set
Gtk+ treats MOD1 as a synonym for Alt, and does not expect it to be mapped around, so we should avoid adding GDK_META_MASK if MOD1 is already included to avoid confusing gtk+ and applications that rely on that behavior. https://bugzilla.gnome.org/show_bug.cgi?id=770112
This commit is contained in:
parent
7ca6d7585f
commit
515b71f14c
@ -303,7 +303,13 @@ get_gdk_modifiers (struct xkb_keymap *xkb_keymap,
|
||||
state |= GDK_SUPER_MASK;
|
||||
if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Hyper")))
|
||||
state |= GDK_HYPER_MASK;
|
||||
if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Meta")))
|
||||
/* Gtk+ treats MOD1 as a synonym for Alt, and does not expect it to
|
||||
* be mapped around, so we should avoid adding GDK_META_MASK if MOD1
|
||||
* is already included to avoid confusing gtk+ and applications that
|
||||
* rely on that behavior.
|
||||
*/
|
||||
if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Meta")) &&
|
||||
(state & GDK_MOD1_MASK) == 0)
|
||||
state |= GDK_META_MASK;
|
||||
|
||||
return state;
|
||||
|
Loading…
Reference in New Issue
Block a user