Touchscreen troubles

Tias tias at ulyssis.org
Sat Dec 12 14:36:07 PST 2009


Hi Petr,

If you think it is related to calibration, you can try 
xinput_calibrator. Its a generic touchscreen calibration utility (still 
depends on GTK-mm for now, will be fixed in the next version):
http://www.freedesktop.org/wiki/Software/xinput_calibrator

If you have a recent version of the X server and evdev, it can 
dynamically recalibrate the evdev driver. If not, it will print the 
min/max X and Y values on stdout.
It calibrates the Xorg driver (and the values that the X server 
receives). You report calibrating from the values of the kernel, maybe 
using a user-space tool will solve your problem ?

If you want to find out what the X server thinks of your touchscreen 
actions, install xinput and run:
 > xinput test "TS name"
you can also check the output of
 > xinput query-state "TS name"
to find out the exact coordinates of your touches.
(this will probably be similar to the 'xidump' you mentioned though)

Kind regards,
Tias


Petr Štetiar wrote:
> Hi,
> 
> I'm trying to get working 22" resistive 5-wire touchscreen with USB
> controller, it's ET&T TC5UH[1]. I'm using Ubuntu 9.04 with Xorg server 1.6.0,
> evdev version 2.3.2 compiled manualy. I've set calibration[1] gathered using
> values from kernel printk. It kind of works, but only on half of the screen,
> top-lef part:
> 
> <crappy-ascii-art>
> 
>        [x=284; y=279]      [x=1846; y=230]          [x=3633; y=189]
> 		 +-----------------+-------------------+
> 		 |                                .  / |
> 		 |                           .  /      |
> 		 |  working part         . /           |
> 		 |                   . /               |
> [x=209; y=1914]  +               . + [x=1352; y=1697]  + [x=2697; y=1212]
> 		 |           . /                       |
> 		 |       . /          not working      |
> 		 |   . /              part             |
> 		 | /                                   |
> 		 +-----------------+-------------------+
>        [x=165; y=3652]      [x=875; y=3023]        [x=1693; y=2136]
> 
> </crappy-ascii-art>
> 
> If I touch bottom-right corner I get from kernel driver x=1685, y=2220 and
> from xidump x=1785, y=2383 and it seems like almost correct values, but cursor
> is moving only in top-left part, near middle of the screen. I tried without
> calibration values also, swapping axes, but I can't get it working. For me, it
> seems, that the kernel reported and evdev reported values are correct, but
> it's then wrongly interpreted somewhere in Xorg code, and pointer doesn't move
> correctly.
> 
> So my questions are, should I upgrade to latest Xorg, or should evdev version
> 2.3.2 work in older Xorg version 1.6.0 also? How to debug this? Where should I
> look in Xorg code? Did I missed some settings? Thanks a lot.
> 
> -- ynezz
> 
> 1. http://bit.ly/8BVM87
> 2. Calibration: "153 3666 187 3680"
> _______________________________________________
> xorg mailing list
> xorg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg
> 



More information about the xorg mailing list