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