summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2016-04-17 01:50:23 -0400
committerMatthias Clasen <mclasen@redhat.com>2016-04-19 10:36:14 -0400
commit0100f0859206578d54eea79b77b3a0760a2487fa (patch)
tree5ca1890ed0667fb71dab1d0a8531020dd22caa4e
parent49bddf48ad496b83b3a27e8bf9274de113e3c393 (diff)
downloadgtk+-0100f0859206578d54eea79b77b3a0760a2487fa.tar.gz
wayland: Make virtual modifier mapping more similar to X
Ignore virtual modifiers that are mapped to Mod1 (as Meta often is), to avoid interfering with our fix interpretation of Mod1 as Alt.
-rw-r--r--gdk/wayland/gdkkeys-wayland.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c
index 453d976360..32b4809a51 100644
--- a/gdk/wayland/gdkkeys-wayland.c
+++ b/gdk/wayland/gdkkeys-wayland.c
@@ -395,7 +395,7 @@ gdk_wayland_keymap_add_virtual_modifiers (GdkKeymap *keymap,
xkb_state_update_mask (xkb_state, 1 << idx, 0, 0, 0, 0, 0);
real = xkb_state_serialize_mods (xkb_state, XKB_STATE_MODS_EFFECTIVE);
- real &= 0xff;
+ real &= 0xf0; /* ignore mapping to Lock, Shift, Control, Mod1 */
if (mods & real)
*state |= vmods[i].mask;
xkb_state_update_mask (xkb_state, 0, 0, 0, 0, 0, 0);