keybindings: Stop keybinding if a touch happens while Super is pressed

We use the combination of pressing Super and clicking+moving the mouse
to drag windows around and we also support pressing Super and using the
touchscreen to drag windows.

Since we don't want to show the overview when the Super key was used to
initiate a window drag, prevent showing the overview in case a
TOUCH_BEGIN or TOUCH_END event happened during the key was pressed.

Fixes https://gitlab.gnome.org/GNOME/mutter/issues/228

https://gitlab.gnome.org/GNOME/mutter/merge_requests/495
This commit is contained in:
Jonas Dreßler 2019-03-14 10:46:21 +01:00 committed by Jonas Ådahl
parent 20c1295a33
commit 6ec330ccfa

View File

@ -2214,6 +2214,8 @@ meta_keybindings_process_event (MetaDisplay *display,
{ {
case CLUTTER_BUTTON_PRESS: case CLUTTER_BUTTON_PRESS:
case CLUTTER_BUTTON_RELEASE: case CLUTTER_BUTTON_RELEASE:
case CLUTTER_TOUCH_BEGIN:
case CLUTTER_TOUCH_END:
keys->overlay_key_only_pressed = FALSE; keys->overlay_key_only_pressed = FALSE;
return FALSE; return FALSE;