Multitouch support and kernel drivers.

525 views
Skip to first unread message

StC

unread,
Oct 22, 2010, 6:38:58 PM10/22/10
to android-platform
Hi,

I am Stéphane Chatty, the author of most kernel drivers for multitouch
devices. I was recently alerted by a user that Android makes use of
these drivers, but that to be recognized as multitouch a device must
declare that it emits MT_TOUCH_MAJOR.

Is this correct? That would be a problem, because this event (like
MT_TOUCH_MINOR and MT_ORIENTATION) is emitted only by devices that
detect contact size, and only a minority does. Maybe the author or
maintainer of the corresponding code would like to discuss this with
me (chatty at enac.fr) and Henrik Rydberg (at euromail.se) so as to
support as many devices as possible.

Best regards,

St.

Dianne Hackborn

unread,
Oct 22, 2010, 9:30:35 PM10/22/10
to android-...@googlegroups.com
This is the code for detecting multitouch input devices:


--
You received this message because you are subscribed to the Google Groups "android-platform" group.
To post to this group, send email to android-...@googlegroups.com.
To unsubscribe from this group, send email to android-platfo...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-platform?hl=en.




--
Dianne Hackborn
Android framework engineer
hac...@android.com

Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails.  All such questions should be posted on public forums, where I and others can see and answer them.

Dianne Hackborn

unread,
Oct 22, 2010, 9:38:54 PM10/22/10
to android-...@googlegroups.com
Also, here is the current framework code for processing raw touch events from the driver.  Note that it requires MT_TOUCH_MAJOR.

jeff...@android.com

unread,
Oct 22, 2010, 10:04:36 PM10/22/10
to android-platform
This issue will be resolved in an upcoming platform release. :)

Unfortunately for Eclair and Froyo the driver must declare that it
supports ABS_MT_TOUCH_MAJOR. The driver must also emit a non-zero
value for ABS_MT_TOUCH_MAJOR in events whenever a finger is down. It
might be possible to hack the framework to remove this requirement,
however.

Jeff.

On Oct 22, 6:38 pm, Dianne Hackborn <hack...@android.com> wrote:
> Also, here is the current framework code for processing raw touch events
> from the driver.  Note that it requires MT_TOUCH_MAJOR.
>
> http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;...
>
> On Fri, Oct 22, 2010 at 6:30 PM, Dianne Hackborn <hack...@android.com>wrote:
>
>
>
> > This is the code for detecting multitouch input devices:
>
> >http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;...
>
> > On Fri, Oct 22, 2010 at 3:38 PM, StC <cha...@enac.fr> wrote:
>
> >> Hi,
>
> >> I am Stéphane Chatty, the author of most kernel drivers for multitouch
> >> devices. I was recently alerted by a user that Android makes use of
> >> these drivers, but that to be recognized as multitouch a device must
> >> declare that it emits MT_TOUCH_MAJOR.
>
> >> Is this correct? That would be a problem, because this event (like
> >> MT_TOUCH_MINOR and MT_ORIENTATION) is emitted only by devices that
> >> detect contact size, and only a minority does. Maybe the author or
> >> maintainer of the corresponding code would like to discuss this with
> >> me (chatty at enac.fr) and Henrik Rydberg (at euromail.se) so as to
> >> support as many devices as possible.
>
> >> Best regards,
>
> >> St.
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "android-platform" group.
> >> To post to this group, send email to android-...@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> android-platfo...@googlegroups.com<android-platform%2Bunsu...@googlegroups.com>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/android-platform?hl=en.
>
> > --
> > Dianne Hackborn
> > Android framework engineer
> > hack...@android.com
>
> > Note: please don't send private questions to me, as I don't have time to
> > provide private support, and so won't reply to such e-mails.  All such
> > questions should be posted on public forums, where I and others can see and
> > answer them.
>
> --
> Dianne Hackborn
> Android framework engineer
> hack...@android.com

StC

unread,
Oct 23, 2010, 4:44:59 AM10/23/10
to android-platform


On 23 oct, 04:04, "jeffbr...@android.com" <jeffbr...@android.com>
wrote:
> This issue will be resolved in an upcoming platform release.  :)

In what we call 'protocol A' (the multitouch protocol defined by
Henrik Rydberg in 2009), the only common features to all panels are
ABS_MT_X and ABS_MT_Y (plus a special sync event). In the new
'protocol B' that will replace protocol A for all devices that are
able to perform finger tracking (90% of all devices so far), the
common features will be ABS_MT_SLOT, ABS_MT_X, ABS_MT_Y and
ABS_MT_TRACKING_ID. Others (pressure, size) are optional and pretty
uncommon so far.

Protocol B is implemented in kernel 2.6.36. Drivers that produce it
will appear in 2.6.37.

Hope this helps. I'm currently not an Android user and don't follow
the Android forums. Please cc me if you want to get me involved in
further discussions about this.

St.

Der_Caveman

unread,
Feb 11, 2011, 8:23:51 AM2/11/11
to android-...@googlegroups.com
Hi!

Just read this thread...

But it did not answer this:
Is Froyo supporting linux multitouch protocol B already?

TIA,
Der_Caveman
Reply all
Reply to author
Forward
0 new messages