mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 17:10:40 -05:00
display: Cancel overlay key presses on mouse button events
Currently pressing the overlay key only triggers the overview if no other key is pressed between KeyPress and KeyRelease. Extend this logic to pointer events, so that KeyPress + ButtonPress actions are treated explicitly different from "pure" overlay key presses. In particular, this change allows to re-use the overlay key as mouse button modifier. https://bugzilla.gnome.org/show_bug.cgi?id=662476
This commit is contained in:
parent
68321d9bf4
commit
8809673a74
@ -1799,6 +1799,8 @@ event_callback (XEvent *event,
|
|||||||
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
display->overlay_key_only_pressed = FALSE;
|
||||||
|
|
||||||
if (event->xbutton.button == 4 || event->xbutton.button == 5)
|
if (event->xbutton.button == 4 || event->xbutton.button == 5)
|
||||||
/* Scrollwheel event, do nothing and deliver event to compositor below */
|
/* Scrollwheel event, do nothing and deliver event to compositor below */
|
||||||
break;
|
break;
|
||||||
@ -1996,6 +1998,8 @@ event_callback (XEvent *event,
|
|||||||
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
if (display->grab_op == META_GRAB_OP_COMPOSITOR)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
display->overlay_key_only_pressed = FALSE;
|
||||||
|
|
||||||
if (display->grab_window == window &&
|
if (display->grab_window == window &&
|
||||||
grab_op_is_mouse (display->grab_op))
|
grab_op_is_mouse (display->grab_op))
|
||||||
meta_window_handle_mouse_grab_op_event (window, event);
|
meta_window_handle_mouse_grab_op_event (window, event);
|
||||||
|
Loading…
Reference in New Issue
Block a user