[PATCH v6 wayland-protocols] Add the tablet protocol
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, ...)
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.
More information about the wayland-devel