events: Bypass wayland when scrolling with mouse-button modifier pressed

<super> is considered a system modifier, and applications cannot use it
for keyboard shortcuts or as button modifier. It doesn't seem too much
of a loss taking <super>+scroll-event away as well, so that it becomes
available to gnome-shell/extensions.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1674>
This commit is contained in:
Florian Müllner 2021-01-18 20:14:15 +01:00
parent e5347af000
commit c255031b6d

View File

@ -269,6 +269,18 @@ meta_display_handle_event (MetaDisplay *display,
} }
} }
if (event->type == CLUTTER_SCROLL && meta_prefs_get_mouse_button_mods () > 0)
{
ClutterModifierType grab_mods;
grab_mods = meta_display_get_window_grab_modifiers (display);
if ((clutter_event_get_state (event) & grab_mods) != 0)
{
bypass_wayland = TRUE;
goto out;
}
}
if (event->type != CLUTTER_DEVICE_ADDED && if (event->type != CLUTTER_DEVICE_ADDED &&
event->type != CLUTTER_DEVICE_REMOVED) event->type != CLUTTER_DEVICE_REMOVED)
{ {