All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.