Mailing List Archive

[PATCH] IRTOUCHSYSTEMS support for usbtouchscreen
Hello,
this patch adds support for IRTOUCHSYSTEMS (or UNITOP) infrared touchscreens.

The manufacturer (http://www.irtouch.com) provides only closed source drivers
for specific kernel versions (looks like GPL violation, btw.) which I haven't
even tried (as there's no chance that any of the modules could work with
2.6.22-rc kernel). They also don't provide any protocol specification.

So I made this code (attached) after observing the data stream with usbmon for
a while. If someone is interested in my observations, here are the results:

The touchscreen sends data in 8-byte packets.
BYTE 0 - unknown meaning, seen only one value: 0x54
BYTE 1 - unknown meaning, 3 lowest bits indicate touch state
values seen: 0x81, 0x82 or 0x83
bit 0 = set if the screen is touched and was not touched before (touch
bit 1 = set if the screen is touched and was touched (dragging)
bit 2 = set if the touch was ended (release)
BYTES 2 and 3 - X position, high-order-byte first, range = 0 to 0x0FFF
BYTES 4 and 5 - Y position, high-order-byte first, range = 0 to 0x0FFF
BYTE 6 - unknown meaning, seen only one value: 0xFF
BYTE 7 - unknown meaning, seen only one value: 0x00

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>

--
Ondrej Zary