evdev driver issue - only getting y-axis events

Vinay Reddy vinayvinay at gmail.com
Mon Jun 26 11:31:59 PDT 2006


> I have a touchscreen input device
> I: Bus=0003 Vendor=0000 Product=ffff Version=0100
> N: Name="Nextwindow Touchscreen"
> P: Phys=usb-0000:00:1d.0-2/input0
> S: Sysfs=/class/input/input0
> H: Handlers=event0 js0
> B: EV=b
> B: KEY=70000 0 0 0 0 0 0 0 0
> B: ABS=3
>
> There appears to be a 'bug' in the evdev xorg input driver, our device
> generally only responds in the Y-Axis with X-Axis updates being skipped
> 99% of the time.

This happens with our absolute device too...

> I have managed to 'fix' the driver by messing around with the source, by
> turning off the double buffering of the input, specifically changing
> line 201 and 268 in evdev_axes.c from
> n = state->abs->n & 1;
> to
> n = 0;

This fix will only work if the device doesn't have any relative axes
(in addition to the absolute axes). Else, the driver assumes the wrong
number of axes and the relative axis (wheel in my case) gets mapped
onto X...

I'm still trying to figure out how/why that's happenning...

Vinay



More information about the xorg mailing list