evdev: support for touchscreens not providing BTN_TOUCH

Peter Korsgaard jacmet at sunsite.dk
Mon May 23 00:11:52 PDT 2011

>>>>> "Peter" == Peter Hutterer <peter.hutterer at who-t.net> writes:


 >> Notice that this touchscreen works out of the box on Windows without
 >> any custom driver (just the standard HID).

 Peter> We've had a discussion about this in September at a MT workshop
 Peter> and it's a bit of a weak argument. AIUI, companies don't get the
 Peter> Win7 stamp of approval if it doesn't work with the standard HID
 Peter> driver. And my guess is that the standard HID driver is all but
 Peter> standard but merely the HID driver forward-ported from Win(n-1),
 Peter> including several quirks that have been there in the past -
 Peter> because removing those would break support for older devices.
 Peter> So we don't know what the windows standard HID driver does but
 Peter> we do know that companies are unlikely to sell devices that
 Peter> don't work against that driver. so standard HID is defined as
 Peter> "whatever Win7 accepts".

Indeed. The fact that it works on Windows doesn't mean that it follows
the HID standard completely/correctly. Nevertheless, reality trumps
theory, and we have lots of cases where we tweak the Linux kernel
behaviour to better match Windows to get devices to work (E.G. all the
USB quirks).

 Peter> Really, hearing a sentence along the line of "we don't know what
 Peter> this HID field is for either but we use it this way and Win7
 Peter> accepts it" from a HW person was quite interesting.

Yeah :/

 >> Peter, would you accept a patch doing that?

 Peter> yes, I think the best solution here would be to compare rel and
 Peter> abs axes and prioritise the axes that have x/y over the ones
 Peter> that don't. which is a general issue with evdev, the rel vs abs
 Peter> check is a bit too coarse. there are axes that are more
 Peter> important than others.

Great, I'll try to cook up a patch.

Bye, Peter Korsgaard

More information about the xorg-devel mailing list