From e967dfed2db8f53881fcb795fbe2b397e2f5a3e3 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 --- gdk/wayland/gdkkeys-wayland.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gdk/wayland/gdkkeys-wayland.c b/gdk/wayland/gdkkeys-wayland.c index b546fa0012..1892a36b21 100644 --- a/gdk/wayland/gdkkeys-wayland.c +++ b/gdk/wayland/gdkkeys-wayland.c @@ -254,7 +254,7 @@ get_xkb_modifiers (struct xkb_keymap *xkb_keymap, if (state & GDK_ALT_MASK) mods |= 1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_ALT); 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) @@ -277,6 +277,8 @@ get_gdk_modifiers (struct xkb_keymap *xkb_keymap, state |= GDK_CONTROL_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_ALT))) state |= GDK_ALT_MASK; + if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, XKB_MOD_NAME_LOGO))) + state |= GDK_SUPER_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Super"))) state |= GDK_SUPER_MASK; if (mods & (1 << xkb_keymap_mod_get_index (xkb_keymap, "Hyper"))) -- 2.30.2