[PATCH v2 wayland-protocols] Add the tablet protocol
Bill Spitzak
spitzak at gmail.com
Sun Dec 13 18:13:32 PST 2015
I should point out that a big surprise for me was discovering that
acceleration was applied to the relative motion of the tool. I
discovered that while trying to draw rectangles to determine the scale
and realized that only if I moved really slowly would I get the same
size every time.
I had been using this pretty naturally for sketching and I would have
thought that acceleration would mess this up, but obviously it does not
and I was not even aware it was happening.
Acceleration means some simple ideas about reusing absolute mode code
and just moving the tablet->screen mapping rectangle on each
proximity-in will not work, as that would have no acceleration.
I need to test the Mac and Windows drivers to see what they do, and also
see if acceleration is necessary by turning it off. Possibly it is not
needed.
Despite this I found that I had adjusted it so that the size on-screen
of the slowest motion is almost exactly the same as the distance the
stylus moves.
On 12/12/2015 12:15 PM, Bill Spitzak wrote:
>
>
> On Tue, Dec 8, 2015 at 2:00 PM, Peter Hutterer <peter.hutterer at who-t.net
> <mailto: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.
>
More information about the wayland-devel
mailing list