Re: [PATCH v3] bcm5974: Set BUTTONPAD property
From: Chase Douglas <hidden>
Date: 2012-01-17 19:06:43
On 01/17/2012 07:57 PM, Henrik Rydberg wrote:
quoted
Imagine a tablet driver only has INPUT_PROP_DIRECT set. According to the "unknown" definition, it's ok to leave INPUT_PROP_POINTER as unset. But then userspace will end up treating it like a touchscreen instead of a tablet.INPUT_PROP_DIRECT and INPUT_PROP_POINTER go together, remember? Thus, there is no problem using the input properties to determine the (touchscreen, touchpad, tablet) types.
Sorry, I forgot. Which means this needs to be documented too :).
quoted
If you are unwilling to backport property bits to stable kernels, then I don't think we have any other choice than to leave the definition as "unset bits are unknown", but it clearly puts userspace in a bind. Because the evdev event codes are clear (BTN_TOUCH means touchscreen, BTN_TOOL_FINGER means touchpad) and these property bits are not, I doubt userspace will ever rely on the direct and pointer property bits.BUTTONPAD If set, treat as button pad. If not set and bcm5974, look at result of older method. Else, treat as not button pad. SEMIMT If set, treat as semimt device. If not set, treat as not semimt device. There, all four types are now fully defined and backwards compatible.
These two are more straightforward. We can easily handle these properties as "unknown" without breaking things. It's the other bits that are problematic. -- Chase