From: Peter Hutterer <peter.hutterer@who-t.net>
To: Ping Cheng <pinglinux@gmail.com>
Cc: Henrik Rydberg <rydberg@euromail.se>,
Rafi Rubin <rafi@seas.upenn.edu>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
Mika Kuoppala <mika.kuoppala@nokia.com>,
Benjamin Tissoires <tissoire@cena.fr>,
Stephane Chatty <chatty@enac.fr>,
Michael Poole <mdpoole@troilus.org>
Subject: Re: [PATCH 2/2] input: mt: Document the MT event slot protocol (rev2)
Date: Mon, 24 May 2010 16:15:03 +1000 [thread overview]
Message-ID: <20100524061503.GA20447@barra.redhat.com> (raw)
In-Reply-To: <AANLkTimoAPwV8IUox5MpOrFsefdte15dSCmNnuZ7bCOn@mail.gmail.com>
On Sun, May 23, 2010 at 10:48:35PM -0700, Ping Cheng wrote:
> On Sun, May 23, 2010 at 10:25 PM, Peter Hutterer
> <peter.hutterer@who-t.net> wrote:
> > On Fri, May 21, 2010 at 11:25:41PM +0200, Henrik Rydberg wrote:
> >> Ping Cheng wrote:
> >> > On Fri, May 21, 2010 at 8:19 AM, Rafi Rubin <rafi@seas.upenn.edu> wrote:
> >> [...]
> >> >> Ping: please confirm, are you actually talking about each finger simultaneously sending multiple positions?
> >> >
> >> > You are definitely on the right track. The fingers/touch objects can
> >> > be represented two-dimensionally (x,y) instead of one-dimensionally
> >> > (ABS_MT_TRACKING_ID). I think we can survive with the current MT_BLOB
> >> > definition although some optimization would be helpful, especially for
> >> > filtering. For the sake of Henrik great effort, I'd like to see his
> >> > current patchset gets in the tree before we start another round of
> >> > "suggestions".
> >> >
> >> > Thank you for asking.
> >>
> >> Regarding blobs, I confused myself yesterday. The original intention of the blob
> >> id was in fact to be able to "paint" more generic contact forms. However, no
> >> driver has come close to doing this yet, so it has gotten close to no attention.
> >> Now, to address the question of how to communicate more elaborate contact forms,
> >> it seems one can combine the two goals "one position per slot" and "multiple
> >> positions per contact" by simply repeating the same tracking id for a set of
> >> slots, like this:
> >>
> >> ABS_SLOT 0
> >> ABS_MT_TRACKING_ID 14
> >> ABS_MT_POSITION_X x[0]
> >> ABS_MT_POSITION_Y y[0]
> >> ABS_SLOT 1
> >> ABS_MT_TRACKING_ID 14
> >> ABS_MT_POSITION_X x[1]
> >> ABS_MT_POSITION_Y y[1]
> >> ABS_SLOT 2
> >> ABS_MT_TRACKING_ID 14
> >> ABS_MT_POSITION_X x[2]
> >> ABS_MT_POSITION_Y y[2]
> >>
> >> Not all too different from what you suggested, and there is no blob id involved
> >> at all. And yes, it would require additional parsing power at the user end.
> >> Something for later.
> >
> > This is confusing me now :)
> >
> > How would a device get multiple x/y coordinates for a single contact? I
> > could understand a range of coordinates but that's what we have the
> > ABS_MT_WIDTH_MAJOR/MINOR for. If a touchpoint sends two different x/y
> > coordinates, wouldn't that be two touchpoints, tracked individually and thus
> > with a different tracking ID?
> >
> > I read the example above as _the_ example for using blob IDs to combine
> > multiple contacts into one semantic contact.
>
> As Henrik pointed out, the current BLOB format is for "more generic
> contact forms", such as rectangles or ellipses. They are special
> blobs. A generic (true) blob doesn't have to have a regular shape. It
> is most likely in an irregular shape. They would be represented in an
> array of points/contacts/(x,y)s, whichever term works for you :).
Hmm. I always assumed blob is for irregular shapes, and rectangles or others
are just subsets of irregular shapes (with slightly less 'ir', maybe).
So what would be the difference between these two event streams?
ABS_SLOT 0
ABS_MT_TRACKING_ID 14
ABS_MT_POSITION_X x[0]
ABS_MT_POSITION_Y y[0]
ABS_SLOT 1
ABS_MT_TRACKING_ID 14
ABS_MT_POSITION_X x[1]
ABS_MT_POSITION_Y y[1]
ABS_SLOT 0
ABS_MT_TRACKING_ID 14
ABS_MT_BLOB_ID 1
ABS_MT_POSITION_X x[0]
ABS_MT_POSITION_Y y[0]
ABS_SLOT 1
ABS_MT_BLOB_ID 1
ABS_MT_TRACKING_ID 15
ABS_MT_POSITION_X x[1]
ABS_MT_POSITION_Y y[1]
Cheers,
Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-05-24 6:17 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-18 20:10 [PATCH] input: mt: Introduce MT event slots (rev 3) Henrik Rydberg
2010-05-18 20:10 ` [PATCH 2/2] input: mt: Document the MT event slot protocol (rev2) Henrik Rydberg
2010-05-19 2:37 ` Peter Hutterer
2010-05-19 12:12 ` Henrik Rydberg
2010-05-20 0:13 ` Peter Hutterer
2010-05-20 7:11 ` Dmitry Torokhov
2010-05-20 10:46 ` Henrik Rydberg
2010-05-20 10:40 ` Henrik Rydberg
2010-05-24 4:58 ` Peter Hutterer
2010-05-24 6:07 ` Ping Cheng
2010-05-24 10:03 ` Henrik Rydberg
2010-05-24 15:59 ` Dmitry Torokhov
2010-05-24 17:06 ` Ping Cheng
2010-05-24 17:21 ` Dmitry Torokhov
2010-05-24 17:33 ` Ping Cheng
2010-05-24 17:48 ` Henrik Rydberg
2010-05-24 18:04 ` Dmitry Torokhov
2010-05-24 19:19 ` Henrik Rydberg
2010-05-19 22:43 ` Ping Cheng
2010-05-19 23:34 ` Rafi Rubin
2010-05-20 0:13 ` Ping Cheng
2010-05-20 0:26 ` Rafi Rubin
2010-05-20 0:51 ` Ping Cheng
2010-05-20 1:03 ` Rafi Rubin
2010-05-20 4:18 ` Ping Cheng
2010-05-20 0:21 ` Peter Hutterer
2010-05-20 0:34 ` Rafi Rubin
2010-05-20 7:08 ` Henrik Rydberg
2010-05-20 22:19 ` Ping Cheng
2010-05-20 22:48 ` Henrik Rydberg
2010-05-21 3:35 ` Ping Cheng
2010-05-21 15:19 ` Rafi Rubin
2010-05-21 15:40 ` Ping Cheng
2010-05-21 21:25 ` Henrik Rydberg
2010-05-22 3:10 ` Ping Cheng
2010-05-24 5:25 ` Peter Hutterer
2010-05-24 5:48 ` Ping Cheng
2010-05-24 6:15 ` Peter Hutterer [this message]
2010-05-24 9:49 ` Henrik Rydberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100524061503.GA20447@barra.redhat.com \
--to=peter.hutterer@who-t.net \
--cc=akpm@linux-foundation.org \
--cc=chatty@enac.fr \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mdpoole@troilus.org \
--cc=mika.kuoppala@nokia.com \
--cc=pinglinux@gmail.com \
--cc=rafi@seas.upenn.edu \
--cc=rydberg@euromail.se \
--cc=tissoire@cena.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).