42 lines
1.7 KiB
Diff
42 lines
1.7 KiB
Diff
From 6544a1df11c48c8413071aac3316792e4678fbfb Mon Sep 17 00:00:00 2001
|
|
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
Date: Mon, 11 Jan 2016 17:35:38 -0800
|
|
Subject: [PATCH] Input: elantech - mark protocols v2 and v3 as semi-mt
|
|
|
|
When using a protocol v2 or v3 hardware, elantech uses the function
|
|
elantech_report_semi_mt_data() to report data. This devices are rather
|
|
creepy because if num_finger is 3, (x2,y2) is (0,0). Yes, only one valid
|
|
touch is reported.
|
|
|
|
Anyway, userspace (libinput) is now confused by these (0,0) touches,
|
|
and detect them as palm, and rejects them.
|
|
|
|
Commit 3c0213d17a09 ("Input: elantech - fix semi-mt protocol for v3 HW")
|
|
was sufficient enough for xf86-input-synaptics and libinput before it has
|
|
palm rejection. Now we need to actually tell libinput that this device is
|
|
a semi-mt one and it should not rely on the actual values of the 2 touches.
|
|
|
|
Cc: stable@vger.kernel.org
|
|
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
|
|
---
|
|
drivers/input/mouse/elantech.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c
|
|
index 537ebb0e193a..78f93cf68840 100644
|
|
--- a/drivers/input/mouse/elantech.c
|
|
+++ b/drivers/input/mouse/elantech.c
|
|
@@ -1222,7 +1222,7 @@ static int elantech_set_input_params(struct psmouse *psmouse)
|
|
input_set_abs_params(dev, ABS_TOOL_WIDTH, ETP_WMIN_V2,
|
|
ETP_WMAX_V2, 0, 0);
|
|
}
|
|
- input_mt_init_slots(dev, 2, 0);
|
|
+ input_mt_init_slots(dev, 2, INPUT_MT_SEMI_MT);
|
|
input_set_abs_params(dev, ABS_MT_POSITION_X, x_min, x_max, 0, 0);
|
|
input_set_abs_params(dev, ABS_MT_POSITION_Y, y_min, y_max, 0, 0);
|
|
break;
|
|
--
|
|
2.5.0
|
|
|