[PATCH] Staging: melfas_mip4: add palm sequence

From: junghoonHyun
Date: Mon Mar 20 2023 - 04:00:40 EST


add palm processing logic

Signed-off-by: JungHoon Hyun <hyunjunghoon@xxxxxxxxxx>
---
drivers/input/touchscreen/melfas_mip4.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/melfas_mip4.c b/drivers/input/touchscreen/melfas_mip4.c
index acdfbdea2b6e..311a6a1c0ac4 100644
--- a/drivers/input/touchscreen/melfas_mip4.c
+++ b/drivers/input/touchscreen/melfas_mip4.c
@@ -525,7 +525,11 @@ static void mip4_report_touch(struct mip4_ts *ts, u8 *packet)
} else if (state) {
/* Press or Move event */
input_mt_slot(ts->input, id);
- input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, true);
+ if (palm)
+ input_mt_report_slot_state(ts->input, MT_TOOL_PALM, true);
+ else
+ input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, true);
+
input_report_abs(ts->input, ABS_MT_POSITION_X, x);
input_report_abs(ts->input, ABS_MT_POSITION_Y, y);
input_report_abs(ts->input, ABS_MT_PRESSURE, pressure);
@@ -1483,6 +1487,9 @@ static int mip4_probe(struct i2c_client *client)
input->keycodesize = sizeof(*ts->key_code);
input->keycodemax = ts->key_num;

+ input_set_abs_params(input, ABS_MT_TOOL_TYPE,
+ 0, MT_TOOL_PALM, 0, 0);
+
input_set_abs_params(input, ABS_MT_POSITION_X, 0, ts->max_x, 0, 0);
input_set_abs_params(input, ABS_MT_POSITION_Y, 0, ts->max_y, 0, 0);
input_set_abs_params(input, ABS_MT_PRESSURE,
--
2.25.1