From patchwork Mon Mar 10 09:12:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14009429 X-Patchwork-Delegate: jikos@jikos.cz Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010012.outbound.protection.outlook.com [52.103.68.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 18526224220; Mon, 10 Mar 2025 09:12:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.12 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741597930; cv=fail; b=R6S5xnN1AUGicOTM2VAeXELFuRhEAwKZlw2RGZFrRgH8/ud3je8oaKRYqVPT/iwUCThe9XQsD0qeE1Abf7hYJivvKmjc4CL0BvNnAlP6xHIyFfv1fnCFSLmQhx7si9/B1RN+pPxV+tRy9Snf4ROBMofZMSv89vczqc0jZ04pXWE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741597930; c=relaxed/simple; bh=0I3uw8tOEl56mBmh9KGnsJ8vLZOZj3vNBqBpPaPh4tA=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=cN3GRMilV2F7po2ub46q4JExUIvd1h2N9MbhrWxFayQI4feR4KBk8hiH2k9xyH7vv897Anmnv4Kshkx3rGaFIT2DW+15ksstOpn2IZ0xhY3SDtUi3NTrECQNP80Ux91r1MMTH6mYnNJLaVdsQFb4Sd94lCoePCaBKLRcSDRLrUw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com; spf=pass smtp.mailfrom=live.com; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b=UzPHMvHM; arc=fail smtp.client-ip=52.103.68.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=live.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b="UzPHMvHM" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eeapgYUlvhlY+5sCUv5SOyrEiHQimXCpWzCSm3Gz7i9OG/tPLyQGVF0TkZjzLcg/p6k4S7QrjOqEdkTLClhnvcW5kL3R4VdLJ/6H8uafIagH5uDCe6DehC1zyoTwbB2rGywPevilpyA/ByDApDrm+I+YO788tUh5LJh/fSD6pxkw5R8nVjLwNtTeKV+SKZIFmL2Yjc7vHZwUojf5KGh60s+rBxYBUkeLWoGiaZuJhOz3IV4riGflNqcn1+Eg5+AJKi3Aih0xRkyUynk/MLC0Xf63wT6j6KNp7PZgwY2qZqgC5XFWiN3YfVO/5n1piK1AZrW3O9kh4Z3WhlbOfieEjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hwoq7VPxPKTyeCZY8T3zEYkw2WQXtqJ6jwzuubyMmOs=; b=uIn1TdWbFNqlNaeeHbZvIDczUa1emI2nwmd3odFH+gtqDmUN/1gwnq27VnRDtRnrLWK4tfZdLWAZMnae+9SWIGhA4pJm3MlFXl0NMxrL7XpNP5ycvOTUjhkBDmoik2h9ycVoLxC40pNVb88kAHOHQOOYViPmWR3mDYx9y7tVjA70qrPlqom8+O36wIZHxaHQCaMXvQLqthxRtZ0fUJXWp1qKtIClt5r/M8rhicq987xLT0Gw7aioBUhLM3KbbgMl+FNJRoc6CApCMUtf4JCNjqMx64/c0rR1eunT0IXDsL93Kz0EJW+JaQz9GYg2PSThClEtoVZs2pBOcNcwAPI29A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hwoq7VPxPKTyeCZY8T3zEYkw2WQXtqJ6jwzuubyMmOs=; b=UzPHMvHMxJ5wZoozUHGYpCuLyzWx15dVKF/R8X8ySUTRCAorUnXQuSiNMi0wS3H0e146VCOK/QqWQoARlwxm7p8JBLUqehYgUA7nEdgIwd6iCJysmG0saQzGyUOAaa2cy+eYsiOrZ6/vzvneWzdnuad5VqnREqSFkPvNA+je6q8guATrVlvH3g/jQm0BY9lLIYMQTHt8S/y6/aH7cEnk3G2Udepc87q63YyihwpcvyxUx4Snf/oPyWLpP4Tox+ClX8wBQn8ob7eVkHbNJJMXD20FE2L+Z9YQagG9jp/Q0nzrENaC9sCBzyuwWY0JpFXHD1tiIujTZS7C64bNz8r3WA== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB6518.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:73::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 09:12:02 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%7]) with mapi id 15.20.8511.025; Mon, 10 Mar 2025 09:12:02 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Orlando Chamberlain , Aun-Ali Zaidi , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH RESEND 1/5] HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX fields in case of Apple Touch Bar Thread-Topic: [PATCH RESEND 1/5] HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX fields in case of Apple Touch Bar Thread-Index: AQHbkZx8ip74tff+akSsCQ/5elS5lA== Date: Mon, 10 Mar 2025 09:12:02 +0000 Message-ID: <46C388A3-0CA4-4B6F-BF0F-42B200E8D813@live.com> References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PN3PR01MB9597:EE_|PN0PR01MB6518:EE_ x-ms-office365-filtering-correlation-id: 8fd0046c-acbf-44a2-2bf4-08dd5fb39f00 x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|8060799006|7092599003|19110799003|461199028|8062599003|102099032|440099028|3412199025|41001999003; x-microsoft-antispam-message-info: pieWKKQHqaEKojFAYY0OQ3BPWnwfuoo532sKL/42Ha25+1PMGVa8Odyw/I9HwYkegF5XDzUDJ0/PN+K2SqecdwwPOpqIEKjLy0DUVDqNpXa965xtMfst44tAllNo0lKQZJ3quc5A7cuIovebhJEUY7OBe0fO0Ds6XL2j+IH8aJyrfAULYVQ78ybVuLrtqymKOIL9KMnjSLn1/AvzcSmUlZNrkIWTeuLe1HZa10fJZXZJXdV6znLYM0TcMknkgVFMFp2lmbqp3vtxKePzCUJiJrcIQ1X7ZOfBI+ZkzwVhRHRCbmrPQjt4m4d5Hm6qXeOtRsojj0VDv1RZoxyFotEYV/exCnig/ETTveyUn6u6MCezRsJ3XkJR+xZeP/1e9F4SIZ/acYHZC0l6+ES+u6+ELcv+7xFscNvbKwXtP4EiEQmr/wKzj+X3g/STPVfWKbuycD2ObqZEgEcKkKfO7J/PgEDFO3/MrRGfqOV+dGmIlwK3HIyY76TtYOg7Y1w68qyamkLkMZzbMoG7Acw19Q17aGdG/NmEgo0oFYgWpfcPQVANsj4aOtxd2J3iCjc152ZpbPZQmJgEG8V/SJGSCC1S651CHvl4g2zTZcKHXQfoGFFS3SIik63JRBodx/KlZfuzyHwwSljTLL7jHuKdJblygghNCvv/c7KUPKKqbfKfJDLX2xCpMDuwNDIBe86Kr2GEi3cz4dc9lDJFaHYvlJ4THRfIW4jNN3r7JKz7IaRUACyZIWJsxuoF/SVyqj+ht+ZOh/xx6CAJhF2BQpi4Z7HzmSLpupKdqQbwW6wFaoGCNdNLjslhV6VUA1QUv/9ri1yJG9F89Enovf69th6xSKRu6dGNCShn4syA44hXZvU2z+1KTKSnv+0lH7RsC/t/b4YTxF59h/I+0pYQ5XYmfDdaN+vfrs9/pog0hYSBOHUEIg9CzVcXFd5UHqWIgBWx+zkVhGMr0SEgoVcc+Xu1zBTKp+pB8k05QwOwyATsrakmlUkHOxF6JWL7871TPvU1j4P8GnBGLmCmnHApxsMu0kscDVWiFFArzGuHlJApigl4v9DIxg742aOB40cael+NEn5OsxG1hSssFRUUWIocNUhnwMZF3bcNwwbMTzLDtoK6vyk= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: TXdarqefviehR+lfmvjsJ1x+45LyiWcbOKElzdHqqsJsKY2kvh1le3Wq2BJ7cFAcC4qQoEqgcodgcxAoXFFEWW+YexbOxsnjCMGhR4C0Bp2HC+wec1dHgAMrBWv7i7V8J0vuhHQVLBZsAznUbiO4XpwyB3+63l+uhYBeWkx3LBkLRuTmcjKa2AlEGo3XtFaxPXuX8rl+BsS/57Ve51xSIIBlg3hBzGPoYewRLjHapPiPiHKP2UBPkBwR2+QX9esqsiDbR3n3O+ep/UfPhLQPo2lHrAY2Iyqye0qbrR1ueT5Z0lApUu0mqO95tcaUfj+wkdqGsNUr5r0//Y3pKwGND6hs5oJCQzE0HDvLaQBa3+NhL5XXLDTtAXM+u04Nwv8vLOCVMwCfuZp1GaAQtguBg4Ioj4Z8s3WfYh7t0ZJpzshLP9F3BH1jhmrkkp6FjMJE9knp5zxsXsWQ02GhBZ1Ot4gFujh321Nt3/Nc2qM+E4rPfDBexw83DS4jQA8PHJrTn2hyUAwkGcKuSJeUNGJRsqDjLExdLnfQ8hJAjAoFTmsYObdnUbV8M3pEwSgFzCGwKHy+aUCxWMqw7JFfF5rV5UvJA+UYpcuXQV4BeNhSNZcajP33Bejdqgcb2GLjWP8wRhfh3qGsuW1LBYBdSFiAUEFqgA7BU6gro9hOLeamwGKBVl3zPPaqQwob5UGurNl9hmnh24l8Sh1sKt3McwB0s5coO3kz+U+m/x5XxRuufseN8koffFPiXCmACCIesHCYA2084F5EnGbft1F0ebRPR9aGOG+LjI+zfBJ04BkGLXHwjlgeLUt/UA/dPrLnxqVJC5cj8GvjtEz/phXxZJe6kWa0p0SeflgyFTBWYhze8KN9XGpZHj3nCszrKz7xwBkWXVi+edJ4ly5lcXCR/Mq+8sMlbsZucBXthzslcmWfRYPyW9BaWc6Tc8oBVZh5ztp3mRylhXdHRCvT5F1E9bZGUDhqJxjxrA7clsFBgmhoOkH45xi/+Ia4Os+rkJ9IeOMPs7GEqplelk7hIG9OC+J4aras2azzw0My1oVjWBzjD9cUIgeV3y1LN1aYNxraZtaMNpyLOtQvhjhFnLmZLddb0S19y/Xi67VFbNWGLZP+5M6cXB3awX/JL32fIEd9dfzYR2ovQZYNqt8X1Roe5Vuk4x9Ivjc6uAUKgrsEGP8iruNWzOxf1xQ4adxoLQwYIhVsalF0j+TIOStslU9YkZyhmatTyLZy8/DKxIAmd+DjYHaNSvFQ6txogvll1G4oCSTC Content-ID: <312F9B6A206F964580C5A3F065344BDB@INDPRD01.PROD.OUTLOOK.COM> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 8fd0046c-acbf-44a2-2bf4-08dd5fb39f00 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2025 09:12:02.7829 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PN0PR01MB6518 From: Kerem Karabay In Apple Touch Bar, the contact ID is contained in fields with the HID_DG_TRANSDUCER_INDEX usage rather than HID_DG_CONTACTID, thus differing from the HID spec. Add a quirk for the same. Signed-off-by: Kerem Karabay Co-developed-by: Aditya Garg Signed-off-by: Aditya Garg --- drivers/hid/hid-multitouch.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index e50887a6d..6e7f34a47 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -73,6 +73,7 @@ MODULE_LICENSE("GPL"); #define MT_QUIRK_FORCE_MULTI_INPUT BIT(20) #define MT_QUIRK_DISABLE_WAKEUP BIT(21) #define MT_QUIRK_ORIENTATION_INVERT BIT(22) +#define MT_QUIRK_APPLE_TOUCHBAR BIT(23) #define MT_INPUTMODE_TOUCHSCREEN 0x02 #define MT_INPUTMODE_TOUCHPAD 0x03 @@ -625,6 +626,7 @@ static struct mt_application *mt_find_application(struct mt_device *td, static struct mt_report_data *mt_allocate_report_data(struct mt_device *td, struct hid_report *report) { + struct mt_class *cls = &td->mtclass; struct mt_report_data *rdata; struct hid_field *field; int r, n; @@ -649,7 +651,11 @@ static struct mt_report_data *mt_allocate_report_data(struct mt_device *td, if (field->logical == HID_DG_FINGER || td->hdev->group != HID_GROUP_MULTITOUCH_WIN_8) { for (n = 0; n < field->report_count; n++) { - if (field->usage[n].hid == HID_DG_CONTACTID) { + unsigned int hid = field->usage[n].hid; + + if (hid == HID_DG_CONTACTID || + (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR && + hid == HID_DG_TRANSDUCER_INDEX)) { rdata->is_mt_collection = true; break; } @@ -827,6 +833,14 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, EV_KEY, BTN_TOUCH); MT_STORE_FIELD(tip_state); return 1; + case HID_DG_TRANSDUCER_INDEX: + /* + * Contact ID in case of Apple Touch Bars is contained + * in fields with HID_DG_TRANSDUCER_INDEX usage. + */ + if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR)) + return 0; + fallthrough; case HID_DG_CONTACTID: MT_STORE_FIELD(contactid); app->touches_by_report++; From patchwork Mon Mar 10 09:12:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14009430 X-Patchwork-Delegate: jikos@jikos.cz Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011036.outbound.protection.outlook.com [52.103.68.36]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 47C12170826; Mon, 10 Mar 2025 09:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.36 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741597966; cv=fail; b=FksjEYHIGXEcVmsZuD/LKTau3Uv7sVLMm+Dsn5S7OuvNLICij6GCPQ9cLTII5pjOdmdky63TbjelNTitmdzmkvCXeab4ZR2Tr8fpDdvlX94y6ico/rBsbPWfOe6wpMhtrDdnKqu4bMca2a97C/nF6SMigl3aiZaSOkO+v3mZXGA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741597966; c=relaxed/simple; bh=Hd6y0t7ybwlnGFKggZ0+d1s87oGPE1rRMDOzDiMCMXc=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=IDjfi5vT2cSL9uQnnwShGcPmUdkef9h3FQ1Vz6jx3KoYk4lnYRv1HJWDBOoNth30ByVWBJ+FuubAApTSQ46SysIlC3QYrfIR3t5oM6lDL/4hgqPBqXzpBXjaJ//PuPT9t2MUyCPirub41GkRK3S3Uv9bdStwYnNvyjnDzRLe8mI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com; spf=pass smtp.mailfrom=live.com; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b=vKkH1b2u; arc=fail smtp.client-ip=52.103.68.36 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=live.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b="vKkH1b2u" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bxAgG5ncGc/ngURwz+rEAzhCqQyLvunEByBm6hM6BjlF1gBMiHBlFw5f+D8yFTZw2W6o9yYf9wBKh+r+fcnqVgwwOkQmZ8ktie4aJLn6RdYrPrdD9IHGcvXIa2/D7Ynbli7C3DrBLhXFMHMju/yTCGzQRTBy2re4DtqldKZTkmthzp28daw5Kw/awdrA/P363Lhe25qHrcaECCKcQNyDgoBIa6erjhXwpZJsAQv7L9F0z1sXAtqHF5HJ0kUhCHM5jFOaZb/OiBeMtQkdMVIHcLpa3LWqjm1J+rPvf4oJOaontlZYlOr6MC8uoH30p/B/R5/Lssxp8gkAe9e3qREG+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=74JDL78FFxPmkNw5CBr/tGtgziCBGn5Q7VmZhATL5CM=; b=BPcefS3SP7yEevj+mzXBc5ylxE9sBJ4YFeFPgwkDIwuRH8NPvHIoXjzPNwJswH16WLP4TISdW8Garhofi2YC082mX95PmGOFXZwRd3xun33fo/MYSpXkdtCULufQpSksNw/EzUz642/hnteODy5MBLjbeZ4eGrfWY8FTchn4zYigQgRHWS3RleZ34c3Y/pzf/2irN8O23aqwii6VsVwWkYrDWZs/ncnZRFUaD2IK5DFSOI1roJx5dcIpde7XdikQsQbpUmfBQvayiAS4JWLi4iYLfhnoeBXLOLnBTkrBn95Vl+wYDkm/Xp2mKws4AfBSzvlv0jFy28Gj0steTkssbw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=74JDL78FFxPmkNw5CBr/tGtgziCBGn5Q7VmZhATL5CM=; b=vKkH1b2ugy1qT33Gl2aZOMhRs5FVrW+taWCGAQEWWUk58s9WWFobdXuOqlulgP+DctOpCIxHdWJ9IkEGVirtJUS7V83h0qeEyGQFdba8ktgmzneadBYhhR08gYAaMpqT5QJHcxCG1OtjKjLm2ePyvrA+15cX1afw+/yk4cg93xuaIyZg8pO1gz+Sajk8RPRjkd/toqzvQto4LWue89m+ILYEHS0bhhH8WxCJqeNJabap3CnS8VMC3vgFA0+HV38ZHuZ7UVLVjHKc8F/mxsLyLwXLF9XstMqW4u+FO4y82uMGGpYeLwQ66eVi4kJQK3xecI0VsHEv74xTgOxlE0or5Q== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MAYPR01MB10587.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:159::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 09:12:37 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%7]) with mapi id 15.20.8511.025; Mon, 10 Mar 2025 09:12:37 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Orlando Chamberlain , Aun-Ali Zaidi , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH RESEND 2/5] HID: multitouch: support getting the tip state from HID_DG_TOUCH fields in Apple Touch Bar Thread-Topic: [PATCH RESEND 2/5] HID: multitouch: support getting the tip state from HID_DG_TOUCH fields in Apple Touch Bar Thread-Index: AQHbkZyR09yrvivHAU+hr8BQkrWIYQ== Date: Mon, 10 Mar 2025 09:12:37 +0000 Message-ID: <0699DD36-24C5-4859-85BF-75480B87128F@live.com> References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PN3PR01MB9597:EE_|MAYPR01MB10587:EE_ x-ms-office365-filtering-correlation-id: 89a5e1cf-a026-42e0-5512-08dd5fb3b389 x-microsoft-antispam: BCL:0;ARA:14566002|7092599003|461199028|15080799006|19110799003|8060799006|8062599003|41001999003|440099028|102099032|3412199025; x-microsoft-antispam-message-info: CEf/Uscj3XroRPIea890KzTP+BqPNTT+u532gC9kkU33Cz1ZvOhcKBHO6Px5i+erWh6SuRQb3X09+Lp3YzB5zfRTPDvx+HfaNtlBaM0lKaBb+aspD7skTrCMTPKoC5/0rjMP2zmQfjUobqUYRGgUFQVst6p+Pz0DBFz70xgPCwbOGLBKIugw6d1r1qadAkKBKbo/f/4Xe/ywwi3bQzA5wlftI6nodyBmvVnUM07WZQ3VCZJg/Kc6JAQIc1GGWXAad5tkTcmVUbs/kna2Jwsv1boBURtDI7Hhm43lFzGuS/MOxfJSRTfHaFmpY1qbupMsYxNdzqJnM6NTM17zPtuFD2wxgCzwcQ6W6NbUrUaBtnrRv7iMMwy8VVVSAsjK5X0iFKkJds+2JWFjFgIbsRJZArr754K9xf3nASSPUS1513TvAEJan8fUEDwtrs64GtWTe5ZSvRck/bF7TvTYA+lOYwOhBlqbLjtvw/Y7BPiO0wYZmbcSyvfpWIQjQ8xpNdy7e+QB3WPRuYDxXOWK6VDjlsjFz/sCU9vg9tsf19a1g0og6A/tn51E5OfknUI700onj+Eo2kdhWvuYSDdRK1uvmkhUvdlB0Mwm4BkTf/3hvoPjFsDbtqVz5R+CdLsENZ7GRhavwTkXiHnfXgUh0002FwdumKcbypOxUesMDyAqBSIzyKFYSg9F1DXxXwPM+eaReyYpFEDaWTlZIKGA51O2y1foX1Qyxz74I9lq4HI2upsVkGFVOETyVYs+rrk8C1bznPkYuF03jrc4oiCxHfcmbHf8oifFqeFT8SicJEicfAfEYkv0IZtFNZs6Z31msMoc3NWvxNepwXhLtK3hjjy4TkS6+7JRUhifElADhgP6l3q80YNCbp57VQCmY3yIbwOnKBBpj/P+bCTnjszh5+R8MVL2a2G6jaZ0qLu8HMppcj2FEwOMr4RB131TOGIhQtLYUAYwbbC3cWe3uKGfs/HEPk9+lmwLOmloRwFKcIyZ5hPwDY4Nut7dgr/XoV6CXS1n42YbXbwB4j0g4n80yW1tlAhJ08g+2hkAV1AF1KA9SCC98wghKpT3GTdyggW1LqsLK3qkbOYAGfEGDVk2rpErST4TPpWwyDiHRYzUy1TDbOw= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: gGtc6CVbjAa+k+xaURvQllSlFvG0m6lRExVRcpi8VUCzeDxv+h0T23aFjdsV4k4p8hCzmjv1U4LLI1I48fei7CDJC6/kJ1JHmJOTWFAeF4IFZAeAa5ydkFkkk79yDps7v/rKzPGZMt7mDmq2nFiFyx67Mf9/V3/wAOoL5ksB1LKyr+svM17K4cKHm4Quyxi/xJcUbfmJ2QlcK10p18+4oX6O7266JmaBg1UOFqJfmmSZeBzcXcq9ZF+ndK15TAX/k02uqc4ch/WzeBForqWworkWt/I0kcsa03xgZ8ru9YVyndiooNgTgd7UXLnBPcD8n4bUd2/xiHVkiM6S5xkHSiqGtB0kdQMxkdPf8O64etaVmHXOxXebJueO1mhMp9SIj2+0ul+SVUBmmvZA+L4vbL6tPNOVXxcUvQXk4XLO0p4GU5Ta3djQC1MCmmL2IT+fR5aAvgLfAmfMigQeOS/wmVnq6MXbiAp51XJCWsKQgPz5JmbdLRJBYJJrhmCXYtTsDz3Or2h2bE+kqc+PsI/Fy6TVxeQeKtOInd1vIgFNfuj76QMZwBCqMyhvqkggeETNbmymLTI4SKcoo0p3xIr5hMx2eUDOGipRFKwt9rZ4FCiwf/pPikZhfEHf3bD9xIig2Dgh0jZ2KwwbhWNgaQNIGN6UhRzRw6/Go7a0lbd2b9p/ipBnPRYKUUfGxPciKRud7H/8+Ts6dXIb6GGlN3jieL4vjCHY6fG9xyle/mLx7VKajwPiWOLw8uidfIRFxvdzUoMGZ6NKdnViIVuoIhc+GCb+tUzWw/kxUrmhenKps2185/r2zRmYs73T+ktGVoHiUIOMdH0S5gZf03GtvVZQWsEjzfvDnSLIH0xf5RIkXKroD+Nfojjb9gqfXcVxW7eccKu3IROfy31ar+j4/9qIO6/RIoVxUyL8ZgY6ND01oDmSnKYjmOdQH2dEuRYk5tGTQx7PmRC1Kv4fGTBIpM2BEgg90sNY5xItzCBPlLMuqs4C/ioMWhOr9uGU67DbWkv0h4gL3d6JNGqI8GFr90JO1nU0XCIshVi2eMRqDeYltGFYVaaEGo9Prai5VGK6DSCyVgaDHlJkzc7FoSUx/h6eJOFyrPvoUSS/0VLBlHsVEyUdlM08p8XP/cbbWXVE3MCfbhphEeIW7BQnj1E0C2CGiReV6c3BD6P1xS++7rf7KgenR3/dSdQeQMglCH0NsSnz9DE8EyVPHk86gpXrmsksl/UijHfPci3XyPjeR+uEZqs2wtixu/VELQF9ztG/NeMe Content-ID: <1C5914A3117585449ECC60BC8227CEAD@INDPRD01.PROD.OUTLOOK.COM> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 89a5e1cf-a026-42e0-5512-08dd5fb3b389 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2025 09:12:37.2352 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAYPR01MB10587 From: Kerem Karabay In Apple Touch Bar, the tip state is contained in fields with the HID_DG_TOUCH usage. This feature is gated by a quirk in order to prevent breaking other devices, see commit c2ef8f21ea8f ("HID: multitouch: add support for trackpads"). Signed-off-by: Kerem Karabay Co-developed-by: Aditya Garg Signed-off-by: Aditya Garg --- drivers/hid/hid-multitouch.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 6e7f34a47..70fdd8cf9 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -827,6 +827,17 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, MT_STORE_FIELD(confidence_state); return 1; + case HID_DG_TOUCH: + /* + * Legacy devices use TIPSWITCH and not TOUCH. + * One special case here is of the Apple Touch Bars. + * In these devices, the tip state is contained in + * fields with the HID_DG_TOUCH usage. + * Let's just ignore this field for other devices. + */ + if (!(cls->quirks & MT_QUIRK_APPLE_TOUCHBAR)) + return -1; + fallthrough; case HID_DG_TIPSWITCH: if (field->application != HID_GD_SYSTEM_MULTIAXIS) input_set_capability(hi->input, @@ -897,10 +908,6 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, case HID_DG_CONTACTMAX: /* contact max are global to the report */ return -1; - case HID_DG_TOUCH: - /* Legacy devices use TIPSWITCH and not TOUCH. - * Let's just ignore this field. */ - return -1; } /* let hid-input decide for the others */ return 0; From patchwork Mon Mar 10 09:13:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14009431 X-Patchwork-Delegate: jikos@jikos.cz Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010001.outbound.protection.outlook.com [52.103.68.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4034A2206A4; Mon, 10 Mar 2025 09:13:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741598004; cv=fail; b=BOYyVlO8TsEUcQ6iuwdBZmhiA42+UnrAhTvRVMsbQxZQyeGGQmsrfpaDikX17H18VriMkB8sTwnv/9rKKiDmAdRoBvYBAEIRARvn8fviQLlw8JSZICM9lTQN7+EmdMei7s9Yt/LBXubFlIIU4e4QyIbxT3PSvDp8KTj01lrDP10= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741598004; c=relaxed/simple; bh=eFqnGs/8/i44OtRFQ+w//BfIyVvfgW6k1ilbQIKRSF4=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=afA8ZSuJkhR6u1X7z1or/N93ycuE5hSZkSK2JtdvnhAPitTKVWyojXTX380lwI23OoPaQQ8PCXQK7Jxn0MK/iqhw3h5fd9mK9aaMvQBrFzVT/NUZK1owX+BG0HWAher/vNn9JLnYJJn+wJaHXWf8vSeCVy1XiI2sOtwRAMf0r28= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com; spf=pass smtp.mailfrom=live.com; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b=WVEYgIWK; arc=fail smtp.client-ip=52.103.68.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=live.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b="WVEYgIWK" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KnCA+iCJDKurISBToJgeadSP1uQCl810CxF8tS9CkzmXqXJeeKr7vxd538TnuGS0pMO2q9q/h46kw30QGfIGAlAvPTGKzDAG3VaqXaRRPJAXjbwQc41QhDIG3Sp1k5VP5aKWBti56oj3QPvHAZ4oBxegoC67wwCy3HxVpRmAEltGjQhZcmOFvr4XbkHBGnTEZRGzEnkiba2/LB1S5V4FqlqBNx97cAcM5ysjZusLDJ5Da729wOztmmztQ4I7hCuAyp8CPycDpfX96WU5WcB97fviceQxv4yy6SPGiimAIqF2GoDtLioaVVU/Jt30XF0wV51Gk6MCOhgQTZ3PYeKNjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HjSltGec9qsTH8QrOjYyF6dlhYH67W89spYjkatgt+8=; b=kEMuxZPsyWdhED/Bg8xdZ0FXGkhM/nAgN1JyvfX9HJGXOHVVyHPuhzgkMVXG/3KiRRGQp1UzbganEfrhujpvuCUez3sxJ3XCdHZMJNA797O+KBns0l3m/v7gIitmXZJJlubf/hfyvx+q/Oa9oLtxHqMubgXHHFAWVu/FEJHVIK71ycQ8XSnQ5kuVlB+XWBWLt2eI7+axRbIsnasGeH5XAhOIZfoO97DDt6NEilm7dF9RwKQf9BrJinSdh4d2MoTwSPJkZhwUC/zA01EoO8/QZZucwh0yWXrHEBxEu3PFRJ8T01Nfdb8i54lvcurA2OtAeHHElSrKHfesrdiUihUd/Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HjSltGec9qsTH8QrOjYyF6dlhYH67W89spYjkatgt+8=; b=WVEYgIWKstcSeo73I6aur4x0EjmGi3r2plICXwezfqBHFjv35iTZftmpItC5W5nlwG2PpQgjjskcg9E5aEMPart9uRs+4d/DcHWclnQrErjrlSEph64ZoZP5aM+JQCswBoc1fLSA4E7VEYMGaKjm4wPkD6xxR7C7dM2Tiqj5kemxSl9os9gJJZdMVYyysxPE2j/+vi+kGtQYNQmTaeM2bqNbD1pi6zyVXFvIpeXaSp2kb2BRagJExv8+gMvwc9A56JMrKGJv1wiVJK1Nusg03DsH+YJ5cBwvHwY9RFB/ntqeR6XK87ztPDzGxPn8qMMyMWnYH2WvzTOpDz/ECVu9Sw== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MAYPR01MB10587.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:159::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 09:13:18 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%7]) with mapi id 15.20.8511.025; Mon, 10 Mar 2025 09:13:18 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Orlando Chamberlain , Aun-Ali Zaidi , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH RESEND 3/5] HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field Thread-Topic: [PATCH RESEND 3/5] HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field Thread-Index: AQHbkZypZAY1oMb9jU2pdgjB7D6KRQ== Date: Mon, 10 Mar 2025 09:13:18 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PN3PR01MB9597:EE_|MAYPR01MB10587:EE_ x-ms-office365-filtering-correlation-id: 5b987ea5-4bc5-4aee-e255-08dd5fb3cbfb x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|19110799003|8060799006|8062599003|7092599003|461199028|102099032|3412199025|440099028|11091999006|12071999003|21061999003; x-microsoft-antispam-message-info: 6JjaCydg1DvnL29hUf8oGkiM7w2+vaa+W2upJn0OsHJykl6fuu2SqSCZJ3isvJ41XSWNBsMnWRUG3q5WtoVLbhtp+marMn9qpy5fB4u5PIMxzbcck3OV+My8PEjCY8CAWij9cr+6jFqd6Qz/Q7U1ZYUwf/OXY82C7A5Svg2OHHoFtRn0rl9cId2tQdCYVK3UzT5AmYXzIa5Jw/Kr+0ZPSeWNPOdQmI4ryoBQJs43bxLqfUpXwxrLdC2kp3vp1fMrN3Z5gZa36oFDVzy0l6bh84+GuTOii4ki7cX8kCroDXqGwguXMYxnjMjMPUkjj8r9l7iU+o62Wi+U9gpEYvgM3D+nJJA74yfVw5fkF4nWj6lXDAl1lu2DuZngfBCkgHnWlUEk+xIY1U71bDwvJuxFpNu1+H9nFqrxok0RFgZAQD/L311omh7pIfpslpI2lZdA9D5VH8bNg4N+V7mcAesal2dkOvf+BLIpLfy4wrNO/kJqnpJg/ZI1cXhzOd2tqcUOM4WjQIJYCzqvc2JsHqaUKbXxRby8a5OBR7/+A31lOEFJbulzI/yAWsQjKn7uXWLpADEYy+z6KLm2R085jWukyNn+1If7gwyfgWofqKImbrFN69VyMohgmUau0obLU2kO0SP3XnAz9vV0tyE7/k55ZcORA62vr5nVrSpq9fDib6PyEzItjnq/Emc/ieKbE+/jgLPxrYR1EilDs0wC6jDhnIAVHdaJIzRs86ACGilYssbgXBQNm+SEJT/g4i7AOt6dWYKT51LvHrOOmB4DbmITQO2s0Odf50hL+HZmtryiJf8mp3+v0Zx6Jq8Vx0nab2hUk4Hy3mu3lScvoFPAdbTLq2XyfaNhooFNL3Hjw0UR/UrmvcG0W3arbdqZOQo1SZzWmZ8tde6Nqfa572BCD4LAphQBNb/+movh2z88JS829lvsJbRrl8HFbM4zTXRSnKQs5M+ltkL1Eda/qU5XbNhokzZXLOnMvpK5/v5YiVfAqtib6RiRYb50jfs0VSGwTr+MWwDCsUr/z6DBrDfex0AisaYmSdAUmPFmVk5Q4xsqtVQSFIaJYuz2PMurRKogLcHvMieLh2B83hAZW+0Olix75Zilkpurpc7wu9yM7pb2o7/oktqxPZlD/jgpvV/aSqJM3cb1J1pH1U12SJJ5S92b70tjz8AlJgHTK9GOY9bbLq0= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: Lb7JjwfhkO6beZZkce6p+etK8zDl6urRFAk4VS9jePfa3fE+I9mvmHdWCmXtIH6KNft4Dcz5oAoe9qV7o24uHVpRZ79DW8KriwBDP99TlVe+pWnLBer23W3u/sQV0sJdVOdJkgzPWuAKR99ptpvD32vx+SXDlCtGWzDzu8ieNrZa7bKohutLtNU+6O0WggmYkuqOmyQQoSwO8NoPCr9SUu/2+m+UZQBf/lQcAQ/WEiz5XMzf5rSZUwmoY6cRSKAwQCJBFce7MMNtQ1BRiNS0FapY5s0NpaKQCMTasZYoKdcO2NdwyZYJSStcaC8Dvcaj3b+dLhudoR1fMnBF7i6rrBgM8pgE7XdeVDYrYqAh7NXrMELrSrdyEXA2ycrQUgxUGnE6xuZ99MvlIdu3JmcoLgwpV2M5yc9Ee98K0ekdCNbUbRa/uP6f9AY4/tY5bhEIbtmSoj/Vu9lM32Hso3+CgmUFYlIgkIPljrY3Eeqw1P7vKXwuAuaYIu6Ul2a1TBqE1U1LXVuXTJPYLQwory8lpWiHs9tzB/d6GwQrMt6bKS0PcprK6te1RrraRrRhpnzlPzmejzFGKwNWMgHUfPUV9XV6HGI/H4sMDBI1rLzxJuD+hiN9VZN72blbSe3Jl7m8eIw9GpRw6u9WQUiR1ewd215AIkGOhXHB2ELHQ5RUb8NPQDZUwou9TYI7SWwPP5shr2IUrGoDSz4K/QCdY14Vc9n7JS0HVE8gcjtwfFR43mFo942+Ky0/dJRXe+9hXjCL+XBiuoyXwYl+USxpXKHCC97sYZJPaRs+brXRbfQlZfCeRQ7EwtLv8pHewQR9tEVIT3NaMnF2PrcIOiPGC2y19hSkuGGKqB/KjvDryhQwlwlF19utGjj04vuWqRW7AFLJwdTvZ6vDeHdgB1/DusLl4FWag5soXWe9jD2sZY0O7plxZ+6N0p3dPBYrS3l57Eoww9SmnbROzCDgPgTeS8AggwV9B/Y4OeawGsqi3mNag5f+XYS2f/XCC6DdSXgvyBdmW2YiTVY6Z6yFGHMsKxdu7K+TFwF5FcYwv7KXl0xxQNfs0S2R6npYlLGS5Zb1m7PFJwuCnRLW3Ug1M6wlFFCGdznUd7RI47E5VGCJKdfY97/h3HFneynBO2EZFnzLgd436YuD5I29kdY/Gx9giNG/ei6ETK5E338KAQRgPPGJn5witfc3kUGZiBFMzl9+56sFoEycEl3g3D9kqeF1Q08bhIZHo49rO5IW4/aNybDnAUS+EiqHhE36yRHfLvXna2F6 Content-ID: Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 5b987ea5-4bc5-4aee-e255-08dd5fb3cbfb X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2025 09:13:18.2347 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAYPR01MB10587 From: Kerem Karabay In Apple Touch Bar, the HID_DG_CONTACTMAX is not present, but the maximum contact count is still greater than the default. Add quirks for the same. Signed-off-by: Kerem Karabay Co-developed-by: Aditya Garg Signed-off-by: Aditya Garg --- drivers/hid/hid-multitouch.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 70fdd8cf9..f7fe6aab8 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -1335,6 +1335,13 @@ static int mt_touch_input_configured(struct hid_device *hdev, struct input_dev *input = hi->input; int ret; + /* + * HID_DG_CONTACTMAX field is not present on Apple Touch Bars, + * but the maximum contact count is greater than the default. + */ + if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR && cls->maxcontacts) + td->maxcontacts = cls->maxcontacts; + if (!td->maxcontacts) td->maxcontacts = MT_DEFAULT_MAXCONTACT; From patchwork Mon Mar 10 09:13:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14009432 X-Patchwork-Delegate: jikos@jikos.cz Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010010.outbound.protection.outlook.com [52.103.68.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 234692248BE; Mon, 10 Mar 2025 09:13:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.10 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741598037; cv=fail; b=mzLezebv89qxxhNRzBOuOGOBtRmBfOcfhXkjBYFsmu3c9ispluKTpMEeD4HKJhaAHCW/0a/+KSNA1LV1a0bvefyULh1QGuCRjR8vAcYE4v3ASgacAwDytMntxdNS1Jw2CbOQNS9Peh/RrHiL5yltAoOnakvcvo+k3FqmPJGnNMI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741598037; c=relaxed/simple; bh=ua7UqOGbXfUtWDjG5OtQcf/vLDUxWuiF4ryfyYw8a+E=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=Q/ZjhOBdTsrChVdzRMbzToCZThsEJ12V0egpxlKAiVRr9ltGZ3WFjiwjc0Qm9ct3keV/qATRY6pXGxnU33uUU7hxGbF6Nr9zzTDg8rI5SiWW8Y2T2EGQOhl0stzzK8NNAnVNmL9uaQjKYyRIWpe4OVol8wWqwWHLz0Bgc/FTmTI= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com; spf=pass smtp.mailfrom=live.com; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b=udF0NfEv; arc=fail smtp.client-ip=52.103.68.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=live.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b="udF0NfEv" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QD/4uiJFogSAKcKWtJsuNg4XRO584U/N3YXabhaXsyH1LAU4P4TTGxNGEBV7K3K6mvdTSj3eZ4rWAZyUb3eN2mpDsYhCby3T8J/PGUlMHVCediyO+y1cRuOiD5y8efCloRK7i0zVGnZzjiL9+ppagavX3KZqfOQUHnp7A+5G/oqduyN6dFjZVTwl3/R+eA6tS04MV1sWJ0isk2RlMCAdN4k92kKjM0bAbu0eRCk/CFD8gCg+fqFOSvwba5tyTg8nd1anRClof+ZZUz3PQCOnnPfL/EUX+aJiyGK4tdFzATVVYg8/IJHa6gZxrE+G0hz3NrJ1NgF/i6M7YGVQLBkdVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=/04ZaODBq15k3NKBD3BcMjYaW2C7mTU+vyha+u7ypE8=; b=wSB6CWaELiRDGIfuWsMp0CCmug0gBKeTZhv1/aVHFYAnJeGXY2MDEogAxnCbU8V7ncdv6w7bkROn/flIpBcjAgkibP0aqaj+63rRueXdxgIOP8ECeZTeoaVMnDNo6h2QeQjErKF3TchZ4XK7eMXhoOuYQo1n8ougX3oCfcvag1Ro9yx0rAeadbAIDxcocyGkEmKIXgJrVsD9AqDwdAcBDG9HJ1WHh4l2lheADwb6mP7tZhG0OiGFTA3YgHedVrvaLXqCNL1c1BlaM/n4wwrL3e6D1/fYLwBvDJiklCBwaqeIw5koGzfLep1+eE9EgvndxPx7wgQ23mfr6+lOM35Sfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/04ZaODBq15k3NKBD3BcMjYaW2C7mTU+vyha+u7ypE8=; b=udF0NfEv6GM4RNjpyD2HrDRhUjO4QVEY8xfto0TCUxZRQfGu7Y5cdpJTMjLMnmuTiz42/rRSYcbxlZT5daG95tRJXTAFKOdnxqzF83ggpBRBqGVbbWvR0fKGpCe76B2+w2e3gCPEBgzBDYjONyj0+O3rILEXJoYrgv+2rmf4mbxAS4VUb3emahfiwcK1eNi7pDU99FTwbltq+K/z0kwg5T8fmIjv9HBgklG9s/1cDuKmIqSCUVpbSZe/ypHihso7T1yWTgZdyff99zATrju7mXeoO7JebDZohT0gDsV77bEc6eF60C/3oXtYPXElIa21b6GmTyWkhmN4W7iBgAFL9A== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MAYPR01MB10587.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:159::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 09:13:51 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%7]) with mapi id 15.20.8511.025; Mon, 10 Mar 2025 09:13:51 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Orlando Chamberlain , Aun-Ali Zaidi , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH RESEND 4/5] HID: multitouch: specify that Apple Touch Bar is direct Thread-Topic: [PATCH RESEND 4/5] HID: multitouch: specify that Apple Touch Bar is direct Thread-Index: AQHbkZy9rKvCUya3yk2OcQDLXpf2Yg== Date: Mon, 10 Mar 2025 09:13:51 +0000 Message-ID: <89CE1782-36FD-4CE7-8BB6-F46D983DA00C@live.com> References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PN3PR01MB9597:EE_|MAYPR01MB10587:EE_ x-ms-office365-filtering-correlation-id: 3b707b65-d165-45ea-588e-08dd5fb3dfa0 x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|19110799003|8060799006|8062599003|7092599003|461199028|102099032|3412199025|440099028; x-microsoft-antispam-message-info: loaxlwgObdQsMEE5vUWt45XOomQspAXrmvZCAjYysxfgoY0SbNFnCf3RSwGPFf9JHEi8sh9zTKMgC9Uy9SuGNxmxavyIPJ1kU3nQtm2wzB2XADqJkDZDI3turGpZQkW1FOOTOgcYtHewqxfmJMkNSVjO6OpPzbzs22yvoaKNT1hbadOX57WrR5A6C/Gg9UDDrYomZ0YZN1QQDgk5jMrHPNj9+6YbHdvN7ZHlltF+XMy2t3bGoacDrtodU3BUKeNZQG0wivADoZVp2TiwP+dAyLgl5JbvrCyaXDIJmY/nF24ZLKn5JR5wEx5S9qN3WWsY7N4WJ6TnX5QEuTvtLH8qPaFn1iJPFIoW7ijmXrUk2+c8s6f9EDVdx25ssye1Ysht4RLagLpO5iSKdApSvduhbDbKfd/U0FGcjEthoRjDnVlPGmEy34r37o36FS+1QAHXg5dbH8vGfxYdmcTORayHecLe60x1bjjEySbOUuCRzlEFsclDqhR7XrFR6KO/Y9l+Ms9sZtSl3tgbWydxroc6KHPB3u+vYZbgtN2GCDJ5Q/MJ7Q2h+RMerMG48j9i8NuA2AC6poYIQQ/P8JDh17JA0WlDSmr+Eer+o3xuy4XZtgvpIeW3p2Pda8O/UErvqrPOSAGwryjVFMTR9Rq6NpbmJSRmhWQwdPnkldan+EcVLV94P27hc9k9yz3QC7d1kQExaIwr8jHpbC+Qyni2j3oWfq+NP5T4sJ7qBDgc7BoI3l7S624Ub8yggrGG/b8K7P28BAnQQzV+hcQQrxNPBH395xCxZLgT5Ct+DrNEioPQf9dRh4WdCdYqJY7YhDlTYKxyJKpdqNaeJUUCxNI642O8y42NGIvhFLjv3X6IG7dA/smqHfzCMdmgO9v9ioJYUvpHH6byohc8KLLwxo5mHymoR5PEtqIaoMAgUKuWSlkpKoHD+6TyIW7ugOTftIMfkW6IOXBcCRePti0Ou7BmbC3LneGGlcBz8ug9RHiu+fDFfJ/EtDP8usCXP6QFxWWvcYIfIJdBa2M7JKIcvSO6IOJFd6WsLrfARH4a2o3g2yeZuRgvob5yRUXWWyri3WUra+q0x2JBk9Ev6HW64j0dK6KmQg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: g+JoKjAEwUnI410BS6qYUcnMlKaGNbhkZlLcEh0PZx8vcU5CRTnEm83hzpUsCJ82eD4l3NrbNjMhKXHV0mP/yZ95RJgHk5IXJppcRslmA/ockdFLXFyDHArAx0EUVgbCLHdMRVGplwiQH5Ru7fX4IFRyx8nerrhd8oKokdVSHc48MpVpu44AfwdeyJkuqQRjnS88QXTa1BctFp+PqbMGUH2SOjjgjbosYaXTodaOfeEzSMhW7DoOy+PnZv/sA+lW5y/sp75kUMDmpcQVeMoKjzF0jQE/3sk69i7dsA2ij4C0TeHhvEdvf1SDvUnBadLB8Cb77AsqVKaZpSQqPwrT+oZsv9YYu+V3d/IczUAJB95ujEn8MlpWIGq2POzQ8vnVKW/QEWxmgeU1qjHqVQcIVmtsVNcVc6/wVydive2r1nC57S1Oiar7cOBKDq0IBPbrE+XIC0UUUJ6W+MmzE0/VS9FKeDczpbe6FZkv+zHSzfMc5vw8Vo5mNvpnZ9m2sN7wfk52jP2RPea6HKPNbsiXOwB2Vowev2opa1HpNm/lsFzo8IIBXS0BG3XxNWzg10iwVJPE85C5sZk7fDHMKBPS/xmUdGO0Ra7Fbu7SZhudYyCJWx+X68LmkaHlJ439hSZgXvnxBcvv0Jbe8ImlL0Fu7yh4Ygk/ezZroa5GgI1bxf6hblY4TR4eKzWKhz8SAXSMC/Aq1wMlh0+iXy38Vxv9/2eCVFtBDTIDNTrtxBevdqgiqPuzJ2xCFjPnfHwpNI36PBoZqbA8yL52Ycl9ZGbVHMPvOdFcWPmNwqe4Yu+LsVuZavi9RXCJXiOA8fWU0DZikHodzYpx3rOgSLw5PzLP9+rbQFSbi3GkrFCYT/ZWR10DY/lzLcTA4NPdrd6AxTLUUaa8lrZRiWd/RrTNYxlaQPWewMc7qTrbXIGtnvRGOK3LkebudvPv5ez2YQoTpzMgcJQ2BwHhhq1Q56/Mc29+H1uM8bUcH5UYqg6c5T598KNQ/WlF8fff1cVFL16C88OkZyhNjI1yuw/6wCYyd2Ha8Fh4pPkGA5R5hvGOcCExaDExxGQiyatHeTjca4KoW1V60rTwu3XPgwXuFzSFUA7B3MqPmvKpUiPnv+HFbVXRjyOIoaqrDR3x4VZIHEnVPp0V2ss2bwpF5DC8OTIYIEyWjUFbO9AGNvolDcaPL/giBbNEOb3krsX72Z2cNiGr5oIv2HxhOPoIB3fE49rYf3ghzy3UhWtW9J/DU07UnYX1hM4h+3qIueeYwvqm3PGs0GNV Content-ID: <82B69BD6BA976046B24B38A11579120E@INDPRD01.PROD.OUTLOOK.COM> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 3b707b65-d165-45ea-588e-08dd5fb3dfa0 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2025 09:13:51.1893 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAYPR01MB10587 From: Kerem Karabay Currently the driver determines the device type based on the application, but this value is not reliable on Apple Touch Bar, where the application is HID_DG_TOUCHPAD even though this device is direct, so add a quirk for the same. Signed-off-by: Kerem Karabay Co-developed-by: Aditya Garg Signed-off-by: Aditya Garg --- drivers/hid/hid-multitouch.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index f7fe6aab8..66e33a482 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -1349,6 +1349,13 @@ static int mt_touch_input_configured(struct hid_device *hdev, if (td->serial_maybe) mt_post_parse_default_settings(td, app); + /* + * The application for Apple Touch Bars is HID_DG_TOUCHPAD, + * but these devices are direct. + */ + if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR) + app->mt_flags |= INPUT_MT_DIRECT; + if (cls->is_indirect) app->mt_flags |= INPUT_MT_POINTER; From patchwork Mon Mar 10 09:14:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14009433 X-Patchwork-Delegate: jikos@jikos.cz Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010015.outbound.protection.outlook.com [52.103.68.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 990A2221F13; Mon, 10 Mar 2025 09:14:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741598073; cv=fail; b=kJ9sfZ6wbLJwN7uuwR6mZM+qaV4ZgoaoBOxECBafk+W+mJrqF/C2h+BOtS1svxYaqNxXHPObf7Zh6psfjsvLzRAqbyS4JkaKBvXbJXnanA2b6i+Y9HZLuEDPUU6yn5BAm0FPKfILLwlKVPGfdeiwob7p4t6wa7IY4dHnt+JN91o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741598073; c=relaxed/simple; bh=A+RnlCnxqk/FXWtfGywQ0faeL9vDUtsw3aN3Cd9Mh8w=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=msmJj96UX0S+/yzEh+CQ46gpHFFF1h/XGgkRTssOxNO5kUnMooPcj/StCjb4AKrUVCG4ITtm73tubqcSZGUPubOHlxOnJGyr5S6engxKF4QwnG5n4sWx67OrrQNoxzobIcVHvhwEP4UU87ZPFSA4mrcr7c7nV5/7LMtjCcj7LpE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com; spf=pass smtp.mailfrom=live.com; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b=ooTcK96b; arc=fail smtp.client-ip=52.103.68.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=live.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=live.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=live.com header.i=@live.com header.b="ooTcK96b" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sZ1fXMWG08Qu78p5CtYF1R+UjvndRcZvHM0+kWulHT/h2uKDH/ZU3dLaK17CBu14NS309t3sK2ODmdH5eW0WMR0m0iHjZZHJbOq2MLjRHX966ECnWv6NKfuM9QtOJM+MbHEoNB/V4UKTcNLfl8BIhXt6cEaik3M0pM1LIWMJM/OJGTXXK/nmjOp56FXJLUZwFg0UQxDJJW3SXB7Qd4J6+6Bkt9MnVfltcfeWdfb3/pzRvr8B2IcttV0LNDSTXSfW8ef4WoGn7tN0Mq9zTiqnZ0ThG4iESFhW8zxh9FLgUecaYmSORLFeo3Zj56JS50Ndw7NU/+YzGacRb98FYUw1dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=2ReDvTgeIRITbPf0iSR2vMf/gEIGRR9UeRdo6xkH+DY=; b=J+Wt36o21vh574unMwF3yIeLPTjI9w+xzXU4UdZfgoxOAf0B1NUaBTYuVjExRxSi8VzqTjHkuJBnfeNxF5ZohcIfv7T6hEZ7TriAqWd9VGb8Ek/mIVY5iKXw6Ho966c9j3VJbMWYByW3epSJM5lyiZ6kaJDu3k6FIOoOPlEY22yxQap6kRNdnvrCQbEQQWdJezOKVlFOwB272dm158ArABgsIbVI8Gtmhh1cklZiGKJM5A5JbZi3U3bzO2B5idgdi8mfy5fmysleEkOGETw9deKiSmUurGNsD5uVPK/uOiRh51TbcG6UizharM3PmXR+J53PSnX8qb07HIq6TnNwFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=live.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2ReDvTgeIRITbPf0iSR2vMf/gEIGRR9UeRdo6xkH+DY=; b=ooTcK96bcYJ8bdio07Me/eW/joGkQvSCaTYODqd7g3f0H2W3fuAFyWMAsuVz/xlmapR2CXW51tNdVE2q15J7vWSCm1RfbOQI0KP0GHzD4LMwW4P67ystOzgu1d5rAGqCi+jEj50ABK1fypHd3/21ot2sUTd7o+derOlgI9Vt0BhIb9rdDn8zEIEHhveikYKv6pjnNQPug+ArT7YsTEzvVhOAbLqiVSsqhcNxdqRmfYjtU9FPcjiZbwy5CT+VsTvNRKTSNzv5NWNySWIBuk/WdWMgV/1HI7k4jsZcz52MOaDoE1ulOXVL+obGQYWW+A81oPRwkD6N0X1WSzI1oSIjeg== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MAYPR01MB10587.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:159::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 09:14:25 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%7]) with mapi id 15.20.8511.025; Mon, 10 Mar 2025 09:14:25 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Orlando Chamberlain , Aun-Ali Zaidi , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH RESEND 5/5] HID: multitouch: add device ID for Apple Touch Bar Thread-Topic: [PATCH RESEND 5/5] HID: multitouch: add device ID for Apple Touch Bar Thread-Index: AQHbkZzRYjd5SL1F7EiFR2eWmPVTSw== Date: Mon, 10 Mar 2025 09:14:25 +0000 Message-ID: <90644A22-3136-4D4E-864E-7F7210D0C713@live.com> References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PN3PR01MB9597:EE_|MAYPR01MB10587:EE_ x-ms-office365-filtering-correlation-id: 09d882a8-f647-44cd-b072-08dd5fb3f41d x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|19110799003|8060799006|8062599003|7092599003|461199028|102099032|3412199025|440099028|41001999003; x-microsoft-antispam-message-info: Rl4BNZFlNYWho8JR/6oe2WNEGHTEfrCheSU9zp2M6+z+efUzwiWCvEHmhCJCLgnHQciVslFjsJaHFqBNO2Y4j0qEyKT+yaQ2ZBJP/wPjUpQMEdIS/0UDx8YA2epyWQVub87Pyql2s/ANiqETtHKzDimkt0LH7NoCO0D0MhtYxIK9plCAKyA/iLVHEvwZOGeZiVqRvbq+uML34FkBBkv2wlGA9TxlflhDwos6+UtD4AAZWQ8WLUFsZsAQXM5XO2XAChGaTECSWyoy6e5/PQ3OSL9HYpkn6OcFeOk1/A6kklIuYObgvnW/bnJGI5uNAi9IllUHY+a1WfNBzMYzp5+yIh23R8QPuAnQbe9ZGvAaFi5flFU+ebBggNbhGL3qxUXKNQdvkhkwnB4Hfe9dQ+r6MQ8c2Lp1HH1IHcIEOI+zfIZ8cgNxd6OX3w9Md3vlwrrbl7Sk+DH+ps12UINne3BIYlcpTu3iZlgAPLmgIL5INt0oqngH8CmbotYaySeT24ubxR1joOkyC2SmlaYsgCqz8r/B9J1HNrXS7XkGP1BWNGraYYwxeH32hEKboH15Q8g0vVsf7AzaGEey+0QttN3J9zfKAuK5T4FbGZJbHMzKb37xxI02ogUTQAezdGkeNNO7P9vyfh6DZoFZ18tyrmR19JlhkQKPA8idVxat1J+lg9h1eL5SEqGGGtRZYRkm2vhAE6/yvpr/cJsEHARKkUaSxlzI/1JCHFzp65LFnEGqT80jYHQhMt73X3kWuMwkMkeWb95IkdGEza+5BfTAeKsg0MW/n0eUr9DeYdxapHSF3JEJy4w3Y7mgQiaN3KUdCbrFEif6KFlJxuuGtglRSYc7dwCXcfkQjw54yoIJaiiqelVqfm7xIC+ScW3o8tkvrDjXHKjcDSXnHwoh3aCbqd4Vimx/ImwVCcjWnddmAf+XKBkDmRGcozQ5i5B3fZdb3/KNagGG+2jilKMPLpT01RwGdz5kRSEazNpwn3tXKm0WbFh9XWIz3UEJoEDzaNh3orG0YPZJ0WS/5yKX+kBUqzHcFKv7zXAFFDWHoMh98WNXyKwjMDPUM7lor7+ziTDGG0tTyp5O4D6PgdhoofHhQPJh407IWUpUBIfYs3bLBMCFbu8= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: +NmjQPkoNfR8zHJ82vEUroUEolDFQBPfGREi0fVKo3F318q4CprzF9a6mxVQnLylcdmouj0jbEKnXJW3z5NAFQ1QZgvRCCcDXDsA4w7W1q9NQ8Pa9Go9qu0g/+J/Z2XkmTkr1gp0gOVAcxphbbmakiaGeyES1bSW4fIuwlqPB3rgKRA79Ig/eLW5R1FFUE2LrHvIzMeEbBhA05ynmrt3+YHY1agZ9AGIt8NWW9RsFBDU3Tp+CkNvS13EEnqnE96cOOeoReRwjqz67vLlgcesb129NYv/I/HOxnBNZrPPkYKKjW3pRb/1eTyo8NBotb9ov/blY4UUiAqHlEktBQ0MNGcBTajDa+5CQj1wQgXDx2ykFdV0nIHwsczIIDi5tz2yQ21yvyuoZZ9BxgTo7LJVHy+sfgV7tkO8Kg2fwj7GKYSypHm6EvKkm119cvkivVkrKIW7VxwPaLWRlgBGIEmZJpefjUiaKCfA68XncgVJxzBKDzPd2nFa4iL/5NUq8jkgzUbcwceS+JelIcSX+uOb3wTRP/S64pbLgSdJuOhtpcHWdewMlz92iVorx5MFKbViCHpez5x1Ke4buZ0IY64kMgIfQcqHMRYISrU/GHhTwFiCo4wOpKcqSFj1lWZHQcKYU24JUfqgFszZ1xhVM/wtq9WvmuQU8/V2KLHFV+4mHMYj/F4kZq26ZqLfFRgRVWdg/AhxIIVIvXfjjiCxhVjMGHa1PyNHh1b3A7rCCc+u+zqYjciADSVxO2Gb9dxrfo9mjc+75n5ZKj9ozfrv4v3u0LiWdWxxLvUbpjfaR7bEXkdO3vHeHoJc3ik729jRvf5v2Ur+nFnEwqvWVZYlzSMIjlyVe5jcZc2p7vsdcR6uot6OOBiVRUx1ldnOGNLkMKQheBYls3oRkNUoNhiGlwN8NemIufdb6lBt98uI+Jly5F/ZV+AQF9yxMFhgBEr9gLDrMnl2xqLGLOW6NcvGXteZx0CA5Z41TLJ+VSpukf/6FB2MgyWx9JCV95gguSfXEmtdwFDV3lOjlq4WbKZzX/9hUWmPBNdhNL0iteeFThVF8UlztgVVnLKu6IGEK3F6w8xwlfTJVCH9BIfcZEe73hu72Ufd1EdKgmu0rSAACx0iks70UBfME3YSGFgztBdZ+SGULVVW5SRuwtjEQq/8yN7TEJPaZtYBagmSxQfN9boN3vtSCRyfT4FOajlgdzDJ3cG4NR7+MfVXCgWZ2b6Wb855M3AL+uTO6WP/jUoKpFYhXIiR0FXCEGsYIwxnd4njIFLV Content-ID: <4D970B6309B16E46814A7AA680A33E77@INDPRD01.PROD.OUTLOOK.COM> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 09d882a8-f647-44cd-b072-08dd5fb3f41d X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Mar 2025 09:14:25.5349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MAYPR01MB10587 From: Kerem Karabay This patch adds the device ID of Apple Touch Bar found on x86 MacBook Pros to the hid-multitouch driver. Note that this is device ID is for T2 Macs. Testing on T1 Macs would be appreciated. Signed-off-by: Kerem Karabay Co-developed-by: Aditya Garg Signed-off-by: Aditya Garg --- drivers/hid/Kconfig | 1 + drivers/hid/hid-multitouch.c | 25 +++++++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index dfc245867..727a2ed0d 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig @@ -743,6 +743,7 @@ config HID_MULTITOUCH Say Y here if you have one of the following devices: - 3M PCT touch screens - ActionStar dual touch panels + - Apple Touch Bar on x86 MacBook Pros - Atmel panels - Cando dual touch panels - Chunghwa panels diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 66e33a482..078ceef62 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -221,6 +221,7 @@ static void mt_post_parse(struct mt_device *td, struct mt_application *app); #define MT_CLS_GOOGLE 0x0111 #define MT_CLS_RAZER_BLADE_STEALTH 0x0112 #define MT_CLS_SMART_TECH 0x0113 +#define MT_CLS_APPLE_TOUCHBAR 0x0114 #define MT_CLS_SIS 0x0457 #define MT_DEFAULT_MAXCONTACT 10 @@ -406,6 +407,12 @@ static const struct mt_class mt_classes[] = { MT_QUIRK_CONTACT_CNT_ACCURATE | MT_QUIRK_SEPARATE_APP_REPORT, }, + { .name = MT_CLS_APPLE_TOUCHBAR, + .quirks = MT_QUIRK_HOVERING | + MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE | + MT_QUIRK_APPLE_TOUCHBAR, + .maxcontacts = 11, + }, { .name = MT_CLS_SIS, .quirks = MT_QUIRK_NOT_SEEN_MEANS_UP | MT_QUIRK_ALWAYS_VALID | @@ -1807,6 +1814,15 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) } } + ret = hid_parse(hdev); + if (ret != 0) + return ret; + + if (mtclass->name == MT_CLS_APPLE_TOUCHBAR && + !hid_find_field(hdev, HID_INPUT_REPORT, + HID_DG_TOUCHPAD, HID_DG_TRANSDUCER_INDEX)) + return -ENODEV; + td = devm_kzalloc(&hdev->dev, sizeof(struct mt_device), GFP_KERNEL); if (!td) { dev_err(&hdev->dev, "cannot allocate multitouch data\n"); @@ -1854,10 +1870,6 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) timer_setup(&td->release_timer, mt_expired_timeout, 0); - ret = hid_parse(hdev); - if (ret != 0) - return ret; - if (mtclass->quirks & MT_QUIRK_FIX_CONST_CONTACT_ID) mt_fix_const_fields(hdev, HID_DG_CONTACTID); @@ -2339,6 +2351,11 @@ static const struct hid_device_id mt_devices[] = { MT_USB_DEVICE(USB_VENDOR_ID_XIROKU, USB_DEVICE_ID_XIROKU_CSR2) }, + /* Apple Touch Bar */ + { .driver_data = MT_CLS_APPLE_TOUCHBAR, + HID_USB_DEVICE(USB_VENDOR_ID_APPLE, + USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY) }, + /* Google MT devices */ { .driver_data = MT_CLS_GOOGLE, HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_GOOGLE,