[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTimoAPwV8IUox5MpOrFsefdte15dSCmNnuZ7bCOn@mail.gmail.com>
Date: Sun, 23 May 2010 22:48:35 -0700
From: Ping Cheng <pinglinux@...il.com>
To: Peter Hutterer <peter.hutterer@...-t.net>
Cc: Henrik Rydberg <rydberg@...omail.se>,
Rafi Rubin <rafi@...s.upenn.edu>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
Mika Kuoppala <mika.kuoppala@...ia.com>,
Benjamin Tissoires <tissoire@...a.fr>,
Stephane Chatty <chatty@...c.fr>,
Michael Poole <mdpoole@...ilus.org>
Subject: Re: [PATCH 2/2] input: mt: Document the MT event slot protocol (rev2)
On Sun, May 23, 2010 at 10:25 PM, Peter Hutterer
<peter.hutterer@...-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@...s.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 :).
tbh, I don't know what exact format we are going to use. But, I feel
we can live with Henrik's current format, at least for a while.
Ping
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists