On Wed, Dec 15, 2010 at 02:37:54AM +0100, Henrik Rydberg wrote: > Hi Chase, > > > > > > I gave this some more thought, and I was close to accepting it with > > documentation of the above restrictions. Then I thought of how the > > following two devices would be presented to userspace: > > > > 1. A real MT device supporting up to 2 touches (e.g. a bamboo touch) > > - ABS_{X,Y}, BTN_TOUCH, BTN_TOOL_FINGER, and BTN_TOOL_DOUBLETAP for ST > > - ABS_MT_SLOT, ABS_MT_TRACKING_ID, ABS_MT_POSITION_{X,Y}, ABS_MT_TOOL_TYPE > > > > 2. A partial MT device using MT_TOOL_ENVELOPE (e.g. synaptics MT) > > - ABS_{X,Y}, BTN_TOUCH, BTN_TOOL_FINGER, and BTN_TOOL_DOUBLETAP for ST > > - ABS_MT_SLOT, ABS_MT_TRACKING_ID, ABS_MT_POSITION_{X,Y}, ABS_MT_TOOL_TYPE > > > > Note that they are identical! The range of values for each axis would be > > identical too. The only way to tell the two apart would be to watch for > > the ABS_MT_TOOL_TYPE axis. Question: does the driver really need to know this data beforehand? I'd expect MT-aware driver simply having handlers for both styles and then doing the best it can with the data stream it gets... There should not be ambiguity as to what event is - I believe we should be sending BTN_TOOL_ENVELOPE even for the single/first contact for devices that do not do full MT tracking. > > > Ping has touched upon this subject as well, from the pen & touch perspective. > Generally, some ABS axes are actually enumerations, for which we have no direct > abstraction. If we had a way to declare the used values for such enumerations, > it would resolve these and possibly other issues. I think that presence of pen/touch can be detected by having BTN_TOOL_PEN and BTN_TOOL_FINGER. However in this case the tool is finger, so I do not think we should introduce BTN_TOOL_ENVELOPE. Maybe this is another case where we should employ the proposed device flags? Anyway, it looks like we have a few concerns with current MT_TOOL_ENVELOPE so I want to rewind my 'next' branch. -- Dmitry -- 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