Chuck Ebbert 1d13b01
From: Chris Bagwell <chris@cnpbagwell.com>
Chuck Ebbert 1d13b01
Date: Sun, 12 Sep 2010 07:12:28 +0000 (-0700)
Chuck Ebbert 1d13b01
Subject: Input: wacom - disable Bamboo touchpad when pen is being used
Chuck Ebbert 1d13b01
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fdtor%2Finput.git;a=commitdiff_plain;h=33d5f713a19b0f5cb93e0594f7206d2730cf39da
Chuck Ebbert 1d13b01
Chuck Ebbert 1d13b01
Input: wacom - disable Bamboo touchpad when pen is being used
Chuck Ebbert 1d13b01
Chuck Ebbert 1d13b01
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
Chuck Ebbert 1d13b01
Acked-by: Ping Cheng <pingc@wacom.com>
Chuck Ebbert 1d13b01
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Chuck Ebbert 1d13b01
---
Chuck Ebbert 1d13b01
Chuck Ebbert 1d13b01
diff --git a/drivers/input/tablet/wacom_wac.c b/drivers/input/tablet/wacom_wac.c
Chuck Ebbert 1d13b01
index 536156b..e1b65ba 100644
Chuck Ebbert 1d13b01
--- a/drivers/input/tablet/wacom_wac.c
Chuck Ebbert 1d13b01
+++ b/drivers/input/tablet/wacom_wac.c
Chuck Ebbert 1d13b01
@@ -866,7 +866,13 @@ static int wacom_bpt_touch(struct wacom_wac *wacom)
Chuck Ebbert 1d13b01
 	for (i = 0; i < 2; i++) {
Chuck Ebbert 1d13b01
 		int p = data[9 * i + 2];
Chuck Ebbert 1d13b01
 		input_mt_slot(input, i);
Chuck Ebbert 1d13b01
-		if (p) {
Chuck Ebbert 1d13b01
+		/*
Chuck Ebbert 1d13b01
+		 * Touch events need to be disabled while stylus is
Chuck Ebbert 1d13b01
+		 * in proximity because user's hand is resting on touchpad
Chuck Ebbert 1d13b01
+		 * and sending unwanted events.  User expects tablet buttons
Chuck Ebbert 1d13b01
+		 * to continue working though.
Chuck Ebbert 1d13b01
+		 */
Chuck Ebbert 1d13b01
+		if (p && !wacom->shared->stylus_in_proximity) {
Chuck Ebbert 1d13b01
 			int x = get_unaligned_be16(&data[9 * i + 3]) & 0x7ff;
Chuck Ebbert 1d13b01
 			int y = get_unaligned_be16(&data[9 * i + 5]) & 0x7ff;
Chuck Ebbert 1d13b01
 			if (features->quirks & WACOM_QUIRK_BBTOUCH_LOWRES) {