On 05/20/2011 09:08 AM, Peter Korsgaard wrote: > Hi, > > I've recently tested a lumio crystaltouch touchscreen on Linux, and > xf86-input-evdev unfortunately gets confused and handles it as a mouse. > > It provides the following events: > > Input driver version is 1.0.1 > Input device ID: bus 0x3 vendor 0x202e product 0x5 version 0x111 > Input device name: "LUMIO Inc LUMIO CrystalTouch ver 1.1C" > Supported events: > Event type 0 (Sync) > Event type 1 (Key) > Event code 272 (LeftBtn) > Event code 273 (RightBtn) > Event code 274 (MiddleBtn) > Event type 2 (Relative) > Event code 9 (Misc) > Event type 3 (Absolute) > Event code 0 (X) > Value 650 > Min 0 > Max 4095 > Event code 1 (Y) > Value 3221 > Min 0 > Max 4095 > Event type 4 (Misc) > Event code 4 (ScanCode) > Testing ... (interrupt to exit) > Event: time 1305882024.934011, type 4 (Misc), code 4 (ScanCode), value 90001 > Event: time 1305882024.934017, type 1 (Key), code 272 (LeftBtn), value 1 > Event: time 1305882024.934029, type 3 (Absolute), code 0 (X), value 270 > Event: time 1305882024.934034, type 3 (Absolute), code 1 (Y), value 1513 > Event: time 1305882024.934039, type 2 (Relative), code 9 (Misc), value 1 > Event: time 1305882024.934043, -------------- Report Sync ------------ > Event: time 1305882024.943019, type 2 (Relative), code 9 (Misc), value 1 > Event: time 1305882024.943025, -------------- Report Sync ------------ > Event: time 1305882024.951998, type 3 (Absolute), code 0 (X), value 275 > Event: time 1305882024.952006, type 3 (Absolute), code 1 (Y), value 1519 > Event: time 1305882024.952010, type 2 (Relative), code 9 (Misc), value 1 > > Whichs leads to evdev configuring it as a mouse as there's no BTN_TOUCH: > > [ 563.001] (**) LUMIO Inc LUMIO CrystalTouch ver 1.1C: always reports core > events > [ 563.001] (**) LUMIO Inc LUMIO CrystalTouch ver 1.1C: Device: > "/dev/input/event17" > [ 563.020] (--) LUMIO Inc LUMIO CrystalTouch ver 1.1C: Found 3 mouse buttons > [ 563.020] (--) LUMIO Inc LUMIO CrystalTouch ver 1.1C: Found relative axes > [ 563.020] (--) LUMIO Inc LUMIO CrystalTouch ver 1.1C: Found absolute axes > [ 563.020] (--) LUMIO Inc LUMIO CrystalTouch ver 1.1C: Found x and y > absolute axes > [ 563.020] (II) LUMIO Inc LUMIO CrystalTouch ver 1.1C: Configuring as mouse > [ 563.020] (**) LUMIO Inc LUMIO CrystalTouch ver 1.1C: YAxisMapping: > buttons 4 and 5 > [ 563.020] (**) LUMIO Inc LUMIO CrystalTouch ver 1.1C: EmulateWheelButton: > 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200 > [ 563.020] (**) Option "config_info" > "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.2/input/input19/event17" > [ 563.020] (II) XINPUT: Adding extended input device "LUMIO Inc LUMIO > CrystalTouch ver 1.1C" (type: MOUSE) > > So the absolute X/Y coordinates gets ignored and the REL_MISC event gets > handled as a relative motion of +1 in X direction - Not quite what we > want.
This is classic "works on android!" multitouch support. It's the reason I wrote documentation for the evdev protocol in the Linux kernel. The kernel driver needs to be fixed. I can only hope that when android moves to the "B" type multitouch protocol they will get things right and force driver writers to make compliant drivers that work in any window system. Sorry if that's not too much help for you, but past experiences show it's not too hard to add BTN_TOUCH to existing android drivers. -- Chase _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
