From: Randy Dunlap <rdunlap@xenotime.net>
To: Henrik Rydberg <rydberg@euromail.se>
Cc: 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>,
Peter Hutterer <peter.hutterer@who-t.net>,
Benjamin Tissoires <tissoire@cena.fr>,
Stephane Chatty <chatty@enac.fr>,
Rafi Rubin <rafi@seas.upenn.edu>,
Michael Poole <mdpoole@troilus.org>
Subject: Re: [PATCH 2/2] input: mt: Document the MT event slot protocol (rev4)
Date: Sun, 23 May 2010 10:24:13 -0700 [thread overview]
Message-ID: <20100523102413.2fee3f4c.rdunlap@xenotime.net> (raw)
In-Reply-To: <1274567437-2818-2-git-send-email-rydberg@euromail.se>
On Sun, 23 May 2010 00:30:37 +0200 Henrik Rydberg wrote:
> This patch adds documentation for the ABS_MT_SLOT event and gives
> examples of how to use the event slot protocol.
>
> Reviewed-by: Ping Cheng <pingc@wacom.com>
> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
> ---
> Revision 4 incorporates the following changes:
> - Rename the slot event to ABS_MT_SLOT to keep all MT-related events
> in the same namespace.
> - Fix typo, thanks to Ping Cheng.
>
> Documentation/input/multi-touch-protocol.txt | 204 ++++++++++++++++++--------
> 1 files changed, 140 insertions(+), 64 deletions(-)
>
> diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt
> index c0fc1c7..92be65e 100644
> --- a/Documentation/input/multi-touch-protocol.txt
> +++ b/Documentation/input/multi-touch-protocol.txt
> @@ -6,31 +6,146 @@ Multi-touch (MT) Protocol
...
> +Protocol Usage
> +--------------
> +
> +Contact details are sent sequentially as separate packets of ABS_MT
> +events. Only the ABS_MT events are recognized as part of a contact
> +packet. Since these events are ignored by current single-touch (ST)
> +applications, the MT protocol can be implemented on top of the ST protocol
> +in an existing driver.
> +
> +Drivers for type A devices mark the end of a packet by calling the
end?
> +input_mt_sync() function, which generates a SYN_MT_REPORT event. This
> +instructs the receiver to accept the data for the current contact and
> +prepare to receive another. Drivers for type B devices mark the beginning
vs. beginning? Seems incongruous. And not just to the doc, but to
producers and consumers as well.
> +of a packet by calling the input_mt_slot() function with a slot as
> +argument, which generates an ABS_MT_SLOT event. This instructs the receiver
> +to prepare for updates of the given slot.
> +
> +The end of a multi-touch transfer is marked by calling the usual
The end method is done for Types A and B, right?
> +input_sync() function. This instructs the receiver to act upon events
> +accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new set
> +of events/packets.
> +
...
> @@ -192,20 +277,11 @@ finger along the X axis (1).
> Finger Tracking
> ---------------
>
> -The kernel driver should generate an arbitrary enumeration of the set of
> -anonymous contacts currently on the surface. The order in which the packets
> -appear in the event stream is not important.
> -
> The process of finger tracking, i.e., to assign a unique trackingID to each
> -initiated contact on the surface, is left to user space; preferably the
> -multi-touch X driver [3]. In that driver, the trackingID stays the same and
> -unique until the contact vanishes (when the finger leaves the surface). The
> -problem of assigning a set of anonymous fingers to a set of identified
> -fingers is a euclidian bipartite matching problem at each event update, and
> -relies on a sufficiently rapid update rate.
> -
> -There are a few devices that support trackingID in hardware. User space can
> -make use of these native identifiers to reduce bandwidth and cpu usage.
> +initiated contact on the surface, is a Euclidian Bipartite Matching
> +problem. At each event synchronization, the set of actual contacts are
is
> +matched to the set of contacts from the previous synchronization. A full
> +implementation can be found in [3].
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
next prev parent reply other threads:[~2010-05-23 17:24 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-22 22:30 [PATCH 1/2] input: mt: Introduce MT event slots (rev 5) Henrik Rydberg
2010-05-22 22:30 ` [PATCH 2/2] input: mt: Document the MT event slot protocol (rev4) Henrik Rydberg
2010-05-23 6:52 ` Ping Cheng
2010-05-23 6:52 ` Ping Cheng
2010-05-23 9:20 ` Henrik Rydberg
2010-05-23 9:20 ` Henrik Rydberg
2010-05-23 17:24 ` Randy Dunlap [this message]
2010-05-23 22:27 ` Henrik Rydberg
2010-05-23 23:46 ` Randy Dunlap
2010-05-23 23:47 ` Ping Cheng
2010-05-24 7:13 ` Henrik Rydberg
2010-05-24 17:01 ` Ping Cheng
2010-05-24 18:02 ` Henrik Rydberg
2010-05-24 18:13 ` Dmitry Torokhov
2010-05-24 18:31 ` Henrik Rydberg
2010-05-25 16:33 ` Ping Cheng
2010-05-25 16:33 ` Ping Cheng
2010-06-10 13:56 ` Pavel Machek
2010-06-10 16:28 ` Henrik Rydberg
2010-06-10 14:15 ` [PATCH 1/2] input: mt: Introduce MT event slots (rev 5) Chase Douglas
2010-06-15 4:59 ` Rafi Rubin
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=20100523102413.2fee3f4c.rdunlap@xenotime.net \
--to=rdunlap@xenotime.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=peter.hutterer@who-t.net \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.