From nobody Fri May 17 07:48:24 2024 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail(p=none dis=none) header.from=nabijaczleweli.xyz Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1613583214404534.7035935422176; Wed, 17 Feb 2021 09:33:34 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234475AbhBQRdG (ORCPT ); Wed, 17 Feb 2021 12:33:06 -0500 Received: from [139.28.40.42] ([139.28.40.42]:46874 "EHLO tarta.nabijaczleweli.xyz" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S234141AbhBQRcl (ORCPT ); Wed, 17 Feb 2021 12:32:41 -0500 Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 838B3360135; Wed, 17 Feb 2021 18:22:31 +0100 (CET) X-Greylist: delayed 563 seconds by postgrey-1.27 at vger.kernel.org; Wed, 17 Feb 2021 12:32:26 EST DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nabijaczleweli.xyz; s=202006; t=1613582551; bh=Hf4nKRB8+MGr3EN3mWaLIlVmQ4/HMM8ISiBIcOu0J2s=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=TuSDx0HPyiuDxVlHcQJD4nnMUgLXHlBEizchqtaG25OUAe22XxQWtUOSD8hV+L5YV C57GZyr8gdXCJOqXv/r1m4DPRblI2bedTggIWAg0EAjRbDxgrt/ZFD50+za9l1HyKq jfO8MrYK9UqvR5aIc/LRLpsx75TZcDzLRymPx6iUdUHdltxycu1Gnt0kLHDnfzatW7 ZfGPjNI4zLdU/ZZT92PLsXl9tWQdFUw+10LkaagL9x0WKtd6g/rMFsnCxC4VBgL49T P663JFO/6fJl9tL382KzuAEfnhGQs20OTHg6WFCexhhI/h2kcbT2qQSW+3dQmcbuwQ 71p01ntMqa+Pw== Date: Wed, 17 Feb 2021 18:22:30 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Benjamin Tissoires , Peter Hutterer , Jiri Kosina , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/4] HID: multitouch: require Finger field to mark Win8 reports as MT Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="eakd3eys7z4o23tq" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20210205 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Zoho-Virus-Status: 1 X-ZohoMail-DKIM: fail (Header signature does not verify) --eakd3eys7z4o23tq Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This effectively changes collection_is_mt from contact ID in report->field to (device is Win8 =3D> collection is finger) && contact ID in report->field Some devices erroneously report Pen for fingers, and Win8 stylus-on-touchscreen devices report contact ID, but mark the accompanying touchscreen device's collection correctly Signed-off-by: Ahelenia Ziemia=C5=84ska --- drivers/hid/hid-multitouch.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 8429ebe7097e..8580ace596c2 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -604,9 +604,13 @@ static struct mt_report_data *mt_allocate_report_data(= struct mt_device *td, if (!(HID_MAIN_ITEM_VARIABLE & field->flags)) continue; =20 - for (n =3D 0; n < field->report_count; n++) { - if (field->usage[n].hid =3D=3D HID_DG_CONTACTID) - rdata->is_mt_collection =3D true; + if (field->logical =3D=3D HID_DG_FINGER || td->hdev->group !=3D HID_GROU= P_MULTITOUCH_WIN_8) { + for (n =3D 0; n < field->report_count; n++) { + if (field->usage[n].hid =3D=3D HID_DG_CONTACTID) { + rdata->is_mt_collection =3D true; + break; + } + } } } =20 --=20 2.20.1 --eakd3eys7z4o23tq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmAtUNYACgkQvP0LAY0m WPHPSA//YsRvCRQI513wn8lHJTTH7OoAnEBwukjx/BMXL/rZ1TqN1Eh+bh0h5q8z yMvWkWW0A8hp+Me8rZr0FTC30xTvgdsdmy9mO+0SpvBE2AL9S7zaD3LZMYcaSYUo 6dNK3H4aF6FSiXTER4HoYJ0OIF8zrmtzLvk5xrWccruGbZBcubd226DhY8OFkYzq Fm3GuRDihlyu4oH9lv4/ocvfL5KEhfTaijq/LZOkhlBEU0b/ELl0hr9tIsOpvt3u GJsqA2ILPNJXk1tfi3QCruPCQLh6oi6YAuE0ZOpE2sdqf3WaL1qMVmEjbG/W3ttF SnMtw8s4vKWGyCZbvX63rS7v1cz+om4wlc70nkqcFfr833I9B0RlVLZNuZeUo5eG 8UH7I+4SM/mWyDwL0FN3zYsibLi3AjUb5a33NYgEPpkFz/JFi8cCZ56WW4QH8P2U JTioJGrAy1LyTRpL2AG/gkBixBmKxilYEo04+Q6Xt0ZcxqbUUKqgvRkaBjibQN9f HghLEtKo6Rmz7OXXS/NLyZxDRDAWCaAAsJZC8N8VV+A/2tFOJPzWahpye/j4zYpt 4KLVsBvtlqHqFbzTQMprginpCfEaGkfqk7FCBF67iaXB+eQVASZS7Y7tK8QN144a dMHBJrThqDJnqD4jN0EjOlPRJKJBpwzo5CuyPYemhGxmtaVLeOI= =wP0s -----END PGP SIGNATURE----- --eakd3eys7z4o23tq-- From nobody Fri May 17 07:48:24 2024 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail(p=none dis=none) header.from=nabijaczleweli.xyz ARC-Seal: i=1; a=rsa-sha256; t=1613583274; cv=none; d=zohomail.com; s=zohoarc; b=n+2zexYeJYU3SBfrcRAhdC8ErQUaHeLkAn1Qzc8oGgs2RBw0Qv3Ltcw9tLAvbObwPp26pgCWS5coKE5J8vIPxZRFUq6MmPg6kwMudP+HyxkdR86KVgvbC4dFp6D40Z6DaYOP0nQD6bwD1O6d5vslqRSyEN66svt3DraulyFGVDk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613583274; h=Content-Type:Cc:Date:From:In-Reply-To:List-Id:MIME-Version:Message-ID:References:Subject:To; bh=ipuxjbuSb7wp9BgtfIKn2tPVocIRTwHtvwrjOv54/ps=; b=hN+sVQmV8Lto/04E45Bc39K1pqSxQaKfuhZ0ak86Iy4UVO6cGtJI3W7BzLDOMLF++ZqTIfURcJEnTBMUb2bxeMx8k94BZvg6+7ppP5SpdveyxHdtJPviV3zqCI2eTGFK1bw2SiZ2fQpZN8VOSa/Bt7SUWpf6WVGhT7fcdj1A1Y8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1613583273625913.863728787284; Wed, 17 Feb 2021 09:34:33 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234520AbhBQRdn (ORCPT ); Wed, 17 Feb 2021 12:33:43 -0500 Received: from [139.28.40.42] ([139.28.40.42]:46876 "EHLO tarta.nabijaczleweli.xyz" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S234199AbhBQRcq (ORCPT ); Wed, 17 Feb 2021 12:32:46 -0500 Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id CCF3C360145; Wed, 17 Feb 2021 18:22:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nabijaczleweli.xyz; s=202006; t=1613582558; bh=b15Rm9F+Q8HK8S3bxl9+1GFx0SJ2qQ2WbsdlEjo8Ln8=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=jgvYsIZSqzKYyyroDahGpmA2ElYaCk8ow6rxR3yV5q7Rdhl4LNha7tsYcsSzx5Do1 FLdHtMIm02myizRYwHm2CSMPHzzLsX0Vgy1WpvuMGG142kV19FfuNW5d56xhBkzBPu lLvxqalDuZGEtaOV22JOLM5r7WtEOP5HycbVhrJ3nZtdef/vJJfyCgax4MnRV4k4+d qRwMdpteJn+fDQgNaRkJdkGACLVF48TDpJUolzgvy5gIPTq2nNkY/lbvODupZJRWmQ bi0bGMSzK3e3WYdU89Ix2oqiVjhLHzMJ3RP16egIUBEnWAhqSW6kkbyeBm37+bgVCY NZ65WnZUlk5CA== Date: Wed, 17 Feb 2021 18:22:37 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Benjamin Tissoires , Peter Hutterer , Jiri Kosina , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/4] HID: multitouch: set Stylus suffix for Stylus-application devices, too Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ocw7ij72o57mqf5q" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20210205 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Zoho-Virus-Status: 1 X-ZohoMail-DKIM: fail (Header signature does not verify) --ocw7ij72o57mqf5q Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" This re-adds the suffix to Win8 stylus-on-touchscreen devices, now that they aren't erroneously marked as MT Signed-off-by: Ahelenia Ziemia=C5=84ska --- drivers/hid/hid-multitouch.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 8580ace596c2..e5a3704b9fe8 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -1580,13 +1580,13 @@ static int mt_input_configured(struct hid_device *h= dev, struct hid_input *hi) /* we do not set suffix =3D "Touchscreen" */ hi->input->name =3D hdev->name; break; - case HID_DG_STYLUS: - /* force BTN_STYLUS to allow tablet matching in udev */ - __set_bit(BTN_STYLUS, hi->input->keybit); - break; case HID_VD_ASUS_CUSTOM_MEDIA_KEYS: suffix =3D "Custom Media Keys"; break; + case HID_DG_STYLUS: + /* force BTN_STYLUS to allow tablet matching in udev */ + __set_bit(BTN_STYLUS, hi->input->keybit); + fallthrough; case HID_DG_PEN: suffix =3D "Stylus"; break; --=20 2.20.1 --ocw7ij72o57mqf5q Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmAtUN0ACgkQvP0LAY0m WPGdtw//eA+19oRYkCnBKkpW/XJgXJW9gxaTXW0e6Aotrfc4IJJb8KO1t+7sBERJ +5+9f7ZwvGGYDQ4zBPa578BcYOQpx/pUEZNL194OoBA3AN8GZpwi+Sc7ThDNW6Ox EYptJolBaodY6Ek/PzupT2QJco5f0eHBXVCD498A/GsswkXwvgThghDR1vQLM1Ym E0O2W/ULwBtBKVdXExEkCETZBQrATLNxCW23cStZ1Ts0zqe3axpxSS4TMSBkRzDs 6tUUHTg6D1I4UqmoaOPSOF6wAX/WbS+MYxj4P1XjmEVVJ84by13cqYudpgmhqbQ5 cF846MzLXtAjIjdQDombsJQqVr8ZMlB8luVj5mOnaF3zCePRdjgFSspijPm7RF0G xJF+6yktDXOfGU10T3mefg1o6K5e8hJ7McbCAUXlBDOcOwauC+jXSWlqbTqTddUR XNlJY57j/EK7nmKUeCwsjb5PJrfswAaaLPeyYyX9Tz9676UcXgsYq2YEsQGjB+5y ghxARR01hEbb0d4tWfXXhPntfUrbIXWT3QRJB8Wfs+bODPAuh7xkt0FTwzjtKRf0 MN1QAsuwEu3NpblHY4EkCGyWw6iYzM9edzPlKPyvZ+xVmxYWsOpY1RG6bmO/0hAF npFdV7mt0zFouc7NBedGz4zTjblHfebvsr/K8uN0qNu7yAPBHnQ= =2bcP -----END PGP SIGNATURE----- --ocw7ij72o57mqf5q-- From nobody Fri May 17 07:48:24 2024 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail(p=none dis=none) header.from=nabijaczleweli.xyz ARC-Seal: i=1; a=rsa-sha256; t=1613583392; cv=none; d=zohomail.com; s=zohoarc; b=CU0u/Q2KSJ9CXCBCeOipjqibYSSlb4wEYIjPZV3b0/d6j/+RjMzrQXyT/do17MvELQ5UVv6rScYTeQ74nC0UuPcC8FxyfDLgjfqc08DZs2ns/5Nzee+2yg3bkTKTMUAyYHHGwrsunZVk5w86abL34IBiTRFiBKF/jb6nkIqaxB8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613583392; h=Content-Type:Cc:Date:From:In-Reply-To:List-Id:MIME-Version:Message-ID:References:Subject:To; bh=TS4LChh1QctD5p0drABYOX5ODexhveU4x+MQvsmi8pk=; b=RpC1WBwoq721VtaqdDA5eEzoi3lRFjfAI2kRsLW4P6Hd0ygdQuMzZXatKocnVkjIVDJW0gR/BaKhIWafE3z5ETCUfZdK3X0nOrf51iucCi0saxFB7/D23qZVLrBhIys2l09DmwYv+NDG8GC9Niuu0I9jwCwy370TFg+2ZyfOm50= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1613583391650175.76997048884266; Wed, 17 Feb 2021 09:36:31 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234452AbhBQRfl (ORCPT ); Wed, 17 Feb 2021 12:35:41 -0500 Received: from [139.28.40.42] ([139.28.40.42]:46860 "EHLO tarta.nabijaczleweli.xyz" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S234397AbhBQRcs (ORCPT ); Wed, 17 Feb 2021 12:32:48 -0500 Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 4CB7136015E; Wed, 17 Feb 2021 18:22:44 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nabijaczleweli.xyz; s=202006; t=1613582564; bh=dwHu+sdeHIKyUfCS/scRSx02f3iaHYUimdvjlNSpccM=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=evr3z80W83GUYD2f9mLHoZBgTi/kkMo+NJwI8ez2dQGpQKCU3HtMoqicGg4LTtKSx I/Fk42oy7dQI1vj9B0tXm93jZmRwhkLO40gfzT4Nbxeq+sulKoPtFzlb2g71HsXcZc jEoj5QNgbDRRyDUNpIdpEBTtWiOSLU+NlYPUYrXM8gxP9bQNSAhtcdkG6uorKkO8hX 9BgGJ3NBrYZJTbK7CkgSZVxKl0jK0/tdExCMzTAD2CPjRl15Snoy+sLnO8XFxfRClV jKWswq5f2iVR2EW73Sf9UH6bT+NXrYrYvIz9LQ3N+Pv8zhh4cSzRTVXv/qDXmWwjyK N6eXk54ZiahWw== Date: Wed, 17 Feb 2021 18:22:43 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Benjamin Tissoires , Peter Hutterer , Jiri Kosina , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/4] HID: input: replace outdated HID numbers+comments with macros Message-ID: <394d6b11ae029c64a0bb44a00bef902069087d03.1613582014.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="t7xev2pzdwa4xwj2" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20210205 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Zoho-Virus-Status: 1 X-ZohoMail-DKIM: fail (Header signature does not verify) --t7xev2pzdwa4xwj2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" These were untouched since 2.3.99-pre3, and the explanatory comment for HID_DG_TIPPRESSURE is TipPressure on other places Signed-off-by: Ahelenia Ziemia=C5=84ska --- drivers/hid/hid-input.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index f23027d2795b..a5ba92978473 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -1301,12 +1301,12 @@ void hidinput_hid_event(struct hid_device *hid, str= uct hid_field *field, struct return; } =20 - if (usage->hid =3D=3D (HID_UP_DIGITIZER | 0x003c)) { /* Invert */ + if (usage->hid =3D=3D HID_DG_INVERT) { *quirks =3D value ? (*quirks | HID_QUIRK_INVERT) : (*quirks & ~HID_QUIRK= _INVERT); return; } =20 - if (usage->hid =3D=3D (HID_UP_DIGITIZER | 0x0032)) { /* InRange */ + if (usage->hid =3D=3D HID_DG_INRANGE) { if (value) { input_event(input, usage->type, (*quirks & HID_QUIRK_INVERT) ? BTN_TOOL= _RUBBER : usage->code, 1); return; @@ -1316,7 +1316,7 @@ void hidinput_hid_event(struct hid_device *hid, struc= t hid_field *field, struct return; } =20 - if (usage->hid =3D=3D (HID_UP_DIGITIZER | 0x0030) && (*quirks & HID_QUIRK= _NOTOUCH)) { /* Pressure */ + if (usage->hid =3D=3D HID_DG_TIPPRESSURE && (*quirks & HID_QUIRK_NOTOUCH)= ) { int a =3D field->logical_minimum; int b =3D field->logical_maximum; input_event(input, EV_KEY, BTN_TOUCH, value > a + ((b - a) >> 3)); --=20 2.20.1 --t7xev2pzdwa4xwj2 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmAtUOIACgkQvP0LAY0m WPGffg//Yvm3Km1j1Z7r5bjBxfQaQVgrWPt/FiI5goP0r+sQE1IBcCTxp09SdZGR Uc/TnWJbkiujFG8ZSLeR1g2giup7H0hEw3b6D2Esyd682wNNoty7p3GLv49814CJ FL4RsBbLMN5bJiIss7lvumcE4C702twd41Rw+u08w1S45iKMEIoYGWTwvhTaeo9T ZWbhzs7ulmgI9dzLQRDKz9g8qei1bSpfVpBHZVOScIBnzyZ77L/Mob96USEMbZF0 xVNhbqp1FOmz2ovTdQ5C1yRtmfG67LotQ8D1sj96hw1ChmafDRvyZ7KeYr7cZOCQ Yrc19/wcOIugSnBVAc7BowmVoTAs1iT56QoHd6821iAebahHfy4E6cGWVaMlJRJh GfT6MeWNdEeXb2xdkq0eAqxEtTVfIIzGAE0VJr0z3qnLAtr3LdvulyAmpYLyCAFW ATgU8/U0fYfXl1dKOZGapBeTQrvYFYzejcDiNl9w4LDLZc8mTBtXp6qCstrcp22t tKxz90uZEMsePhzLHU2rVoQ8nrT/mnAMa+3kM7YeA5d7SHrHjY/njL60aF+USsRW Fk7yGXqumSFmNOJGPVgB2dhD9w/pfQr3JNp9GMZoorcC1yYMZfDrOXYOabVTtyXY T0RoeC59ba+qKSA/di3yTXsLR2caY1VBjU/rea6QYCiaCNX8o+s= =TIq5 -----END PGP SIGNATURE----- --t7xev2pzdwa4xwj2-- From nobody Fri May 17 07:48:24 2024 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail(p=none dis=none) header.from=nabijaczleweli.xyz ARC-Seal: i=1; a=rsa-sha256; t=1613583334; cv=none; d=zohomail.com; s=zohoarc; b=gKZ2WRfoMgv/C39AXUshtNI6QCxewkibYs8OQWEg6EtFlZz5HFHt5kc3kM7ebFFEdGZEzlgH5iX1hNLlByRKpkqmen5vepFArwoSZ/gUGLtIyayoTBlLe4CEI5CL9sxLkthrPzcOkhnV48eVXs36ffN+z21Af7Auk68R7aB1fcU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1613583334; h=Content-Type:Cc:Date:From:In-Reply-To:List-Id:MIME-Version:Message-ID:References:Subject:To; bh=56Dgf+3F6dfOygtp/A6QOL8gB9twC2UnmMWslz9tlyk=; b=Y05YCF+zNQybRnJiY0B5N44o6UGkVitzjYJi4hsoP6Qp58hZr+6fj0JCsyqVCNVj7/Dj6kOO6qflMMHtm8d0FZ3lxSfMy1vE+BcQTxEbzhiIaObg6Wx7A7Hr8kxtOHIJJOlQhRaS04OgFBMip9esR67Dcjdd9cNdhudHb3aXuXI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1613583333916276.3525435392369; Wed, 17 Feb 2021 09:35:33 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234551AbhBQRed (ORCPT ); Wed, 17 Feb 2021 12:34:33 -0500 Received: from [139.28.40.42] ([139.28.40.42]:46858 "EHLO tarta.nabijaczleweli.xyz" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S233885AbhBQRcq (ORCPT ); Wed, 17 Feb 2021 12:32:46 -0500 Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 3CCEE3601D2; Wed, 17 Feb 2021 18:22:49 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nabijaczleweli.xyz; s=202006; t=1613582569; bh=ziY0iXdxwSWXFOzoXNDOFn5JohGhP3IMScquKcj790E=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=dBtD6W7ffddYH3UpRpeMSIBASbBvDE0f49x3J5KBtcCW6VsP4BcwMFuR6FL1oFJxa bqy4Kh7A5puaWJgQ8kP2TKCLApSB4rerNuVZ4gMfWmndAyFpk3d334E71H9rjJzRl5 kQWbdinoT448hsAqOqRcfuC3JfpZjslvphls0uDvUvLu5Mx/RVHjPqF4lqqnsDjrUb 2Qo/pEWxJ9ftZzVYC0HTmnGc+kfwQMV6SsCE236BBZA2i1yrD9Ze42LrOeMxjUtqfE 50x014EZIDuKlnOIH7k5GyTSo1HNe+F9IIeCSLXik4PDut/m/NHDuIIlfTTzkxhr8w ZhTU12bo9duHQ== Date: Wed, 17 Feb 2021 18:22:48 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Benjamin Tissoires , Peter Hutterer , Jiri Kosina , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] HID: input: work around Win8 stylus-on-touchscreen reporting Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ebko57ktge7ctid7" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20210205 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Zoho-Virus-Status: 1 X-ZohoMail-DKIM: fail (Header signature does not verify) --ebko57ktge7ctid7 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" With this, these devices now behave as tablets as expected by userspace Signed-off-by: Ahelenia Ziemia=C5=84ska --- drivers/hid/hid-input.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index a5ba92978473..b8813fc3e9d2 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c @@ -1273,6 +1273,41 @@ static void hidinput_handle_scroll(struct hid_usage = *usage, input_event(input, EV_REL, usage->code, hi_res); } =20 +/* + * Win8 tablet stylus devices send, in order: + * HID_DG_TIPSWITCH (BTN_TOUCH) + * HID_DG_INVERT (BTN_TOOL_RUBBER) + * HID_DG_ERASER (BTN_TOUCH) + * HID_DG_INRANGE (BTN_TOOL_PEN) + * + * For each of these states: + * hover : INRANGE + * touching : TIPSWITCH + * hover+2 : INVERT INRANGE + * touching+2: ERASER INRANGE + * + * Which means we'd send BTN_TOUCH=3D0 + BTN_TOOL_PEN=3D1 on proximity, + * then BTN_TOUCH=3D1 and BTN_TOOL_PEN=3D0 in consecutive groups when touc= hed, + * indicating the stylus leaving the screen as soon as the two meet. + */ +static void hidinput_fixup_win8_inrange(struct hid_device *hid, struct hid= _field *field, __s32 *value) +{ + unsigned f, u; + struct hid_field *rfield; + + if (!*value) { + for (f =3D 0; f < field->report->maxfield; ++f) { + rfield =3D field->report->field[f]; + for (u =3D 0; u < rfield->maxusage; ++u) { + if (rfield->usage[u].hid =3D=3D HID_DG_TIPSWITCH) { + *value =3D rfield->value[u]; + return; + } + } + } + } +} + void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, s= truct hid_usage *usage, __s32 value) { struct input_dev *input; @@ -1306,7 +1341,13 @@ void hidinput_hid_event(struct hid_device *hid, stru= ct hid_field *field, struct return; } =20 + if (usage->hid =3D=3D HID_DG_ERASER && value) + *quirks |=3D HID_QUIRK_INVERT; + if (usage->hid =3D=3D HID_DG_INRANGE) { + if (hid->group =3D=3D HID_GROUP_MULTITOUCH_WIN_8) + hidinput_fixup_win8_inrange(hid, field, &value); + if (value) { input_event(input, usage->type, (*quirks & HID_QUIRK_INVERT) ? BTN_TOOL= _RUBBER : usage->code, 1); return; --=20 2.20.1 --ebko57ktge7ctid7 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmAtUOcACgkQvP0LAY0m WPEsSw/9FOl8WYpFD9PhApLY7h33XSD93qqJ/fUAxl2Ev4X5DjB2ASd/ghtwbDWm rEkPnwWyyvKwQeBc11EEggP4U2lWghBthwxhWycCuLBiUw/J9L4XVi4sLWhdfBBm PyjP7CPSo22y3vk4S94ATB8GeCMIde8unJFugoIyW7aP0esspAsfKukv9Tk4grGR fPrv3Sxeq5sHEZPtwE4jL0z872EvqZTQewncN39TJK6BNqOvNwLHntS8UsYrZtSS j8aGuY6t9c9MUEm1+iFkGS0m5zZ1ULEZ/LSo7zLHqIJTEIRFjaoD57DRxiICGEIF Jkq+SC72F14/cWBRwRWt/6sX7q7QXRG0qNE/Ksc/aanOyMJgIQVsPtkVP2OMF/sv DwEp5LTRGPp+ilUdn5mRFOavT2uHADYqTjS65s04CZpWMFsTV8TqGlydOoZbHSX6 uFxVGY3e4rOz64Kp6o69XU0oNE+AV5xg8mkefFTYzm0zjWrJMl0RJYmgvGQlEfS8 wPJ6uApzDdP+MkJAEVDBm2YPTUVP5/7tjvxt+zBz9ARon+i+cziApiVkpOcXDmSb eABvttue6lP7J8fjyP909u8YptS3CoKfOMXXVSzLQyI/XwQHMDfBYuZPjOXNQgua 9uVrkoiIY1xrunkIHkAqORmUtqa/N8ORWtV9f+on08MVBmZgH+c= =3kSe -----END PGP SIGNATURE----- --ebko57ktge7ctid7--