wl_tablet draft v2

Bill Spitzak spitzak at gmail.com
Wed Aug 20 13:20:46 PDT 2014


On 08/20/2014 12:13 PM, Pekka Paalanen wrote:

> What would be a use case, where you might get blinking?
>
 > If the
> item is highlighted because an action with the input tool on any
> wl_surface may affect it, why remove the highlight when the input
> tool leaves?

That describes the situation pretty closely, except the action is on 
some subset of the wl_surfaces (for instance, only on the wl_surfaces 
that belong to the client).

When an exit event comes in the client does not know if it is because 
the cursor entered another surface that will keep the highlighting on. 
It needs to peek ahead to see if there is an enter event in order to 
decide whether to turn the highlighting off. Since it can't know if 
perhaps the other surface is for another client, it can't just wait for 
the enter event, since that may never happen.

One way to fix this would be to send the enter event *before* the exit 
event. Another, which would actually work the best, is to not send the 
exit event at all.

Allowing these solutions is one of the reasons I disagree with the idea 
that perfect pairing of events must be done by each level of wayland. It 
is actually trivial for clients to recover from mismatched events, and 
they serve useful purposes like this.


More information about the wayland-devel mailing list