Messages in this thread Patch in this message | | | From | junghoonHyun <> | Subject | [PATCH] Staging: melfas_mip4: add palm sequence | Date | Mon, 20 Mar 2023 17:00:12 +0900 |
| |
add palm processing logic
Signed-off-by: JungHoon Hyun <hyunjunghoon@melfas.com> --- 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
| |