From 3a871c91847a01df3bbfd83006d2fee22e2bc52d Mon Sep 17 00:00:00 2001 From: Po Lu Date: Mon, 19 Sep 2022 15:57:58 +0800 Subject: [PATCH] Treat XKB_MOD_NAME_LOGO as super key Based on !5088. See also #4913. --- gdk/wayland/gdkkeys-wayland.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c index 0013f7ce3c..10f75697d3 100644 --- a/gdk/wayland/gdkkeys-wayland.c +++ b/gdk/wayland/gdkkeys-wayland.c @@ -268,7 +268,7 @@ get_xkb_modifiers (struct xkb_keymap *xkb_keymap, if (state & GDK_MOD5_MASK) mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, "Mod5"); if (state & GDK_SUPER_MASK) - mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, "Super"); + mods |= (1 << xkb_keymap_mod_get_index (xkb_keymap, "Super") | 1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_LOGO)); if (state & GDK_HYPER_MASK) mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, "Hyper"); if (state & GDK_META_MASK) @@ -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")))