diff options
author | Thorsten Leemhuis <fedora@leemhuis.info> | 2016-02-20 08:34:59 +0100 |
---|---|---|
committer | Thorsten Leemhuis <fedora@leemhuis.info> | 2016-02-20 08:34:59 +0100 |
commit | 64d3258298a61aab120966886b54d19e015bf4d3 (patch) | |
tree | 4209de5e1b28c311a52c1827946ebe8c64ecd47e /Input-elantech-mark-protocols-v2-and-v3-as-semi-mt.patch | |
parent | d26910b25b830ef05a560b8700623aa0bb0226cc (diff) | |
parent | ebc7bd5b5a635b53395693d20c4fbc4b353ae2a7 (diff) | |
download | kernel-64d3258298a61aab120966886b54d19e015bf4d3.tar.gz kernel-64d3258298a61aab120966886b54d19e015bf4d3.tar.xz kernel-64d3258298a61aab120966886b54d19e015bf4d3.zip |
Merge remote-tracking branch 'origin/f23' into f23-user-thl-vanilla-fedora
Diffstat (limited to 'Input-elantech-mark-protocols-v2-and-v3-as-semi-mt.patch')
-rw-r--r-- | Input-elantech-mark-protocols-v2-and-v3-as-semi-mt.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Input-elantech-mark-protocols-v2-and-v3-as-semi-mt.patch b/Input-elantech-mark-protocols-v2-and-v3-as-semi-mt.patch new file mode 100644 index 000000000..c02a0f53b --- /dev/null +++ b/Input-elantech-mark-protocols-v2-and-v3-as-semi-mt.patch @@ -0,0 +1,41 @@ +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 + |