From: Lukasz Stelmach <stlman@poczta.fm>
To: LKML <linux-kernel@vger.kernel.org>
Subject: [PATCH] use multitouch touchpad events as buttons mousedev
Date: Mon, 09 Mar 2009 02:03:22 +0100 [thread overview]
Message-ID: <49B46ADA.5060809@poczta.fm> (raw)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
- --- drivers/input/mousedev.c~ 2009-03-08 15:11:11.000000000 +0100
+++ drivers/input/mousedev.c 2009-03-09 00:27:34.000000000 +0100
@@ -316,7 +316,7 @@
wake_up_interruptible(&mousedev->wait);
}
- -static void mousedev_touchpad_touch(struct mousedev *mousedev, int value)
+static void mousedev_touchpad_touch(struct mousedev *mousedev, unsigned int code, int value)
{
if (!value) {
if (mousedev->touch &&
@@ -327,13 +327,23 @@
* We rely on the fact that mousedev_mix always has 0
* motion packet so we won't mess current position.
*/
- - set_bit(0, &mousedev->packet.buttons);
- - set_bit(0, &mousedev_mix->packet.buttons);
+ int index;
+
+ switch (code) {
+ case BTN_TOOL_DOUBLETAP: index = 1; break;
+
+ case BTN_TOOL_TRIPLETAP: index = 2; break;
+
+ default: index = 0;
+ }
+
+ set_bit(index, &mousedev->packet.buttons);
+ set_bit(index, &mousedev_mix->packet.buttons);
mousedev_notify_readers(mousedev, &mousedev_mix->packet);
mousedev_notify_readers(mousedev_mix,
&mousedev_mix->packet);
- - clear_bit(0, &mousedev->packet.buttons);
- - clear_bit(0, &mousedev_mix->packet.buttons);
+ clear_bit(index, &mousedev->packet.buttons);
+ clear_bit(index, &mousedev_mix->packet.buttons);
}
mousedev->touch = mousedev->pkt_count = 0;
mousedev->frac_dx = 0;
@@ -371,7 +381,7 @@
if (value != 2) {
if (code == BTN_TOUCH &&
test_bit(BTN_TOOL_FINGER, handle->dev->keybit))
- - mousedev_touchpad_touch(mousedev, value);
+ mousedev_touchpad_touch(mousedev, code, value);
else
mousedev_key_event(mousedev, code, value);
}
Some touchpads can recognize multi-finger taps. They can be used as
additional buttons (left and middle).
Signed-off-by: Łukasz Stelmach <stlman@poczta.fm>
Please CC any comments.
- --
Było mi bardzo miło. Czwarta pospolita klęska, [...]
>Łukasz< Już nie katolicka lecz złodziejska. (c)PP
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkm0atoACgkQNdzY8sm9K9z8rQCfQkfJ4xHSEeao6yy9wzz/6zkT
t0kAni6046EHiTmVc7McixxEsrSfJZDS
=w8xZ
-----END PGP SIGNATURE-----
----------------------------------------------------------------------
Udar sloneczny prezesa Kaczynskiego... >>> http://link.interia.pl/f2083
next reply other threads:[~2009-03-09 1:03 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-09 1:03 Lukasz Stelmach [this message]
2009-04-16 2:11 ` [PATCH] use multitouch touchpad events as buttons mousedev Dmitry Torokhov
2009-04-18 17:53 ` Lukasz Stelmach
2009-04-18 22:13 ` 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=49B46ADA.5060809@poczta.fm \
--to=stlman@poczta.fm \
--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.