[PATCH] Refine compositor grabs behavior

Bill Spitzak spitzak at gmail.com
Fri Nov 20 17:13:39 PST 2015


On Thu, Nov 19, 2015 at 7:47 PM, Peter Hutterer <peter.hutterer at who-t.net>
wrote:

>
> we had a bit of a discussion on IRC here, this is the attempt of a summary:
> A wl_touch.enter/leave event pair makes sense for some use-cases and can
> fix
> the xdg_popup case. The idea here is that if you move between two surfaces
> *of the same client* you send a wl_touch.leave(old_surface) followed by a
> wl_touch.enter(new_surface), with a wl_touch.update all within the same
> frame. Both enter/leave carry the touch ID and are thus per touchpoint.
>
> If a client is capable of handling the new enter/leave events, this is a
> way
> to tell them that a touch has moved away and that surface doesn't have it
> anymore, and for the new surface that a touch has appeared but wasn't set
> down in that spot (so it won't trigger in-client gestures like tapping).
> In X term, a wl_touch.enter/leave is similar to NotifyGrab.
>

You know I have been trying to point out that the equivalent bug exists on
wl_pointer enter/leave events for a couple years now, but all I get is
hostility (witness recent emails). If you do manage to fix this problem,
perhaps you could look into getting it fixed there, too?

Using a frame is a method of fixing it, but I think sending the enter event
first, or not sending the exit at all, would also work.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20151120/34dae745/attachment.html>


More information about the wayland-devel mailing list