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:
parent
79026ff2b6
commit
d626dad58f
|
@ -741,6 +741,14 @@ static psmouse_ret_t fsp_process_byte(struct psmouse *psmouse)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* SFAC packet */
|
/* 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 */
|
/* no multi-finger information */
|
||||||
ad->last_mt_fgr = 0;
|
ad->last_mt_fgr = 0;
|
||||||
|
|
Loading…
Reference in New Issue