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 <os@ohmu.fi>
Reviewed-by: Tai-hwa Liang <avatar@sentelic.com>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
Oskari Saarenmaa 2012-04-03 09:46:32 -07:00 committed by Dmitry Torokhov
parent 79026ff2b6
commit d626dad58f
1 changed files with 8 additions and 0 deletions

View File

@ -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;