Raw mouse input is distorted

Peter Hutterer peter.hutterer at who-t.net
Wed Sep 17 19:32:00 PDT 2008


On Wed, Sep 17, 2008 at 06:46:17AM -0700, Hauberg wrote:
>   Now, my problem is that X seems to somehow accelerate the output from the
> 'usbtouchscreen' module, so that when I move my finger to the left, the
> cursor moves about twice as far to the left as my finger did. This does not
> correspond to the output from the 'usbtouchscreen' module. So, I'm a bit
> confused here: does X place the cursor at the position outputted by the
> kernel, or does it do some fancy things?

after a quick 30s peek into the evtouch driver:
it always inits x/y with a range of [0-1024]. you'd need to change this (in
EVTouchPreInit) to reflect the real range of the coordinates you post from the
driver module.

all events are posted as absolute from the evtouch driver
(xf86PostMotionEvent, xf86PostButtonEvent), which means they will get scaled
by the server into the screen space, i.e. if the screen has a resolution is
2048, this means that the device coordinate 512 will map to the screen
coordinate 1024.

This could be the reason for your scaling issue. Setting up the axes with the
right values should fix that. alternatively, you could make sure the kernel
driver pre-scales to a range of 0-1024.

Cheers,
  Peter



More information about the xorg mailing list