Thread (9 messages) flat view 9 messages, 3 authors, 2011-02-02

Re: Elo TouchSystems touchscreen support? (04e7:0022)

From: Benjamin Tissoires <hidden>
Date: 2011-02-01 13:25:53

On Tue, Feb 1, 2011 at 13:01, Bastien Nocera [off-list ref] wrote:
On Tue, 2011-02-01 at 10:00 +0100, Benjamin Tissoires wrote:
quoted
Hi Bastien, Henrik,

On Mon, Jan 31, 2011 at 22:28, Henrik Rydberg [off-list ref] wrote:
quoted
Hi Bastien,
quoted
Built into my Lenovo A700 all-in-one is a touchscreen. lsusb says:
$ lsusb | grep -i touch
Bus 002 Device 006: ID 04e7:0022 Elo TouchSystems
I take it this is a dual-touch device?
quoted
The touchscreen "works", in that tapping it will create a click event,
though that click event is always in the top left of the screen.
This is quite common for HID multitouch devices without proper driver
support. Sometimes using the HID_MULTI_INPUT quirk helps. Check
usbhid/hid-quirks.c for examples.
quoted
Full output of lsusb -vvv attached.

Anybody with ideas as to what I'm missing, or whether that particular
device is supported?
You probably noted already that the 04e7:0020 device is listed in
usbhid. Unless the device claims to be win7 compliant (implying
patching up hid-multitouch), going with the evtouch X driver might get
you a bit on the way. Or - god forbid - the binary blob drivers...
To know if the device is "win7 compliant" or not, we need the full
output of lsusb (with the report descriptors).
You need to tell usbhid to release the device before calling lsusb -v.

Please use the script at
http://lii-enac.fr/en/architecture/linux-input/report.py
and run, as root: python report.py > descriptors.txt

This will do the job. You can then send us the descriptors.txt, and we
will see what we can do.
Attached (with the rest of the input devices stripped).
quoted
quoted
quoted
Using kernel 2.6.38-rc2-git5 (from Fedora rawhide).
If your device is "win7 compliant" you will have to recompile a new kernel.
That's alright, I've done this before ;)
Hi Bastian,

well, apparently your device should be supported by hid-multitouch.

We will have to do this in two passes:
1) we enable it with hid-multitouch to be able to understand the protocol.
2) we tune the driver in order not making useless operations in the kernel.


First pass:
- please get the branch multitouch of jiri's tree (at
http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=shortlog;h=refs/heads/multitouch)
- then apply the attached patch (git am
0001-hid-multitouch-Introduce-Elo-TouchSystems-2515-Intel.patch)
- get your config from your current kernel (check that hid-multitouch
is enabled as a module)
- compile, install, reboot
- Now your device should still work and must be handled by hid-multitouch
if it's the case:
- mount -t debugfs none /sys/kernel/debug
- tail -f -n0 /sys/kernel/debug/hid/0003:04e7:0022:*/events | tee
logs_04e7_0022.txt

do one finger move on the screen, release
do 2 fingers move on the screen, release the first finger, then the second.

hit Ctrl-C in the terminal (lots of debug info should have been printed).

And send me the logs_04e7_0022.txt to got to the second pass.

Thanks,
Benjamin

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help