From: Henrik Rydberg <rydberg@euromail.se>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
linux-input@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Subject: [PATCH] input: Add a detailed multi-touch finger data report protocol
Date: Fri, 07 Nov 2008 12:15:29 +0100 [thread overview]
Message-ID: <49142351.9080805@euromail.se> (raw)
In order to utilize the full power of the new multi-touch devices, a
way to report detailed finger data to user space is needed. This patch
adds a multi-touch (MT) protocol which allows drivers to report details
for an arbitrary number of fingers.
BTN_MT_REPORT_PACKET
The driver presses this button to indicate the start of a packet of
finger data. The button is released after the whole packet has been
reported.
BTN_MT_REPORT_FINGER
The driver presses this button to indicate the start of a new
finger. The button is released when the finger has been reported.
In order to stay compatible with existing applications, the data
reported in a finger packet must not be recognized as single-touch
events. Therefore, a specific set of ABS_MT events is used instead.
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
---
include/linux/input.h | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/include/linux/input.h b/include/linux/input.h
index b86fb55..c82dd42 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -590,6 +590,9 @@ struct input_absinfo {
#define KEY_NUMERIC_STAR 0x20a
#define KEY_NUMERIC_POUND 0x20b
+#define BTN_MT_REPORT_PACKET 0x210 /* report multitouch packet data */
+#define BTN_MT_REPORT_FINGER 0x211 /* report multitouch finger data */
+
/* We avoid low common keys in module aliases so they don't get huge. */
#define KEY_MIN_INTERESTING KEY_MUTE
#define KEY_MAX 0x2ff
@@ -642,6 +645,15 @@ struct input_absinfo {
#define ABS_TOOL_WIDTH 0x1c
#define ABS_VOLUME 0x20
#define ABS_MISC 0x28
+#define ABS_MT_TOUCH 0x30 /* Diameter of touching circle */
+#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */
+#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis of touching ellipse */
+#define ABS_MT_WIDTH 0x32 /* Diameter of approaching circle */
+#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */
+#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis of approaching ellipse */
+#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */
+#define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */
+#define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */
#define ABS_MAX 0x3f
#define ABS_CNT (ABS_MAX+1)
--
1.5.6.3
next reply other threads:[~2008-11-07 11:15 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-07 11:15 Henrik Rydberg [this message]
2008-11-07 13:34 ` [PATCH] input: Add a detailed multi-touch finger data report protocol J.R. Mauro
2008-11-07 14:26 ` Henrik Rydberg
2008-11-07 14:36 ` J.R. Mauro
2008-11-07 14:52 ` Henrik Rydberg
2008-11-07 14:57 ` J.R. Mauro
2008-11-07 15:07 ` Henrik Rydberg
2008-11-11 4:08 ` Peter Hutterer
2008-11-08 0:51 ` Arjan Opmeer
2008-11-08 10:43 ` Henrik Rydberg
2008-11-08 11:29 ` Arjan Opmeer
2008-11-08 12:02 ` Henrik Rydberg
2008-11-11 4:13 ` Peter Hutterer
2008-11-11 4:20 ` Peter Hutterer
2008-11-11 11:19 ` Henrik Rydberg
2008-11-19 16:37 ` Dmitry Torokhov
2008-11-19 16:54 ` Jim Gettys
2008-11-19 23:34 ` Henrik Rydberg
2008-11-21 14:43 ` Jim Gettys
2008-11-19 23:31 ` Henrik Rydberg
2008-11-21 14:44 ` Henrik Rydberg
2008-11-21 16:04 ` Dmitry Torokhov
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=49142351.9080805@euromail.se \
--to=rydberg@euromail.se \
--cc=akpm@linux-foundation.org \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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.