X11: Dragging a window with a tablet tool cannot work because of device mismatches
This is probably the reason for #3114 (closed) and #3122 (closed) though not 100% sure.
Probably caused by !2175 (merged) since that removed the button handling from mutter, cc @carlosg.
Current as of commit 87907674 (Nov 2023)
When a window drag is initiated in meta_window_x11_client_message()
, the device passed to meta_window_begin_grab_op()
is always the Virtual Core Pointer (clutter_seat_get_pointer()
). The VCP is set as leading_device
in the grab but subsequent motion events have their device switched to the tablet tool instead 1. This means subsequent on_window_drag_event()
exit early with if (window_drag->leading_device != device) return FALSE
.
This makes it impossible to move a window with a tablet tool.
-
clutter_event_motion_new()
sets the event device to the tool, if any.↩