diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c index 0013f7ce3c..789fa2b43b 100644 --- a/gdk/wayland/gdkkeys-wayland.c +++ b/gdk/wayland/gdkkeys-wayland.c @@ -296,7 +296,7 @@ get_gdk_modifiers (struct xkb_keymap *xkb_keymap, if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Mod3"))) state |= GDK_MOD3_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_LOGO))) - state |= GDK_MOD4_MASK; + state |= GDK_MOD4_MASK | GDK_SUPER_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Mod5"))) state |= GDK_MOD5_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Super"))) @@ -384,7 +384,7 @@ gdk_wayland_keymap_add_virtual_modifiers (GdkKeymap *keymap, xkb_mod_index_t idx; uint32_t mods, real; struct { const char *name; GdkModifierType mask; } vmods[] = { - { "Super", GDK_SUPER_MASK }, + { "Super", GDK_SUPER_MASK | GDK_MOD4_MASK }, { "Hyper", GDK_HYPER_MASK }, { "Meta", GDK_META_MASK }, { NULL, 0 } diff --git a/testsuite/gtk/accel.c b/testsuite/gtk/accel.c index d6ea0bc252..62f696fa93 100644 --- a/testsuite/gtk/accel.c +++ b/testsuite/gtk/accel.c @@ -55,14 +55,13 @@ test_one_accel (const char *accel, *keycodes, mods); - g_print ("accel %s, label %s\n", accel, label); - - g_assert_cmpstr (label, ==, exp_label); - name = gtk_accelerator_name_with_keycode (NULL, accel_key, *keycodes, mods); + g_print ("accel %s, label %s, name %s, modes %d\n", accel, label, name, mods); + + g_assert_cmpstr (label, ==, exp_label); g_assert_cmpstr (name, ==, accel); g_free (keycodes);