aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOskari Saarenmaa <[email protected]>2012-04-03 09:46:32 -0700
committerDmitry Torokhov <[email protected]>2012-04-03 09:55:51 -0700
commitd626dad58f02e13730ded6ac84d6a9e53123f0e8 (patch)
treeea3254fc6319cb1e9ad79ca1bc4c9dbd5c4ee1e0
parent79026ff2b6e7bee5b79a61e0721b6d9bf0e99b56 (diff)
Input: sentelic - filter taps in absolute mode
Taps in absolute positioning single-finger mode are currently reported as physical clicks by the driver. This should be handled by userspace, not the kernel. When a tap occurs, the FSP_PB0_LBTN bit is set, but the FSP_PB0_PHY_BTN is not. We use this to filter out physical clicks from taps. Signed-off-by: Oskari Saarenmaa <[email protected]> Reviewed-by: Tai-hwa Liang <[email protected]> Reviewed-by: Chase Douglas <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
-rw-r--r--drivers/input/mouse/sentelic.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/input/mouse/sentelic.c b/drivers/input/mouse/sentelic.c
index a977bfaa6821..661a0ca3b3d6 100644
--- a/drivers/input/mouse/sentelic.c
+++ b/drivers/input/mouse/sentelic.c
@@ -741,6 +741,14 @@ static psmouse_ret_t fsp_process_byte(struct psmouse *psmouse)
}
} else {
/* SFAC packet */
+ if ((packet[0] & (FSP_PB0_LBTN|FSP_PB0_PHY_BTN)) ==
+ FSP_PB0_LBTN) {
+ /* On-pad click in SFAC mode should be handled
+ * by userspace. On-pad clicks in MFMC mode
+ * are real clickpad clicks, and not ignored.
+ */
+ packet[0] &= ~FSP_PB0_LBTN;
+ }
/* no multi-finger information */
ad->last_mt_fgr = 0;