[PATCH v2 wayland-protocols] Add the tablet protocol

Bill Spitzak spitzak at gmail.com
Sat Dec 12 12:15:02 PST 2015


On Tue, Dec 8, 2015 at 2:00 PM, Peter Hutterer <peter.hutterer at who-t.net>
wrote:

> On Tue, Dec 08, 2015 at 11:58:20AM -0800, Bill Spitzak wrote:
> > What is the plan for using a tablet in "relative" mode? This is pretty
> > common if the tablet is smaller than the screen, as many modern ones are.
>
> I would love to hear where you get this information from, because the one
> thing we're suffering from is not knowing how our users use the tablet.
> Relative mode is common (and default) in the wacom driver for the lens/puck
> tool but few users have that one. Relative mode for the stylus is
> available,
> but we have little to no data on who's using it.
>

I am using a Wacom Inutos 6x8 tablet. This is a professional and expensive
device (I got it from the bankruptcy auction for Rhythm & Hues, every
artist used these things except for a very small number that had the much
larger 16x16 (?) ones).

My screens are a 4x3 and a 16x9 screen arranged next to each other. Mapping
the tablet area to the entire display results in a horizontal magnification
between physical stylus movement and on-screen movement of about 6 and
vertical scale of about 2. This is too large for me to use on sketching or
3D modelling unless the model is zoomed in so much that I lose any context.
In addition motion of the stylus is distorted by 2.33 times more
horizontally than vertically, which I find very disconcerting. Mapping to
only one screen reduces both of these problems, but not enough imho, and
makes it impossible to use the stylus on one of the screens.

I am also using this on an IMac which has a screen that is closer to 4/3 so
there is no distortion, but I still found the scale much too large to use
on photoshop work.

For these reasons I use the tablet in relative mode for all the tools.

I find it hard to believe that my hardware setup is uncommon. It was used
this way at R&H, and Linux and Windows and Mac all have the ability to set
it.

Linux support is quite broken and refuses to produce a square aspect ratio
of the motion unless you send xsetwacom commands. Previous versions had
weird bugs where the commands depended on the size of the outputs, but
these seem to be fixed. Here is the cryptic commands I am using (a further
bug is that I have to run this each time after the machine sleeps):

xsetwacom --set "Wacom Intuos3 6x8 stylus" Mode Relative
xsetwacom --set "Wacom Intuos3 6x8 stylus" Area "0 0 162560 121920"
xsetwacom --set "Wacom Intuos3 6x8 eraser" Mode Relative
xsetwacom --set "Wacom Intuos3 6x8 eraser" Area "0 0 162560 121920"

I would say that Mac is not much better. It produces a square aspect but
you have no control over the scale. Windows (well the Wacom-supplied
driver) is much better with a scale control.

I personally believe that what the user wants is to limit the magnification
and distortion of motion, and would use absolute mode if possible without
violating these constraints. Therefore instead of the controls being
whether relative motion is used or not, the controls are a range of
magnification and distortion that the user accepts. This will allow the
tablet to switch automatically between modes if the area is changed (for
instance if a client is able to restrict the tablet to it's own surface).

Looking at my settings I seem to have a physical magnification very close
to 1:1 (I have to move the stylus very slow so that acceleration does not
change the dimension). I also know that a distortion of 4/3 horizontally is
outside my limits. I suspect also that if I had a third tool I would have
to add a line for it, an easy way to set all tools without knowing what
they are would be nice.

Relative mode uses acceleration just like a mouse. This does not have any
detrimental effect on using it for painting as far as I can tell.

>
> That aside, relative mode is handled by the compositor, it's not something
> exposed on the protocol. A client always gets absolute coordinates,
> regardless of the input mode.
>
> > My guess is that you plan to deliver screen/surface coordinates, and that
> > the client is unaware of the actual size of the tablet. However it is not
> > clear from this.
>
> Please suggest a rewording that makes this clearer.
>

No it is ok, a bit of thought will show that the coordinates *must* be in
surface coordinates, therefore relative motion must have been handled
already by the compositor before the client gets these events.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20151212/375dafae/attachment.html>


More information about the wayland-devel mailing list