All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Henrik Rydberg" <rydberg@euromail.se>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Jiri Kosina <jkosina@suse.cz>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	Henrik Rydberg <rydberg@euromail.se>
Subject: [PATCH] input: mt: Add an envelope tool type
Date: Tue,  7 Dec 2010 12:29:00 +0100	[thread overview]
Message-ID: <1291721340-22652-1-git-send-email-rydberg@euromail.se> (raw)

Some touch devices are capable of detecting the envelope or hull
of the touches, but not the touches themselves. This patch adds
the MT_TOOL_ENVELOPE touch type to be used for such devices.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
---
Hi all,

This patch represents an MT solution for those devices that can detect
and report some effects of dual touch, but cannot report individual
contacts. Synaptics and elantech are two examples. Having the drivers
report the bounding rectangle of the touches is useful in userland,
since the information makes it possible to implement zooming
gestures. At the same time, it would be confusing to send these
envelope points as fingers, since they clearly are not. As a remedy,
introduce MT_TOOL_ENVELOPE, which tells applications that care about
details that these are not real fingers, at the same time as it allows
gesture applications based on MT data to function without
modification.

Thanks,
Henrik

 Documentation/input/multi-touch-protocol.txt |    5 +++--
 include/linux/input.h                        |    2 ++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt
index bdcba15..690dd11 100644
--- a/Documentation/input/multi-touch-protocol.txt
+++ b/Documentation/input/multi-touch-protocol.txt
@@ -240,7 +240,7 @@ ABS_MT_TOOL_TYPE
 The type of approaching tool. A lot of kernel drivers cannot distinguish
 between different tool types, such as a finger or a pen. In such cases, the
 event should be omitted. The protocol currently supports MT_TOOL_FINGER and
-MT_TOOL_PEN [2].
+MT_TOOL_PEN and MT_TOOL_ENVELOPE [2].
 
 ABS_MT_BLOB_ID
 
@@ -312,7 +312,8 @@ where examples can be found.
 [1] With the extension ABS_MT_APPROACH_X and ABS_MT_APPROACH_Y, the
 difference between the contact position and the approaching tool position
 could be used to derive tilt.
-[2] The list can of course be extended.
+[2] ABS_MT_ENVELOPE contacts represent an envelope of the contacts rather
+than the actual contacts. Used with older, not fully MT capable, devices.
 [3] Multitouch X driver project: http://bitmath.org/code/multitouch/.
 [4] See the section on event computation.
 [5] See the section on finger tracking.
diff --git a/include/linux/input.h b/include/linux/input.h
index dd7c0fc..329dc0e 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -848,6 +848,8 @@ struct input_keymap_entry {
  */
 #define MT_TOOL_FINGER		0
 #define MT_TOOL_PEN		1
+#define MT_TOOL_ENVELOPE	2
+#define MT_TOOL_MAX		2
 
 /*
  * Values describing the status of a force-feedback effect
-- 
1.7.1


             reply	other threads:[~2010-12-07 11:29 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-07 11:29 Henrik Rydberg [this message]
2010-12-08 17:43 ` [PATCH] input: mt: Add an envelope tool type Chase Douglas
2010-12-08 18:23   ` Henrik Rydberg
2010-12-08 18:38     ` Chase Douglas
2010-12-08 18:52       ` Henrik Rydberg
2010-12-08 19:09         ` Chase Douglas
2010-12-08 19:23           ` Henrik Rydberg
2010-12-08 19:53             ` Mohamed Ikbel Boulabiar
2010-12-08 19:53               ` Mohamed Ikbel Boulabiar
     [not found]             ` <AANLkTi=iw+7CDhbO4N9rMVSwS0t93BaaBVgoAwz-GeHo@mail.gmail.com>
2010-12-08 20:02               ` Henrik Rydberg
2010-12-08 20:17                 ` Mohamed Ikbel Boulabiar
2010-12-08 20:44             ` Chase Douglas
2010-12-08 23:43   ` Ping Cheng
2010-12-08 23:58     ` Dmitry Torokhov
2010-12-09  0:06       ` Ping Cheng
2010-12-09  1:18         ` Henrik Rydberg
2010-12-09  1:22           ` Ping Cheng
2010-12-09  1:38         ` Mohamed Ikbel Boulabiar
2010-12-09  1:51           ` Henrik Rydberg
2010-12-09  1:12       ` Henrik Rydberg
2010-12-09  1:17         ` Dmitry Torokhov
2010-12-09  1:24           ` Henrik Rydberg
2010-12-09  1:20         ` Ping Cheng
2010-12-09  2:01           ` 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=1291721340-22652-1-git-send-email-rydberg@euromail.se \
    --to=rydberg@euromail.se \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --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.