[xinput] coordinate system of root_x/y

David De La Harpe Golden david.delaharpe.golden at gmail.com
Mon Jul 28 14:19:02 PDT 2008


Peter Hutterer wrote:
> On Sun, Jul 27, 2008 at 12:43:58PM -0400, Thomas Jaeger wrote:
>> Thanks, I wasn't aware of that.  The the xserver package that comes with
>> ubuntu hardy (they call it 2:1.4.1~git20080131-1ubuntu9.2, fwiw)
>> contains a backport of the scaling bug fix, but root_x/y are reported in
>> screen coordinates.
> 
> do you know what value previous servers reported? In the end that's what 1.4.1
> and 1.5 should report too.

One thing to watch out for - at time of writing the linuxwacom configure
script /doesn't know/ there's an xserver 1.4.2 (and maybe 1.4.1) with
the bug fix, so you may want to pass --disable-quirk-tablet-rescale at
configure time to linuxwacom, otherwise the wacom driver will try its
workaround for the xorg scaling bug, which involves it prescaling its
axes' sizes down to match the screen, which might mislead you if you're
unaware it's doing that...

See also linuxwacom-discuss archive:
http://sourceforge.net/mailarchive/forum.php?thread_name=488BE6DE.2060605%40googlemail.com&forum_name=linuxwacom-discuss


FWIW, I can say that X 1.4.2 (debian/unstable package) with a
--disable-quirk-tablet-rescale configured linuxwacom gives me:

****A.  the x/y-axis min/max and values I would expect in xidump
(0-20480 0-15360).  This means that subpixel positioning works
in xinput apps.  However, these are presumably the valuators,
not root_x/y (see ****B.), though I may not be quite understanding
the xserver code, aren't root_x/y intended for core events?

xidump v0.8.0

InputDevice: stylus0
Valuators: Absolute   ID: Unreported  Serial Number: Unreported

             x-axis    y-axis   pressure   x-tilt    y-tilt     wheel
     data:  +01679    +01787    +00000    +00000    +00000    +00000
      min:  +00000    +00000    +00000    -00064    -00064    +00000
      max:  +20480    +15360    +00511    +00063    +00063    +01023
      res:  +00508    +00508    +00001    +00001    +00001    +00001


Proximity:  IN
    Focus:
  Buttons:  1-UP      2-UP
     Keys:


****B.  pointer movement core MotionNotify events are in screen
coordinates as seen in xev . This is presumably desirable too.

MotionNotify event, serial 32, synthetic NO, window 0x4000002,
    root 0x329, subw 0x0, time 249042817, (10,0), root:(715,200),
    state 0x0, is_hint 0, same_screen YES








More information about the xorg mailing list