drivers/input/tsdev.c patch

From: Andrew Zabolotny
Date: Sat Apr 17 2004 - 13:18:26 EST


I've tried to use the tsdev.c driver to emulate the old-style Compaq
touchscreen protocol on a newer kernel (I'm working on kernel 2.6.3-hh2,' branch). But I've observed that the driver is half-complete,
contains some very bad bugs and lacks features to make it useable.

To avoid clobbering this high-volume list, I've posted my patch at (~12K). Here's what it tries to achieve:

- Not only emulates the protocol of the old /dev/h3600_ts device (via
/dev/input/ts[0-7]), but also creates an additional device node
/dev/input/tsraw[0-7] which emulates the protocol of the old h3600_tsraw
device. Some old applications needs one, some another, some both.

- Support the ioctls for setting the calibration parameters. The default
calibration matrix is computed from the xres,yres parameters (the old
behaviour), however this is not enough for a good translation from touchscreen
space to screen space.

- Fixed a old bug in tsdev that made the driver basically unusable for any
serious work. The bug was that if old coordinates were X1,Y1 and new
coordinates are X2,Y2, the driver would output to user space a series of
three events with coordinates: X1,Y1 X2,Y1 X2,Y2. This happened not only
with coordinates, but with pressure too. Thus the output of the device was
pretty much unusable. I doubt someone was able to use the old tsdev device
successfuly, if someone did, tell me how.


P.S. Please cc: to me while replying since I'm not subscribed to this list due
to its high volume. If a discussion would start on this topic, I'll subscribe
but I don't think so due to limited useability of the old driver.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at