From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
To: Benjamin Tissoires <benjamin.tissoires@gmail.com>,
Jiri Kosina <jkosina@suse.cz>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
David Herrmann <dh.herrmann@gmail.com>,
Henrik Rydberg <rydberg@euromail.se>,
Antonio Ospite <ospite@studenti.unina.it>,
simon@mungewell.org, case@corpsmoderne.net,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 3/3] input: reintroduce filtering of mt axis when the device is not multitouch
Date: Wed, 20 Nov 2013 16:32:21 -0500 [thread overview]
Message-ID: <1384983141-31019-4-git-send-email-benjamin.tissoires@redhat.com> (raw)
In-Reply-To: <1384983141-31019-1-git-send-email-benjamin.tissoires@redhat.com>
Some devices (like the PS3 Sixaxis) have a lot of absolute axis which
are mapped by hid-input on ABS_MISC and beyond. These axis interfere
with the multitouch protocol.
The kernel considers those device to be following the multitouch protocol
A, and removes the filtering of such events.
We can rely on INPUT_PROP_MT to know if the device is multitouch or not,
and then rely on mt to know if the device uses the protocol B.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
---
Documentation/input/multi-touch-protocol.txt | 3 ++-
drivers/input/input.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/Documentation/input/multi-touch-protocol.txt b/Documentation/input/multi-touch-protocol.txt
index 420444f..b476845 100644
--- a/Documentation/input/multi-touch-protocol.txt
+++ b/Documentation/input/multi-touch-protocol.txt
@@ -55,7 +55,8 @@ surface. The order in which the packets appear in the event stream is not
important. Event filtering and finger tracking is left to user space [3].
Note that type A device are requested to manually set the property
-INPUT_PROP_MT.
+INPUT_PROP_MT. If this property is not set, the absolute multitouch axis
+will be statefull, so this step is now mandatory.
Type B devices does not need to set INPUT_PROP_MT manually, as this is done
by calling input_mt_init_slot().
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 1198785..239639e 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -224,7 +224,8 @@ static int input_handle_abs_event(struct input_dev *dev,
return INPUT_IGNORE_EVENT;
}
- is_mt_event = input_is_mt_value(code);
+ is_mt_event = test_bit(INPUT_PROP_MT, dev->propbit) &&
+ input_is_mt_value(code);
if (!is_mt_event) {
pold = &dev->absinfo[code].value;
--
1.8.3.1
next prev parent reply other threads:[~2013-11-20 21:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-20 21:32 [PATCH 0/3] Fixes for multitouch / generic gamepads interaction Benjamin Tissoires
2013-11-20 21:32 ` [PATCH 1/3] Only process ABS_MT_SLOT where there are slots available Benjamin Tissoires
2013-11-21 1:45 ` simon
2013-11-21 4:56 ` Dmitry Torokhov
2013-11-21 10:25 ` Antonio Ospite
2013-11-21 15:53 ` Benjamin Tissoires
2013-11-20 21:32 ` [PATCH 2/3] input: Introduce INPUT_PROP_MT Benjamin Tissoires
2013-11-21 4:57 ` Dmitry Torokhov
2013-11-20 21:32 ` Benjamin Tissoires [this message]
2013-11-21 12:38 ` [PATCH 0/3] Fixes for multitouch / generic gamepads interaction 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=1384983141-31019-4-git-send-email-benjamin.tissoires@redhat.com \
--to=benjamin.tissoires@redhat.com \
--cc=benjamin.tissoires@gmail.com \
--cc=case@corpsmoderne.net \
--cc=dh.herrmann@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=jkosina@suse.cz \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ospite@studenti.unina.it \
--cc=rydberg@euromail.se \
--cc=simon@mungewell.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).