Commit d626dad5 authored by Oskari Saarenmaa's avatar Oskari Saarenmaa Committed by Dmitry Torokhov

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: default avatarOskari Saarenmaa <os@ohmu.fi>
Reviewed-by: default avatarTai-hwa Liang <avatar@sentelic.com>
Reviewed-by: default avatarChase Douglas <chase.douglas@canonical.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 79026ff2
...@@ -741,6 +741,14 @@ static psmouse_ret_t fsp_process_byte(struct psmouse *psmouse) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment