Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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;