2023-10-17 13:12:13

by Markus Burri

[permalink] [raw]
Subject: [PATCH v0001 1/1] input/ts: ili210x: send abs-mt-pressure for untouched

Send the ABS_MT_PRESSURE event in case of untouched with zero pressure.
Multitouch pressure is only sent on first touch.

Therefore send an ABS_MT_PRESSURE event in case of untouched with zero pressure.
This avoids that the next ABS_MT_PRESSURE event will
be filtered out by input_defuzz_abs_event() in input.c since the pressure
value has not changed.

Signed-off-by: Markus Burri <[email protected]>
---
drivers/input/touchscreen/ili210x.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/ili210x.c b/drivers/input/touchscreen/ili210x.c
index e9bd36a..6b79513 100644
--- a/drivers/input/touchscreen/ili210x.c
+++ b/drivers/input/touchscreen/ili210x.c
@@ -318,7 +318,8 @@ static bool ili210x_report_events(struct ili210x *priv, u8 *touchdata)
if (priv->chip->has_pressure_reg)
input_report_abs(input, ABS_MT_PRESSURE, z);
contact = true;
- }
+ } else if (priv->chip->has_pressure_reg)
+ input_report_abs(input, ABS_MT_PRESSURE, 0);
}

input_mt_report_pointer_emulation(input, false);
--
2.39.2