From patchwork Thu Feb 27 17:33:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 13994953 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 352261D5CE3; Thu, 27 Feb 2025 17:34:00 +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=1740677643; cv=fail; b=m0ezDdGd9+5sNhARNrpll08mf34Q/ahJfZ92wGaYrlq6nZJrK2au855mWzdf586FFe1RObD/tYtZPdGi8h0PWxTjRw6S+x29nRrITDGdyI9jTLFEccjkcvtcx4Vib/MEpYQcebJOTSmCgUF4SMchNHtvUOv6ZvF7PQaZRMJS5UQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677643; c=relaxed/simple; bh=0I3uw8tOEl56mBmh9KGnsJ8vLZOZj3vNBqBpPaPh4tA=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=cAuGXOZogv/VQsFrdeGMj4K8fMPtTzqv6IcyWbiIim3tUcbl7k8Rk9yvtwmb8CpLieVe11Ssv4PSzwW8BkUdXfnXF+wt+p6M10l1Dmm9iYd985dHnvLAoOvewYyDABIhy3a1a9CoGrI/vQN+jovvKSlj0CdDZUvoXXyimdswCwA= 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=usC99+c3; 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="usC99+c3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OOQuHyzaNzDdl7uOhTnFHQNFlkT1ZuXV+efAWw7rrPxYPCR6q3b4+yN/IPbvIE1R78P+k4s8HnoEr/cwKvENHEsrJ25GFu92n4mU5jIEqTbFzSaa7qEMLiSeIAcvv4HDjkTxGVmCzoa2ninZGumtPCEyfc07oPZjFBTsHF4Q/G/v3eA1I1Xhv1HPYq32lxlnXqfqep9z4+Uj3888FAoVHxDcVBAuP929p4XkgF9bRWdVSnM18qemUvbBZJxk8m4ioT8TfFdBQ9LMl8SmBniKBiAM3C1I4m/YP2XD1tibAuBWZncyIUvp3ZYKbXqHQK/koQWUscQf/4fPKhqQsqOz4g== 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=C0NO6TziZw3mKSvnhNJkE15CFK6IlW9HjQb0AA3IglsyTK+ad/wi+zTr58UHuslSsO8q83WESvcNafmbfUiHPMxabgEvXgWjbU9UJoKjNwuROuObsFJMdeQVHEAGdD5dorvuXF/ndaGDXTq69rI6AHOsGF6/oaatOXav6saHq3fxAVvhVHFwlGa26nvtDl5PIUq+pCU2+H0Vs2WTmdveUgcVScJSpENmSx+0l0U3VIB5CoSfDQ5SRQtuL6G1pJTAIgKPv3uMsz/1KpAfeRagGUISFvoV984mj9TMFDrv4NDsi7QiiqOHk9YQk7Y6lxR79qA1HLe9QBxZgWv63pLMnQ== 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=usC99+c3zbs2kg+R9qRe9EHt9U5LQl17AdV6DKneLIZ0R6wbBnFvhl1kWJQpVUzJDxmzMfPHnJXzBkfAUMDmCYPGGTX5WAyR0sq7pPjbLtAtzT6GqRGecWl20r6TL3Iqk3mXd6vQMf0AgDu6ZTXI97hhXrK62kgYHLmNftks2KLU2eUptOF2IW1C9lf8zGh9XbhtQGWuPDJ0mFP9FmkW7WqpnsZfAtVTZMPN7N4PVM7UReOSIEEXYfqixTuSfx61xDPPEqGiiM76LgRvqzFw14HyIGISv4hMm637gMrh7YLDGsRQBjp+eDo++fB38mYBc7SS+m1lQwuilMVF67Y8+A== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MA0PR01MB7281.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:34::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.23; Thu, 27 Feb 2025 17:33:56 +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.8489.021; Thu, 27 Feb 2025 17:33:56 +0000 From: Aditya Garg To: Jiri Kosina , "jkosina@suse.com" , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH 1/5] HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX fields in case of Apple Touch Bar Thread-Topic: [PATCH 1/5] HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX fields in case of Apple Touch Bar Thread-Index: AQHbiT3HSnOJH/SKwEixDd3tCNNt4Q== Date: Thu, 27 Feb 2025 17:33:56 +0000 Message-ID: References: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> In-Reply-To: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> 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_|MA0PR01MB7281:EE_ x-ms-office365-filtering-correlation-id: f1fa2113-779e-44ae-45bc-08dd5754e9c1 x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|461199028|7092599003|8062599003|19110799003|8060799006|102099032|3412199025|440099028|41001999003; x-microsoft-antispam-message-info: p+S7wqR6GtyEtfQ9BRadj4iB+VrBdfueC1JwAZS8r6fOfAQRyWdbWPIk1CyM2+po8+/dPmAzG61SyDswpuykjrhLa5OiPssTQ7p3UZYsiKgGT31Mss0vmw3fYKmBO7qEnF2ymbx65+QABPsHoyxKbesMrP6JTnk0GRSePtqjHxEGpI+asu1c22eeGahoBzLtopI483u0eNJ6983WsSwUDy8+vM4g8rJ0iT4ah99YVBd+vr5r7m2jJuUTsTm4ZllTIC+K6xgXbwinOfmvy0ivM2mvseV7biirtce7W6ncD/p2JfGftz2G3tOQXwUfLN3sejQSkrtcU6Qso/pxb144AVs9PATczxuL3RJlCV+f549s96MvgzZmL9peMTUGFFo/E7v/avrOoWdrvQ55nmacNJ6afoqmCwCz78WdnKZ2sPJGiZe+liJuXii7P/6uwx7XWHgSu18DPhRQRWvzUPcG6DQ8UOfex1R7S0Ffu3DwmcGgLf8CS2o+B1lYkYfw55zXTiS+5UTlPEfHs5H8hYqt6SPeucWoaU0DfySRezqvCj/sdR7LTakpn/JhwdKJUhTUfDw5xueBIVYNC1INQKKVxLVNOJhlACwuOgMgdwtO0YuGMkgd644JpkS233Olw30F25NkrACfqyd3qRqdsXzgPVFeGyDi10J6CqCjuGtNuKPB5E2UqRx9Iip7WyvSGUz7mkTQnBRSEqOHeZ8FMd6DDXrVslANLLoe+xi+SUKLQt86ZUP0sQEikKgJ5fty7z+i1ZlDHJD2J30fr+8J//Wbc8o3Ffuprf3HHOIiiPYU+JAYK1IPNFLk+Uph/f3SrBTKAej6v43/C1c7O+jaoCQk2Rj1Snam3UAhpZVt7I9xNhxS0xdaYmWwUGTTX7x4QQO7cn0EvZDGMop0+rR0n9ncDzLulZzqCurYD2D0XLLQXUps71/ZYEB2yG/6qAF7A6kZV7xqmtvLQsrwyzpdBKtWg1MSY55kmQB+v6mcREdr7vQLHE68eZO/rongYIbIO5kkuyFcZNZYDFc9VydVyEdr4z+98oIMv15pPsbLPQ4nAYr5IzIpVo2ntPaVk6YO+8IIqYFJat4SQvk4Xg80l8MOXT8Yh56PPT9c1P/eZaFK/cM= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: /UDWul5ifcyfhvTzeY6yry+kIaBzZ7t/WOK/gkUhy6BLDqLN9WP6xgCCl1kZntrrgrrodnQN13kMPBi4/784CAbFBFw0mVfNoLB1h+zojuSgF0jmPPBaSx4fSU9Fg8lKNno0YhEkB53Kre8H8YOwWnWGU/dR5YZt2TDT7ekMeCmhv2jYqd1aTakGt8AqEyogwOr5zjPgTJ/DHTCq9gRcDTBBMmzdrUHVWprufHGqh3bwQvV1c2y0+9OdQHemLOheXyVVXKpmx2JjqhnkFXYyaF5q1E/ESogHzi7DSld2KfKxli+YTGQdNALFU9om97VdJr0UnORYT78s6uy3VspIrbEGYOHAQMbgyfoj/BjhB0dgtd0X5JGYy4Pm3mH3PIa2dOqTDfRsEsotVDC2LY+RrLIdCDZeSjKAdAJ9sai3T+LMjCeht5r+UkQXe4olt1ZEKaC41FMDJz+e+e/mKGODLpkGhVY56S7tARcnvVUx9iCOYBgsxqZ1Iil+SaIyt+I8GCnxcXovGVRTWaDMPC+O0cJXlfaRhhSaYOe46TSXdeDwEbZit9ScmZsNLpfuOwBV3bHUlNEQVi7vOsnI2UdyJVdIvG2tHw9ST7rDcqAESYVfW6UohyrkaLJVI46jhfnMH2Yo3CI8ODJbbBws9wyRiwOiikJgUZcgP2T7mWY7/xJxl5bg+FdXTA1B95pZZIQOSdJT4Q2pN2G0Qil34T11Kk7pbRGP/NxfdWDxakZkxfHBsCM0H8pH7XPEhj4zBoQMn7MPZGhq2MFFTlR4gNpc/3RnbzNB7NRSBvIKEkm/HsHKuoQenOBhgtkl1ROMcpBMk4qwqz4cdifXTEJ4p8tE2u4Zb/lVU8uW6PmXGKetnpxtjXADc+9eoN81jlnEHAsUQoMkMmGg2qdY62dldNoZ3oNdw+0snnRNfeQ/qUCdVAdroVlA+znr33AzKBxE9qCnOmxC99J6H7+RQUKdw4amC8jSq04lYxZaIiHo5roFiqHhu74R9xrlGWGg7kcMxNqOy29fAOPMfX50DsaIg5r2NkJfCoUNy37KIgw5Bb/LGSqeKQtMIYy2KgBtRWwF9xdBMyMT9WoA7DnWjUMIxXkPVmQLQykLqd4YoGCHAbTLK6CRiVLCN6phlmcuxgXE6bgprUAlr7u1BCBKOFTen0gpduaDtify8Yf3HWFqDREL4hkbMZhu56dMv8/EW5+C8d9GBzBelZbLI8OLFqvwL4rSypfkY7WtdVLLtlK74dfe4bCn8/d/Z5lnkAo3y0ZMZla214F05p/ihHrE3gXWEJemoe3VqJTfAQ8Th0eivN1gGf7JAsW8iPkb7M+MKXZmnlv8 Content-ID: <5D1929FFD390234DBC42A261F3E4D7F0@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: f1fa2113-779e-44ae-45bc-08dd5754e9c1 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2025 17:33:56.7059 (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: MA0PR01MB7281 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 Thu Feb 27 17:34:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 13994954 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 2CC181DE3B3; Thu, 27 Feb 2025 17:34:34 +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=1740677677; cv=fail; b=qfB1B8kqKCiuzilwHtzN4FXp0vJITUT90IZT+nQVyXvdPKx9bMAPAlESPtg5GcE+BU5r0JQMDYo9JHf85pAhEQlvmxgMHM2acEuS2jYqu1YDEfH7rKgVDvPQvjtRcDEIMy/pEp2KGZkJQ5ox8dfMK7WxMwc4jfj75cuxi8VEfJk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677677; c=relaxed/simple; bh=Hd6y0t7ybwlnGFKggZ0+d1s87oGPE1rRMDOzDiMCMXc=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=KFPAZLiDxkp1kdCk7wzokzRGZ4YSb+uyvDRwMai3yLxZ6I3pMaFgQZUuKqV80Hk93vphrU5BURAReN8x+zxEb8n5bIicEURKxifU5HnrTJToBcnQCbOMZTGwRtptngnvO85f0lyz19aXVq2YTj6AH9gOrr36VTegLYObEja5WOI= 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=ULVmgoiA; 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="ULVmgoiA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xzK4zx0Mfi0S1gjwIE5Sd3qZEz2hB338rSyd0sVtl6Co9HQrFwzgiR6xO7h5n+Z36J6v96PKuxQt9/td+7+Bxdl/0x8+MqeOYebt0jSnnQzn3qYzniX+SuXfawAdfYwoax7tfc+b6chODB4qb3FD2cD/oCUaam40E5X9VsykPR+CWVNJ5hpbVStiN3QvJw02USXF5mce5jyr/66lxmSo55F0QSjQzGyAZrJlsu/328pAuF66NwoiNh0e13gHcJoUZSjlx0549YP7Jo82NVIfrbSxMknR2un9379iTW9cuZXhrShoX4FlJQpMR7mT67uI3/7mqYHAIXJmRfakmSa1gQ== 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=okk2NsIrk/QUmXLgiECxN0boHn4Z8TZ3UuYzbhcrgjsyUUavqbk84G1gtGw3ZHFGHTyIqwJJmLSXozLGOhQbNkGRVIuDioo6UOQVGsLKRAbQfSG/3PA9MHAgUNl4XyZlVG79F1MyWe7hsiL6SpDaLOqnFoU/BeI0KzG1h/56ziEQMKeq0ym5jO+tlxbuvwkeLwNAOofOHSzWrMrdwomznd64CEluY3vUHM08F8Ndhpr7x4gnHq9SMCuM2s4ZGSFjJD/W5ky92qMvfyBDV5o3dI1Wc7CdLtxmym/14UmPOegpEK2aZbmTuJ7o1NbLf7VOcoo8qKrf7q31FUzlXP4OJQ== 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=ULVmgoiA67fbR9V7KTLLboz98pBzP15C4ZwiE35QxeDvz3RSYaNJRQ5y4BCOcc08fpC0sH9vktfWc+Z4vFaYhu/uP0t7qHrN5lZrRqwsazUXRvTZZqKyjnjoypkRbYvKZjYY5JmcfXR7s54KY661bvbeNKJNTJsOPerjq8kZioReY9IHyWMVs6BLzL/DbN+AD1QE9UJD2Zme21Y63P7Hk+02GvV7wkULsK87TV6HpXcTP2hYKZYR37iNezUfYZvKG+QMr2KbeEJDZgAq0uzfYtbli8KTIpa//oWwd1cP4IyER7pLogrPBrWpyJVft1x/bc2QhCLWDbwr/d9asNsRsQ== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MA0PR01MB7281.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:34::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.23; Thu, 27 Feb 2025 17:34:30 +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.8489.021; Thu, 27 Feb 2025 17:34:30 +0000 From: Aditya Garg To: Jiri Kosina , "jkosina@suse.com" , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH 2/5] HID: multitouch: support getting the tip state from HID_DG_TOUCH fields in Apple Touch Bar Thread-Topic: [PATCH 2/5] HID: multitouch: support getting the tip state from HID_DG_TOUCH fields in Apple Touch Bar Thread-Index: AQHbiT3biblVR9v5zkmS907Hu3YaPg== Date: Thu, 27 Feb 2025 17:34:30 +0000 Message-ID: References: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> In-Reply-To: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> 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_|MA0PR01MB7281:EE_ x-ms-office365-filtering-correlation-id: 27da2aa2-2094-47ed-5065-08dd5754fdc0 x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|461199028|7092599003|8062599003|19110799003|8060799006|102099032|3412199025|440099028|41001999003; x-microsoft-antispam-message-info: NK6uvqJML3+y4LcIcV1M+C20iSWWgPwzZ5wHEuQUeHqITH8WnJQ5Jbswq7uDsTXQFwzhryhpthOu/D4BJWq3UqXNp2/XCg69StFzzdKEDxESDyuTsWxnCqHQr1vUWqM6fTqzHNA4dn4tEleI15UWiTqMSVk5WzwVhCyk5CMk0rUHXwCzL+X070+8/gAf1idWy4ZRENtYlMrb9dGyclgUJXtmnVkh4BQTQbcMoTUSJc/3angHpPfsx33q1LN/Hc9v7daO2YcfA0Qp1jbbqujpeve/BC7D4hKkcbOjeXOImSieSeesDHfvxRu7V5tEdT/XaVh/Iv8F/OuDk4JnIodmjCEWhvWIrW2Z5KQtQiIusPGuqA77ChIqBorwFPbN6LlWv3lILcG/C4CSkH4EuYyIwpg2yTJjACXfZ2FALClbaGX5kaStBhKEonuxwS4CGqfczCZvvuo6d11kI1qysIqUmDOFV6/BfFGkNCfjHeoLw4JOe3+ZwL8DFDkZpIK0juM7pGL2nb7eAeR2lo/jU+rtXA6xnXx8Qnhj9maJZvp3ZZMFxqsSZr3u1ahBPoRfr4jtkWhnPl5o6os3wb2VSmxx+mfOnyEgRcLmafrbPjm3RRTvRp431yhhrS0GrjhhK6c+vWol3ADuP0bNg3WgwBZkaFXbsMnGvU+vwz4ODSYsyylfH5e40E8NlLFjo/IyqpJ3JBQrS3yb0tM3bOM26YN3w0ybKt4kMhJjAWjOyXfhnAJl7KuI4RzG0f4iqTROotHdu2odRLNFjjp+2QduhnqSMWzKsK1JUumX5s9/3eV2o9DYlcz8/scGWG3Ybf3rdKHSgcpxR1q3nmtaDg1kFo89Al1u2AbkRSaOnlLYXesGaRF/ZlyF1twqT34H56E0nGYaGvBcDhGrin8iZUe3P9rSg4i88tkFcPRU2dtVPT1KBzIpBERE6Hn1gCYycXsK4ztTLkdCcGFfmFDpqgqTy2ejahyGArg32IMA4fRq3/Lou01Me2jeaT7y6IIgSFIy4RwrXjcM/N9NhSm66xIVkIAe09Q0izA0az+uHmVYUz4AA72FLthB4MarshCJmljCSsy6LDcU9uGX59GtY62EBAaG/6L1xuiAQauXbZwXMA73wcs= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: YwkJucqYCKF3tAFG9XBUiPSouReAbPgUCRTAUA6iEJfAKhnM4UsgsVQs1IdSp/DhkMUJRJvizZVft2Ne0Ic3GUsyHiBM44eO5GbBW4r1J27aMCQg42vWiSFPZzKe58a8ugsTu+/CbpijwTT0zUqX/tw2tS0M5VKLyAGgRrRf54m6RZKr+Gg8WisqmVnT9wh9rIcFTmC0QrH6OBolywxdwb+yY16fhdUCJH6Ovs7JS791afS6hb4xXASHnG55w6j9vUGFHJz66yafQmzCkrAz6ZMClndi0K69JBDNKyiU3oJCXaQ/z5KDfwgUsXGnqa5crW/PK402pZH5c6lAlm83Z5DlHfrYOiytR3p7D74o8OXPFtZT2qXtQ4az1EIUtDcXHGYvWNYkHHHi1grjmg0snEDLbpedBWpsRSYyZaoXG5Lts+CtbIFJGI9jp1ubUcoK0+YbgOqg6yu925gsGL6f92XXYeQoP3MQTIhJ3+G/+0qWSGt31qVNGgEAoBmHeSsMxTxqbbOW9uR72GAkm/y0um3AC+J773W43v/Cl+4FNMoSZlQg8v3xyOijbCbttUVelcb9knlqnc2CBPMg5xuE7mOZUzaI77d0Zmjfx3c2iUilZSDfi/Q/rEkQwshZQpi6u8ufPuNhhZ85khbtPx6dTggjPW/ZMAJ8MpIuw177HfeUENb7NJgCEsh4KgdCO3FXg2fNW/s7J5ske4YUw7JF5tBWjGOQ3VrLGFJ+1nCCldkErkJTsIwGjv9mT8Oh32SPE9PeResP5FGVgc852VCfUbTx+V6tAYN/orU+SNF5ju2Hl6Eaasssg99Xf7CbPkC/Y3rGmtHk+T7IIgrxUbL069kZorsSSrpemyZBS+LKewreHDACUVHpB1aJMBf68OlNn9Y/kgcoR8N9Up9WYOc2npn50wzcmk52kO7VSXH5lqij4Kd2YVso5WmR7sGzIAqg3ReYvBeQRHfa3YJUqOkH9VTZXA7Y2e8mKuoXmR5gywFMFYbHbxaPdrHGkNUIyD5hl9VKbuFAbQN85bYHzJTI5CGjzHvfKB560ZwNQXqqEqqbBajCTXmbRsXy9Nq/S9PjbKF7wXDe8dn3Ewt/djifFi0Xf/kU7YzdPBJFXAkVzIOwUJNO8RUToLd0Wf87lZIhtoo+QxOYlKIOl3Qa3LGn/ZXBJurc4J0DKOoaMF0AuTS0MfncACbA4DUD9dw5ApMMKVofXoSN6uHJ0ewL49hbe/Jdy9UpaCVh8w0vDOpymWusvXY9V4NrabQszumse+I17A36+jYT5CAmIG/40LQrXKCfI+OGTcAuNOgTFc8alPI/UwIAXUnSD5+KgaOAhSDG Content-ID: <638C36849192C84486245D9EFD3D369A@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: 27da2aa2-2094-47ed-5065-08dd5754fdc0 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2025 17:34:30.2463 (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: MA0PR01MB7281 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 Thu Feb 27 17:35:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 13994955 X-Patchwork-Delegate: jikos@jikos.cz Received: from MA0PR01CU012.outbound.protection.outlook.com (mail-southindiaazolkn19011027.outbound.protection.outlook.com [52.103.67.27]) (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 A1B8D1D63CF; Thu, 27 Feb 2025 17:35:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.67.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677709; cv=fail; b=d2UrdubDmlexa6zsMCVEBdMvER8xNQnycECSsVfvjI27z9Lpww24hyxq9jWGDX7EqJrGDEBl+m5KfuIASx7qNaZrSZQD2Pr7l9+B1vHPz/tWUda/SI6VfWk7KgKJteWoExOqiLUUpSS59uVY2Lff877cwW4FPse4thC2MBodQAk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677709; 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=iC77zP3eeBQYFUw6nOqTVE8uDFbxTl+YK6gc/1c1S2TtOzUmSAiWQO8tPFT+PcLfn7GgaqvJvxUxkeY9mY95c70EK2Mh88tJV+ccUNhgmFod1sDWIZuJUZBr3PRy4JU0AjJHn/8wTdzi9KKs4w+ahLTiEeuUm86Tyt4cYiTpdvQ= 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=aZh7svt8; arc=fail smtp.client-ip=52.103.67.27 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="aZh7svt8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qdYrnVEJsu7uRKdRNKQsqO3tueFU1SsyP4G0pQ2OahnsT40El4jm3YHkTqw/dvCzG6LPvk7HOkYQNAzIKZiigM9fOqveRo+OlzApI24e/uh4/H4viukr57VDHC9voMqck8UWQfLDCyQcpmaZBqyw05ns6bxUkEhEw+3bNGwzkWiqZzLFYlzyoL5hyto74GGoEpH2o93kQYZjtbgf+/5pjHdIl0vbSZbGmLOSBaNA+y3XKuVn3tR74jOkI7zO1npvZRKP+3ZzCknIfWWNDYTrgYP2GiTAFmXIB1dUnRjD8etTkxO7FuBhNGN+QZF+je0ZWFsMQeS+ODwWDuSkQGtdsg== 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=gch2zmSokrdHGMtcFAVzteCZuhFdM8sFWGETAUpowSVVBPISnZ1pgyUu9TwmAUWYBmNe0QvRP+5Aj7fV5ZPuRqPSX5W1j+33qAL+w1M/pANnuvy0AYaNOgg1xLYrkWjQvPehqWISNAkIEuWg3ttCFg2AnCSonoKq61kc+NNfEmI5Svq+/AWMLXmJDOORoGXKXjUusi0RsZB+CVBvTR2rIXwQ8L03bBeaUifwJ+eC6A4+x0tTVS2UJbSs67NmhAr7tGP3uHVtutkvnSuJoK2KV9hXoX0uLwJr9xtda80J8Vlq0/S/jGuORSffP+vvugKPMsnelsad5vNR/x42HG5dfw== 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=aZh7svt85IqCftuYjHZ7Jtq21Du2rkcRfcXRAeLyhA1NTDqzt4uhzKyhiiw58NxfW9zCyKam3UhercWfUHWDYx4Rr5nCvRs3IV6vjJdMa+l370E8gY0E9p5/0MNtj7sD4IcDM/Ik+gIH8ooSQzzXwsXDm23etyprKILc6lfCUR0pUPk3lKI05Iy7IQ3MExr26AIcuw4RvZ13GxI+qbUNSFKbVB9qYExNcL+lVec6rj+bluK62KdDfd1RYyxR41R0CKFDYvhulRep3QOB6PEh7Te7I0bZ4Es36AA5FhDP25dAuG/OBGkSkuZkj1C73lMDnCqhvYeOBpNbuVyeODpFOA== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MA0PR01MB7281.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:34::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.23; Thu, 27 Feb 2025 17:35:03 +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.8489.021; Thu, 27 Feb 2025 17:35:03 +0000 From: Aditya Garg To: Jiri Kosina , "jkosina@suse.com" , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH 3/5] HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field Thread-Topic: [PATCH 3/5] HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field Thread-Index: AQHbiT3ulHkDk4jwuEGhkRU3zGWpBg== Date: Thu, 27 Feb 2025 17:35:03 +0000 Message-ID: References: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> In-Reply-To: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> 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_|MA0PR01MB7281:EE_ x-ms-office365-filtering-correlation-id: 2399d519-5f52-49e2-242d-08dd5755115b x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|461199028|7092599003|8062599003|19110799003|8060799006|102099032|3412199025|440099028|21061999003|12071999003|11091999006; x-microsoft-antispam-message-info: CImvZB9JwQfiyOHDjuEGqt8greztP1bM2OJ20tvIecqlyrlnR+YRqKG6ztLMe3V2UyLW3X0IXH+sftQc5EIXwi5d3Xs0ya7DrehIZy7rDjmtSzMAzuI1rJEuHTHCAGWG6nDEGl14nCLkkCbmCIwPEid12K0dA/KzFvUKanKBGaxQ6fHg+3k4sWL7gMkVWzbtCXmkcM/MM+XlGY/o9VTxxnhR/DxzcN+IM+HSmY7G42NPhcwyWsEdW/UXwaO4RJW13LMbhZZ7fxQ3u96GwI2rZEIfw1EeNoS2dVOGVsQTIwjrPCnVcp9+i9PklnFsuqfOI0GfewVtgp/yZpuPSZj+09lLIPMLZkSlb0mU70HhEaIWEbv27Sh8RUILPTDZJsSHew/oJ2WnW/cbmgc8toBCJeWK0Y8NjArlWbvvi330E0gQ6w0r7IDEl4/1dis6egKFT4CojD0oqc/cJaWdn8Bu1HlyPOVnPiKCxTS57Fz6YQxpuKTYzWc9tmg08OTRWTLNnAp4d9VSQnjFC1o9UUtVM94O+rW+JZXp+lvs9Y28zbNjYwgEBovS1Vt3fVe0yDkebt2cWARXHk9ufI01xoNM+8yxi/kBsJftaiPYcd6yS0CL585oHJAEPGKUcy5CsBk8xw7J65FPvRYPY8iANyBY0jqUyBj0zO/JgZK17EsBWV/gVgGZmoPyToBqMI8e9O/c0NpqZzQ08XpYdVJ4lZi681JuvW2kQaFX0SznTSzoaZH7B4LOPhkZC3hq1ffbam9LNceOoU7BxGcgwcuk8U1y91oY4UqS3VXm1huxCh6C2c5pkPRrYKnffV5itlK0tS9igvbJfAq+u3Wf1L8kLnUzjnC+YhdOmrLXbEVFQQF3vzH2gzlDSdzsu7oRs49awWknRQKYJe5H8BOMQN6fUFmjn3WAIAoCokWkmn2GsdxURr7s7u4cMjlhIpNQZi7w0JZiU/2rMFFKNnQ0tLAFf8HNn2HtXp6wPPJVhQTgnGtUcY0qXFNKyObe2zade6HAhSvqAtp6ygJIKOvpYl9isGf3brtU/6jdkK10XtPPHHTGX7MtnhEsQ8ZRjR+lwBimbV6K54FcF5ONp6iJ69u5C3LqUUhyvzpFkUCuHyMSGL3jLRFwxeS0kVAurSkbfnkwkdypM8E8eYp9gaHWqyrio3AeGAZCmxk4jgQD/OqcDAoT5O4= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 1Rw+7g/kdgr0PYeRyH3peZ6i/Ttdn+nGycDyvAegdALmRPH5ekvynXdDTzejKHq13S1y6QTkYjBWmqAiYfAhkeHAjKjhD83jrjAmAqRMWg8e5lHsJaR59D1He1Lme480aXfK8ZLYDvN2bBmEwJccV3XLCp8GSDF4FRMJeD2OY+efSjuP/6hpm8xy4sCeIzbp1C2wrOpCKPe4+Ddpy7JTDnr/2X3uJ08v8szxhQV6mxfsNjegZtVN551ZTJUH/cI1DcKeRtrKbe4vkNlNDk/YupeuW1zW8eRdmoqSV41J1pfjmUNqPOLIYeLhYVW3T93mGeE+YNuGeNMMl7fDqTb89e0jZNRwsfDfIPgrC+kgZVQoo+TD/UA4TAMG/rOQxc3XvDRWyP3GVzLahW0DVutZ6JYFuEookJnSXGzNFwuMZFo5ExhK4QNPwaKKtP5FJRGLyd/iwUKb/gtXMXfn6yeHc0Nncnz9ORvzg+4iiHELXH+bPxNCORNK/FfQHxgVeskjjcAv3HiqPPaL53vglmdRbehbvEZNLqN9SuWXJ8xCEWYcyigyPzUAOdLVcm1i/7BuYyimZiCvIviWk7fthuShhCmYk5tUhEj9u6tx9FR9prZNo+jP/HbitLouIC+Z/xUkZIBB2lBDRGBvEJrNxsMuR3dwpAGgn961Yq0nPTepMR5xCn2xCqw3uIHqt8vw7Kfo8/SF4GHRbuSrUkIRzU/w3R03MYPcV9OHb+ybTL7w++gPj9JMpK0ReyOFCC8XHqqd/Scd7pEFzniqbhaKVVOC3EsgHFkHD23dPL05IQf1BWL8GwayEIxvpem6DIUGyFgmO4z940F0dlhxKyLI2mfeofeisxeJ1ExmzE5qo/ZQGr7NHm3v+U2opFXSTZ88zZAQGURKp1DbCPi4SD4O1JbZ8XZDtFmpSZkhFU+UL/cIn+o3OOLmafbG7Q1rvaViygvrF5tqiYVXPEN7rtpQSIo1o17sOKjKH1OkFtScnQ2xDOWV6EP+bR0fQAyk+F2vUa9pF1ALNJcVhtErn3mjQ/excB5vGRn2FOEyh01Z92PRExL92SvU+ewE4XN7SmNiXSgEc9kP8QtBd54vq8960xtuRn8QcuJXMTsBtTqPYiiRrnHMvy6GTvUbXhZyz10Dl059e4qo3P/CGa8vk6ovHre8XxdI7F0F+j/9F2mjGwZncVV7bLK2vu7ANQHFsL4YlQoi/IvM7LociqZkUTQfuMSl01Y8lI4Zw96qXN2/+RHurHA88b5TTUqBvjA5+4Mz7y4noC8yfJ+PchP/LxhT9Dm/xKgI9GNcLKnmsCLYZl6Vi7NdYlDJOPjhOWtQBaIb0BRi Content-ID: <733DB41099EC54418A21AB886B6E9FE8@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: 2399d519-5f52-49e2-242d-08dd5755115b X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2025 17:35:03.0961 (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: MA0PR01MB7281 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 Thu Feb 27 17:35:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 13994957 X-Patchwork-Delegate: jikos@jikos.cz Received: from MA0PR01CU009.outbound.protection.outlook.com (mail-southindiaazolkn19010011.outbound.protection.outlook.com [52.103.67.11]) (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 6A4591DE4E1; Thu, 27 Feb 2025 17:35:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.67.11 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677740; cv=fail; b=U3rL22qrMoGr2vD0gTpeiiOrtMcp7dPjUG20jp4mvwaMZJBM306E1SgNzHkejTdXh+c+7BeVxNAA0fsRVrYdBFG5BHOvcGIATcEBkmwumKPtD9vJTs2OeCNrZ47oyNzeX2IET2/x47+fqjyzi8vfPsatNv8A8NOqYJ/vvGRBzk4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677740; c=relaxed/simple; bh=ua7UqOGbXfUtWDjG5OtQcf/vLDUxWuiF4ryfyYw8a+E=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=ZAZnlFTUM5qZpThivTV5H6Bp3nIix6idO4Mo2Orygc7ksb1fhQcDMiFS3k82TAaB5+K4hsw5QPW0uSmMJxrTtCg53c1l+0yKwE/bdXBjXE+ZLyBBc2jA32ACimPjYAiVtQ/xfBAnIBQXryusyDAlB6xyUhjI78U8zJ1Nng9mMy8= 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=IETCvGD8; arc=fail smtp.client-ip=52.103.67.11 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="IETCvGD8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Zyibx1NykT/vNWd5egHVyZk2qLgvsMzwzUH4xksSGJp1EDo1wjN3cIdDd+4HmngNtyu523RfjG3EyrbUhFYaMbIUEP6Q+GXIjCer4dvx9ErFf6dNvtC+FRLPtaQ9nFMuNBp8T/hG0gnzvnx448aPn7/396GkrL6WBy0pfpPOIB1+vg21XArZg7+BFncD0jZKilnwfAKE7kNNcosrFILsfRMBdOjpiunuhtRgexJsK+dBQKjgjaDfkbOlxVPdGujyY4g8zySvPvwPxFOeaJBhh3JIlvMHfnVgrVIxhr6zTrSjolNFOKT0n3Hl4s9D/5dDYvyflPU2oOLMLKyCN3VhYg== 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=Oc2rTCfIaZwrkDm5dlogfeeFs2n6B59MXQoHffJ2yNFyyFaROIgZW9kudYol0qNUWB2NxHIGczNvrVplfiAJ6ktEZZjr5cDgcHo1QaNHZBUn1gsCupDsXTFlp4zCBUNvFVO8j6B08zWgDpZlDnjc2d5kFrre2Ko+Dnk43QN4pBWO+9bNXSZUac0EvOV2ov8BjFeJCX/qU0yXzdn2/2qrI0fNDNORki6ODktv6tzeJT3LwfL+7M8acwjxq6T+eYco45GwTBWXDoMZ1gyh+9t6wZS3JNblJqUWYkqCdYpHw/8i3yuk9n+XF6NMM22UyRLTPYllAOarSsPGvGUdFPC0Ug== 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=IETCvGD8TKEmMtz1RFaE+aN1Jc8WzDpcbhlp6xoreXL/USR3G1nZ2RGMcxgXUhb9uSXWTc8U1Gc7/Wss6GlE7KM4sAq/RHX/dIIX+fenSkQQwY/F2DWbX/+4gbKrf3yvqVAWt6RyEUEs7MV5UKa2yfNLB+N1sAaS8SOskj8eR3YyREOnpLch8xZd+3nvHcuEos4lP1llmvARGFGwx2GIg9rrFOp+y43EN3uJkW2GOXgBcJnzZQXLTJUS1e4KoCuunTRCPHrmT821beYvtIWUPvZnFKJal/soUweRx2PGmrkaH+zTc4LdCFYd/QVmXi6vvIJwaC860925w8AtHslryA== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MA0PR01MB7281.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:34::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.23; Thu, 27 Feb 2025 17:35:33 +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.8489.021; Thu, 27 Feb 2025 17:35:33 +0000 From: Aditya Garg To: Jiri Kosina , "jkosina@suse.com" , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH 4/5] HID: multitouch: specify that Apple Touch Bar is direct Thread-Topic: [PATCH 4/5] HID: multitouch: specify that Apple Touch Bar is direct Thread-Index: AQHbiT4Bu6xnVkz9AkytXDVuzBLZww== Date: Thu, 27 Feb 2025 17:35:33 +0000 Message-ID: References: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> In-Reply-To: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> 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_|MA0PR01MB7281:EE_ x-ms-office365-filtering-correlation-id: 70044c17-eed3-4f36-7439-08dd5755238b x-microsoft-antispam: BCL:0;ARA:14566002|15080799006|461199028|7092599003|8062599003|19110799003|8060799006|102099032|3412199025|440099028; x-microsoft-antispam-message-info: fmFyg9v971wOdz8sLN7Gm4KDpQ+AIl9EZhfAJau8JtnlG8odfVoOL2Thetxb/oNr8gO1bnBwz0nQJPvmPQxmz8vfxP98HqLKDmoWJ6UQE43R/a1oHiLuAsCr+OB/6FiaSnRCZeBk1KQ6NDsHn0Gst1TgJ/k844oFwVlGNftrf208fn0qzzFkm3b02FIUgZ8bQ7SkO1eQpJhEaxEUIY6th3cQ05MY1SeCIb+hlat+0Q0giA/WunDG5seFsn4JN+6RSYruQjzrQInGKCxvqG1VPuK/2WJnIqccKDbiIg2O85pN5VcncCizm8o/gfbJfJAlhsvRen8h00x6KAxtAh3Xrj3JfhGtf/CsVSxsz574D7kiTq/tSsh7vQKH6rippmV8+YIfD28Vh5MHSOo7QduwiZUXod7FtxwaxVL31pvRXe+XE9oszUo0I9pEcIn7Dw116PGDDTPIPIaHJW3TYPDPVZLKsn+mDy2iJ/48CGTQTOVSaJvaXRezW2ojN39A4NAaIZ+O/HyC6kSmWEqjL5FTH8MhAkG0Ko215NijGjlbURGWKgW5oqWaT5aWvia0xruCw3CEDCr5+cJx0UEoXc3W7gQ6gXEkgORkZtnwzDC6z391ke1HLfkHwRiWQ3OaF2tWkayV2GORAEkAbLcGECUyWi649c4Ph4Y+C/Thk3IBLmG5id60WxqneWwEscrASE8El1jFtT2mz5Qz9k0znuoRXTN1oOmLc2yRmd1/b/wqCBOWc38Mi74+qQGooT6dNtXMJ4TOfrZzX0qEJP9jYuNIjO3rsaeYSJarVjLvyOga7GW4m36G7PhEa1a4CbzHYRSKqba9P3bed/Axz+Abd9hQc/GLjGGYRsMa57PkPVn0oIBd+xQWNNNsbgr4/yA0v3F6o5yL0OaZgKU1DmXuySFLszta9cAB7anFc4/dqqpa3JEUqt2RCGwIYUIcsJ9e7o6fREjpiZsrRLE9ie8wyikxTR+VFiUeyTSxUBG1i82aD+y+hYAuUY/ZWhPeKbRYW41O7m3kJpFmbLxEGNMHOqlBzAIdGr4t8mtMmRbygXEPU/hFwKitZLDHCdgq2wI3f/aIpkpXMndCDE9n159SuQSDjg== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: lbGFnU/j+6S9C5oSgA3RmW02PxHZp6ywkDHG34tVbS07X6ntJRNQ7ezwWkokTpTWtVgUjiTcXQ5lgBg8OFm7n2hGjtTfQizjpaeyR0atl0q2dYS+zikZjtFhzhKiUNsaQ1emkrvUNlQrPO1j28ZS5Z1Do+5aQh3pGfdjY3CZydhEFWwhnkWT/IUlLgk73IZOimQ+aCovG87ay7kpKaVUKZjZVjxj8yJ9n7t6LOkokjVVBxjWU6M507O/0vlOHJ29x+v1JKfjb1o5Il8wyR3ueg8Q10QIErpf50bX1dme2bcg/M6/9u4GFn86q/yl6wvQRyk0XeAa6HuAP72IvOrQSTk/gymuFt6KEesG07xGvjHdIqUYjm6/fwHiEG6AJmJhudGktKPF23sFMld9L1CUM19MnTQ6903etwqgWEHVB3qma6G2J8ifc5FqtiS6Bm1LcGN4U/VHfmdFZDAr9+j4Y+xuTRN602K7t2yRfaUL9C5BX4yrOxXkCM5QDkk33yGssTdtjnigMbbqh4tWZ86Hp6dqYJ0mxmHla3hVOUowv78UeCzEeYQMXjqKE5hmvq19LTUmPAC606+fs4ItTyNSG5xp3U4+No0c9IY3n3DlztQX7MFHxmh4+0Mb1vKjgrvGG+JGPTZCQ0Wkhap62Qehpw8aw4MFDiOf0bc+BhAgercv7YUBUyqK4iweyg40hZ1Hr4sj1EoJV2WyEEGM8u68UN1iZvOlvALy0l6WoprBBgCzJM6sD6vdom5WTeYGtU/7ahu8Yy2Wl7Rgr2A5ewR4WU5gpkIJe/dbcb7wG+zQVsxN6JmIMTtI9ePeeAE8OiJyBYU7g948pFKyftPY+ua4s9O2Gx9WHWw8GALzDOL07r2yVvCEhyJeBrEnxPideGXjIBTfzzo9twx1UbrIzrnHxLSMXeX1nZtM7k5MyoayiwubKrwkq6IEMoZfQamkbyz8WEHnxb0gVSRdxqqwG+AQ7qJntINQiRXYORw98AtV3/X6EkoQ80Ktku7ACUOI0FUGm9EcbhqxITOc0eC+FdwILXJo6h4dj02iXPBYhc6vDRyaBSB1vKL/RpCG1Wc/+ROViDsIur0UK51usz8tt7+6xBz0uZ6iSj86q//bir0M9ZBM7I3L0to9Iz33Cvot5UIeBjL+YSAFTuRjdh/4GuSuBQoac06sQLOB40GgCpo98YNFa2D9wDOJXqLx9sIyOuYIVrO0GybPT9YAXX6XcDmW2xL5yZRGAvtkVqsDQsEPIxEi+pp49rcKVIB9ygz/aw1jAycJ2NQfmUElu02uYeJe5gQv9aGHon+XoD+6JxQYkzTH/s6Ibbh4vvJDCN7MmC4q Content-ID: <65E1B246A9324E468D4A5C49C4F49293@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: 70044c17-eed3-4f36-7439-08dd5755238b X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2025 17:35:33.6180 (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: MA0PR01MB7281 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 Thu Feb 27 17:36:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 13994958 X-Patchwork-Delegate: jikos@jikos.cz Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011027.outbound.protection.outlook.com [52.103.68.27]) (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 725D61D63CF; Thu, 27 Feb 2025 17:36:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.27 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677778; cv=fail; b=DW8K2ngihYUlnC0CAr3LWHCb4HhSOfpBH6RsLMDKyTeDzLn0kiI0Uqj/tmpVUZ9FEKfgce/vmxr4bzQQ/Iayms698xr5ZfoosZHgKPuVD1Ix2M2kLkiV2pUK3DVhsCIVOXLkEXPdqFAcd5WwaTGWuxSjo41JSpmQvXKNwwRijdw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740677778; c=relaxed/simple; bh=A+RnlCnxqk/FXWtfGywQ0faeL9vDUtsw3aN3Cd9Mh8w=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=MvSLRSnoXxfHri3O9MSmuX1QuqSkBpDszgKOYkkHKLAg0U8ESyjRKYAQ0XtL90aWaYzu80IqJeDcouo0QTr/0VH8DsLr2AX+qWEGQVVEnG5LQA+X4/jX0MymUwRPuPN4KgHMdKxyCfpLo/HKPd8hmO2hiuVTpur0DkfalGMqAqc= 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=Xl94Qrpq; arc=fail smtp.client-ip=52.103.68.27 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="Xl94Qrpq" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jwIQcLqJSt9TsNB80ZoSKS6HyNaCIcLQ6qd7K8GL6IdNBVkwOslCDQoa81ZaXv7Oh7JkW3ehdd8Pw1x25vTbnG6h06pMDl34JfS6ClKjXuLbQlNsaOyqCI4L+CleN5lSBxLTwh2RvaYhf4GTFjCw9bmiZ0RS/Ks7PtB5vEJP5qSyo3GLnoDued7ZEEjf/iPnS6opFuil+7TWQ4TFlK1iIi67wsfhufDjQ3UmLdBolBeWk9SeJpJBDZ3fnERZzibXWIDVV/gMbmoEyRpxEyVm1eF0IRYp/7F7ncLD1/Vw++bGufr925Ey+J9IFjLjGVapo00I5M5MtHArjxxzfpq5dA== 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=NYodZgQbNyqBNWBcM/GUsGlWz0ZzWhqYaGE5Hi5alo8QP3YAQ+wmQ4xA4gDOnTUtFVGuSV/QKU9NV8Lxl/WVAcdC5sllQ+GbKtulUpttxS52+PlzcyG8lRFfNFa+DPqIRm/AfnvjvGsncN3lRjYQ+SnVkW4Bm3jkayrdNuzmGazIPEEUPW8Ugq4sYdrmMQ5ipj7uQ5N2mlxS/5TU0Os70pmBTARoFGeP1OtjDv0jLvW5KBuRwTvUdm654qmvBhRS6p1Tazi0I7h/TK6qpayvrFP6Dbcxi4Mya9oVSYb6nDgKGcbGohhkdYPgUP31eHMpzQ4NSNJJG5EJu16FVVEx3w== 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=Xl94QrpqfaE+craF82KCsjrJAh3K2N7pYr+WitPI6p+4JdWJPsDsPcFmGh84iW0Ry3na1k9wGnkZkhAqRVY4DgWhSxHfZzXxbPa9Hbe272bqPxiAhjxsdbWR1DZlIiSXIt6NqEOFF8sVvOFKJtcdC9YyFryeFZ5vPHFWdRnuf3X/r2BsWs5Hvqao2TlCluR2KENNkd/cHtwGf7BVRumG39NLlrLF6eyHdBAtxPUwt9Oo5zq9KyfQ2QPYG/oFvFyo8XZQ6HXGvNbLO4tJTX5Sek2W9YEJjdG68l1M19nx9gvn1jTL+jZIS3oS9WyyP0sC/C8ioo790uvCL4V/0NLL0g== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by MAXPR01MB4422.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:2::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8489.22; Thu, 27 Feb 2025 17:36:11 +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.8489.021; Thu, 27 Feb 2025 17:36:11 +0000 From: Aditya Garg To: Jiri Kosina , "jkosina@suse.com" , Benjamin Tissoires , "bentiss@kernel.org" CC: Kerem Karabay , Linux Kernel Mailing List , "linux-input@vger.kernel.org" Subject: [PATCH 5/5] HID: multitouch: add device ID for Apple Touch Bar Thread-Topic: [PATCH 5/5] HID: multitouch: add device ID for Apple Touch Bar Thread-Index: AQHbiT4XygWhKwXARUOQeR1AGw0jQA== Date: Thu, 27 Feb 2025 17:36:11 +0000 Message-ID: References: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> In-Reply-To: <4C367CCA-2994-46EA-A139-7B4E23E33ADF@live.com> 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_|MAXPR01MB4422:EE_ x-ms-office365-filtering-correlation-id: f1daa8d1-98bb-4b15-f3ce-08dd575539d4 x-microsoft-antispam: BCL:0;ARA:14566002|461199028|19110799003|8062599003|15080799006|7092599003|8060799006|440099028|3412199025|41001999003|102099032; x-microsoft-antispam-message-info: MW7VoupqOnRQLzPPtE+9vycGfABRRsxWDnvSFGNHoS6bAfXq2j/D5Tg/QzVgahUP0cytgBdqOgMJe3hReZcvLOI1rgc/TIlhmScANdamEOzUOX6IwVG0G4bmc8gcVzP+sEBROXalQ1trppyUohLWPKCl2IdqNKmrIwiwce/xJSP60OOt0z01vkEA5avNeh6DbUxrpHUQNHQ4JNltsA1MRCpT7JeAulcaq3NbVtsFo6c3mtpcGqNj7/8vloM3pNS1zhx9gVvNr2hpBjbhfvw36KhnISzHSv8ovrX9sPgqFD0WdUUQ+lf7jZgcnq3qhiPYSAcFtRxLowRUG96kZyoWzz5WAcccnfZ4TiYESzfeoPYLKsE8S19+48sxLRUHZI6996HD5cTJ3kBVanPwnwDNoVljMaOQRPApcksyLgqfRD3D0OmEDqQTd41i61fIkttJK+BVU3MOJA4KdpxM/Q+dvlUFGhd9W10PWy6jenzLg1CKWkNU56Yrr0X+0fiaHw9+tqCrkv0uCBztwqGRsHrPaohvLPdJwAYlJihld8yh7EzMbKPBMWGzmB7HxDXORvbdMcBl1AYLtxHbuivKp8jzKRzWtoSD9hFcYuK2SIdu52+VRnBgNxR30FZ0Z8jLFkwAnmXW4BPAxH4cQxQ7JuRgJvigjKP23syeMMB7GKbIKfpDbsCYu+aBY7EQREk4pXu98COp2lI/skLRjyG1NMGzLYLQQKTNI6QQ/BIpTDU3yocZ0z+F4RqKd6zswRR9UedVR96XJUEyltd3kvUW72Scl3Vg5xc5lOV5AfhZO2Ml6yRkKR1bIjA1Z1nFq6uy784M0uNNkRwmzYvvq4uoYdV+TdsiBfqluQklIdudA8FQa3End+fcYVpNtmoiPg885zyeN7nlskfkLWJHMaZdOZGAii+klaa39K7FNSJpLpQe4bOntyV6tJcIVMp6930m2cD1iefYXM8BX8V3XhGCZL0zhjvkSNvV4FNHGpwoDMAYywhSuPIWm8HinO/M7RV4bBPrQZq/Xp0QS+XvIyXpUYv0pwYEoZ2LjdMkaV3LGZIKyDAIxf2gidy01zynQzych/bl6M0LbFHqtkCG8et/St9Zb0g/Ichqk285xmVAuuNB/Jw= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 2A4ndslnJcXrCWlaL/v5hmiifl5l2JNJ/MIYx31gFWGmY181Bz1+IHs7DkFZe5CRlleqOjso4sPnwyXc+Qe1oa0BaR3hZ+MUd18I3LCWJRjwxL7Filz1toy28volRZe36VnkedHa1+pSnntcrfopk8ehTZpLaBp0vX/iTYDo4D4Kwz3G5+htS2j5Q08vkx9umbWcMIrz4hNntblfCSWAxpfQRnGvRO/wWAhaWH/xynWp8nG3DN3kVjsrszr5D3guaVgCtSDBdUxiASBhxswAW1ZlDvDJzV6L6vl+7tqyCu+m50oNAtp1qDSuABdce8B4KK3GgVmtcpDuQ/GiYXekFSOFAs27eG4/oit8IjLapNVcKYlRJkSDhWvzUu4VfrQo2amnjqU9i/XSZDT9fV26qGcL62OQkZpChZrgbc+NhMqsMWKxEz5JK46IEL8Qts/hxdAgs3zb+kmCxDVdJUQHRUOCeoIBQKtRvLV9C83LXWNbKVOJn83nkYyNdo9USv2UGOADIuQS0XnBWtH17o/KF04ZUOi1nmQwqjB4WMQhb1dOXyuAm5MNuke793RHJsTBromhb0/0Sh5+NUCizEtD1nl6umdGSPm9BCVGA2FuuUvmO/3di7NhpiHK3nwpe41T9CilGzWSldiNPJEXKq56JlJF2XdiUlMUu6vt1ry5L7thF/mOJG4HshwDxzdJ+GEmKuOEAfoMCPyLHgUXtMVwhU4Clj5miGSjeafXVLMaHef3rCL51ha9NGeiGefhu2J6BC0jrwup3KInt3Ew0cretrGuxyx1zYc9X2ZckgaDoTNxFmB6YsXN5pTCVBLqUcDFxowrCzeetsb1i4ETuv3BiPXuoiUUQwqQenV4Ot7bj4fzQ7sVbA9nsXo9mKKWljdvkm8fyWkv3RyvyLSBI5dvJiWi3jRX6fzKTt19pQ9yZyP6kwW7BAYFHJJ9Ac/fBVEjotgEaTn3oUwnooZ+mG2GOnDmzXy3t0UyvfDMuLbr2gFWGa8pFXO9hn9xydgeGic1wBm9Ud2DBEF4dP4VrRBeH0cLOft5TPeUhsqGevLLkhpmidRCbMxcrrxaetpg3HO0a8dMNmVpSvsAjAisUherOoObIRBrAk/zge9AEmkWI9OUObnrrK/0h8QFDeE5PdweyDygxYrJ2OjpCPfSHPN3bebqWSTQFpO6iVSclTv8xUj2GrDBhclAezy5SST1Xn7qR1ApIBLza4Y6MCjTLBUCPg6gkRwNmKuEA5dkeMjdJJy1uPzGqnKLSoN79uk/KuIZ0IkXyM509NF9fnLxZPp4dd+TTNMFG3O9+VWf/Skro0uRcHSNxQETybqoSiW7/bL6 Content-ID: <75AC845104370942820B4F516E02302F@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: f1daa8d1-98bb-4b15-f3ce-08dd575539d4 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2025 17:36:11.0130 (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: MAXPR01MB4422 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,