On Thu, Mar 24, 2011 at 2:45 PM, Chase Douglas <chase.douglas@xxxxxxxxxxxxx> wrote: > On 03/24/2011 02:44 PM, Chris Bagwell wrote: >> Looking good. Minor comments at end. >> >> On Thu, Mar 24, 2011 at 12:44 PM, Chase Douglas >> <chase.douglas@xxxxxxxxxxxxx> wrote: >>> +Touchscreens: >>> +---------- >>> +ABS_{X,Y} must be reported with the location of the touch. BTN_TOUCH must be >>> +used to report when a touch is active on the screen. >>> +BTN_{MOUSE,LEFT,MIDDLE,RIGHT} must not be reported. BTN_TOOL_<name> events >>> +should be reported where possible. >> >> Does the real button event restriction solve something? I know >> majority of touchscreens are not sending a button today but usually >> there is a button on the touchscreen frame that I'd image at least >> some devices hooking it up to touchscreen interface. >> >> stylus+touchscreen combo devices are surely going to want to do this. > > Perhaps this should be more clearly for touchscreen-only devices (not > tablets or a mix). The problem we end up seeing is drivers who use > BTN_LEFT because they want a touch to generate a primary button press in > X. I want to prevent people from doing this. Oh, yes. We do not want that for sure. I thought you were talking about "real" buttons and not something from a touch. I would have gotten it on first read if it said "BTN_* must not be reported as a result of active touch." > > I believe mixed devices are hard to detect between tablets and > stylus+touchscreen right now, as evidenced by the X evdev driver not > handling the former by default while wacom is often used for the latter. > However, with the device properties a userspace driver should be able to > tell the two apart. > > I'll rename this guideline: Touchscreens without stylus tools. Any issues? I think either original name or new name is fine. The above intent doesn't change even on combo devices. > >>> + >>> +Trackpads: >>> +---------- >>> +Legacy trackpads that only provide relative position information must report >>> +events like mice described above. >>> + >>> +Trackpads that provide absolute touch position must report ABS_{X,Y} for the >>> +location of the touch. BTN_TOUCH should be used to report when a touch is active >>> +on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should >>> +be used to report the number of touches active on the trackpad. >> >> How about a Tablet? >> >> Something like: >> >> Tablets: >> -------- >> >> BTN_TOOL_<name> events must be reported when a stylus or other tool is >> active on tablet. ABS_{X,Y} must be reported with the location of the >> tool. BTN_TOUCH should be used to report when the tool is in contact >> with the tablet. BTN_{STYLUS,STLUS2} should be used to report buttons >> on tool itself and BTN_{LEFT,MIDDLE,RIGHT,1,2,etc} should be used to >> report buttons on tablet. > > Thanks for the addition! I'll add it in and add you on a SOB line if > that's alright with you. Sure thing. Chris > >> Some tablets send ABS_PRESSURE with no BTN_TOUCH (why I said should >> instead of must). Probably this is not worth mentioning here? > > Yeah, I'd leave that off as I think we want to set the guidelines to use > BTN_TOUCH. > > Thanks, > > -- Chase > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html