On 03/09/2010 04:59 PM, Henrik Rydberg wrote:
Rafi Rubin wrote:
Since you're considering protocol clarification, what's your opinion on
splitting the multi-touch and single touch (possibly emulated) to
separate input devices?
The multi-touch protocol was designed to complement single-touch, not replace
it. The MT events were specifically designed to be ignored by current userland
applications, so there is no need to separate them into different devices.
On the contrary, the MT protocol is dependent on one of the single-touch events
BTN_TOUCH or ABS_PRESSURE to be present in the event stream for proper device
identification and for correct handling of zero-finger events. The latter
because at least one value (BTN_TOUCH or ABS_PRESSURE) must change state to pass
through input filtering when no fingers are present. This is what needs
clarification.
Also BTN_0 or BTN_TOOL_DOUBLETAP for single touch (or both)? It seems
to me Wacom uses doubletap, whereas my hardware's rdesc defaults to btn0
and evdev prefers btn0 as well.
Single touch should be goverened by one of BTN_TOUCH or ABS_PRESSURE.
BTN_TOOL_DOUBLETAP is a two-finger event.
That definitely makes sense to me. I really don't know why wacom uses
double tap there.
Is there any harm in letting through the BTN_0 events? Is the "rdesc"
mapping defined by the hardware or hid?
For my device touch contacts look like this:
Digitizers.TipSwitch ---> Key.Touch
Digitizers.InRange ---> Key.ToolPen
Digitizers.Confidence ---> Key.Btn0
Digitizers.ContactID ---> Sync.Report
GenericDesktop.X ---> Absolute.MTPositionX
GenericDesktop.Y ---> Absolute.MTPositionY
Digitizers.Width ---> Absolute.MTMajor
Digitizers.Height ---> Absolute.MTMinor
ff00.0002 ---> Sync.Report
ff00.0002 ---> Sync.Report
ff00.0002 ---> Sync.Report
ff00.0002 ---> Sync.Report
Hence some of my confusion about setting both Touch and another button
(the ToolPen bit seemed less pertinent).
Rafi
--
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