Re: [PATCH v3] Documentation: Add evdev type and code definitions
flat view
From: Chase Douglas <hidden>
Date: 2011-03-24 19:46:00
Also in:
lkml
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 [off-list ref] wrote:quoted
+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. 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?
quoted
+ +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.
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