[PATCH v6 wayland-protocols] Add the tablet protocol

Peter Hutterer peter.hutterer at who-t.net
Tue Mar 8 02:08:24 UTC 2016


On Wed, Mar 02, 2016 at 05:38:17PM -0800, Jason Gerecke wrote:
> A number of tiny fixes, and a couple of questions:
> 
> On 02/29/2016 04:09 PM, Peter Hutterer wrote:
> > Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> > Reviewed-by: Daniel Stone <daniels at collabora.com>
> > ---
[...]

all typos/grammar fixes etc. fixed as requested.

> > +    <event name="down">
> > +      <description summary="tablet tool is making contact">
> > +	Sent whenever the tablet tool comes in contact with the surface of the
> > +	tablet. If the tablet tool moves out of a region while in contact with
> 
> 1) Based on the "up" event, I'm assuming you you want "surface" instead
> of (the far more nebulous) "region" here.

I've changed this to "input region". The problem is simply that "surface" is
quite ambiguous and makes for rather hard reading. case in point:
"when the tablet tool moves off of a surface while it was making contact
with the tablet's surface."

> 2) Is there a symmetric entry policy to the exit policy (e.g. "if the
> tablet tool enters a region while in contact with the surface of the
> tablet, ...)

added:
 If the tool is already in contact with the tablet when entering the
 input region, the client owning said region will receive a
 wp_tablet.proximity_in event, followed by a wp_tablet.down
 event and a wp_tablet.frame event. 

 
> > +	the surface of the tablet, the client owning said region will receive a
> > +	wp_tablet.up event, followed by a wp_tablet.proximity_out event and a
> > +	wp_tablet.frame event.
> > +
> > +	Note that this event describes logical contact, not physical
> > +	contact. On some devices, a compositor may not consider a tool in
> > +	logical contact until a minimum physical pressure threshold is
> > +	exceeded.
> > +      </description>
> > +      <arg name="serial" type="uint"/>
> > +    </event>
> > +
> > +    <event name="up">
> > +      <description summary="tablet tool is no longer making contact">
> > +	Sent whenever the tablet tool stops making contact with the surface of
> > +	the tablet, or when the tablet tool moves off of a surface while it was
> > +	making contact with the tablet's surface.
> > +
> 
> The protocol summary indicates that compositor-specific grab policies
> apply when a button is pressed. Its not clear if that statement also
> applied to a pen that was down and dragged off of a surface, especially
> since this seems to prescribe a policy of its own.
> 
> If this is the prescribed policy, will it cause issues for clients like
> GIMP where it may be desired for brush strokes to continue outside of
> the drawing surface? It would seem that sending an "up" event at the
> surface edges while the pen is still being dragged may result in
> undesired artifacts.

Indeed, this is even inconsistent with the proximity event, I've reworded
this now, first by removing the bit from the down event and to the up event
(it does make more sense here) and it now reads as:


        Sent whenever the tablet tool stops making contact with the surface of
        the tablet, or when the tablet tool moves out of the input region
        and the compositor grab (if any) is dismissed.
 
        If the tablet tool moves out of the input region while in contact
        with the surface of the tablet and the compositor does not have an
        ongoing grab on the surface, the client owning said region will
        receive a wp_tablet.up event, followed by a wp_tablet.proximity_out
        event and a wp_tablet.frame event. If the compositor has an ongoing
        grab on this device, this event sequence is sent whenever the grab
        is dismissed in the future.


Cheers,
   Peter


More information about the wayland-devel mailing list