From: Nick Dyer <nick.d...@itdev.co.uk>

If T9.CTRL DISAMP is set, then pressure is reported as zero. This means
some app layers (eg tslib) will ignore the contact.

Signed-off-by: Nick Dyer <nick.d...@itdev.co.uk>
---
 drivers/input/touchscreen/atmel_mxt_ts.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c 
b/drivers/input/touchscreen/atmel_mxt_ts.c
index 2d1fddafb7f9..d7023d261458 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
@@ -843,6 +843,10 @@ static void mxt_proc_t9_message(struct mxt_data *data, u8 
*message)
                        mxt_input_sync(data);
                }
 
+               /* if active, pressure must be non-zero */
+               if (!amplitude)
+                       amplitude = MXT_PRESSURE_DEFAULT;
+
                /* Touch active */
                input_mt_report_slot_state(input_dev, MT_TOOL_FINGER, 1);
                input_report_abs(input_dev, ABS_MT_POSITION_X, x);
-- 
2.17.1

Reply via email to