From patchwork Thu Apr 10 18:45:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 881064 Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010011.outbound.protection.outlook.com [52.103.68.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 6C6B51E5732; Thu, 10 Apr 2025 18:45:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.11 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310729; cv=fail; b=RVE1HWaYwb+wlUEbROZLo1Tm8350Hvy/Xiz99zxN/BGTSIOx+5HT7kInmkiQcypP2dc1xETqJOGu3MrJe8+UnwOr2nqgi3wBtGkYF9oOeHZEvuhzKiNIm+A7dmThXinyLOQbbQ0ywzKKwIjENwPEA+30G68DeWqftb+TSDU6wZ4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310729; c=relaxed/simple; bh=8/uMRBh3mK796+LKtfMh2T6yfdl7GLGGRlyEhsLeeyo=; h=Message-ID:Date:Subject:From:To:Cc:References:In-Reply-To: Content-Type:MIME-Version; b=eZ8wKMxvAlnxmHQVPcuVw5YWJg0LMke8y6hIe9zdUqUhm268R8XjAkoMrEc+xn3n7VZNtV+99O+Cz/7YBTnhwo5GCsTaQ/RhH2IE6xtpF3HDcI2scJyM3/RsU3jXIHmZ/G9DhdgPjjHOoXbOk4haWuHjQEdGSiMlywqdin2mde0= 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=UrCs/oFu; arc=fail smtp.client-ip=52.103.68.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="UrCs/oFu" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YQBWjMsmmh6DplVlT4HdOHY4eKPTS7REWcAnx/bLeNqluDkQ9JVJPG0ab5cAo5ofr+4zt2A4fauN6CBnal5mfcoFDF6VMuk0E+ovtxx4mmqTRHgeXcyJVwMDPEHQLs+M32ZThfRDHdctDk1YnxQc6bHUkXqQeTLEdMfA8HGHYHvJC/BFjf1ROHmW1w2GjEVhIPVuoR0+4FHjW1aHnuSVoRne0bkcEWGvv6Z6W9YIyvH7cc0khQ1wo9/MpcEKCYjAvs4+kUm70QhN4iVxbtK1nLOACoyI2Z1T043sY8D6Tro0dAtouGn7IsvI0o0wKR6wR3iDb6+U320iqjHTkd8meA== 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=LYYHBv15Cr/EVMsakWkXkgVhCcei5/+8+zGzUiU2emo=; b=q89QGvCv6lBEakykCnsTouxuseFTmJEw9T3fXO4srhPmjWQFm136UE+RhiWGe82EVrBvWSZzkS+4zn8Dqx8jMEXTstNmCT7Vg+Qoyaud11SkpRk8Obun9FoV38uZ9PTsQCAvlpACGq/RpNlrp3OoFsBWObUC9+IPoSZ09HgI47MlvnUofvts6B8tTmAPoAquI1uXJJ8ObVJWaejDOmqsOrOSqEFTfxrx4g/5xAudGuuaJcK614BuNQwP+a7MZevtAQUyxMFt/M7+A2pwnpfLVnvZ+rXqOurR16yq3s83EQxySoYLWfHUZz/FSnTyTHgcXpvsKXYpHZkXq/ynN5RNVA== 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=LYYHBv15Cr/EVMsakWkXkgVhCcei5/+8+zGzUiU2emo=; b=UrCs/oFueMKIUupbozaZJj2/Wl32RptLFlBXQ5onK6IKxB7dkmwvyWAKjwAmV1+WE+vpcB3QIC1dWQ47vbyWyKYphXIJHai24VMvob07A3gLeH4h+2URHvMzU9UO9plK564+lojUxRu831YFAkkzCZwJVZV5PYA+NS/FsNgX3uLyjkKKYOlVtx4ZVf6G8YXmsZyIaQuBQjfEmVy6v+lmiWGr4UhL2CMVaS61aCg+G9C98TNi0DP0YHLKDdV9W7zRo6/zT49o09vVVE/i7aX+tfyNeiNXiDxUwi8lK+8j9UzRKo1Z1H6FWdxqA8nbWOfGcCGNKKx6/aNh7wbH/M3zRQ== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB8880.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:11d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8632.23; Thu, 10 Apr 2025 18:45:23 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%5]) with mapi id 15.20.8632.021; Thu, 10 Apr 2025 18:45:22 +0000 Message-ID: Date: Fri, 11 Apr 2025 00:15:20 +0530 User-Agent: Mozilla Thunderbird Subject: [PATCH RESEND v2 5/5] HID: multitouch: add device ID for Apple Touch Bar From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires , Benjamin Tissoires Cc: Kerem Karabay , Linux Kernel Mailing List , "linux-input@vger.kernel.org" References: Content-Language: en-US In-Reply-To: X-ClientProxiedBy: PN3PR01CA0017.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:95::16) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <7d01b937-ccdd-4916-94fd-3be8545a9f69@live.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PN3PR01MB9597:EE_|PN0PR01MB8880:EE_ X-MS-Office365-Filtering-Correlation-Id: 66107ceb-ead3-46e4-4138-08dd785fd9b1 X-Microsoft-Antispam: BCL:0; ARA:14566002|15080799006|7092599003|6090799003|5072599009|19110799003|461199028|8060799006|3412199025|440099028|41001999003; X-Microsoft-Antispam-Message-Info: =?utf-8?q?Z+KTbLmiycE59c+QgFjXDK8lJ1y3q4k?= =?utf-8?q?n2l7Z1tZ1NGaDfGYOuJrLAJG56JruRc6GWrJ0++g/LbCCh96pUWAlKZ81mTyPpfs4?= =?utf-8?q?UTyqvNBWMstn1oUytWtSQhOyO2tt124QaPPp4i71AsE7o1rle3mWlVQiJappQeD+Z?= =?utf-8?q?foBT7nBc2ox3zzIfRoNeQVUR4cZRE57PO+jRGj53nu6+u4rxukbQJhy3JxnUP+wyI?= =?utf-8?q?aQqoyW+9lx+U0Imc0wjzb7bqIAlLZ8tOOrLAY5Hy+Bjiwom7JSrYVro4Xt/GGGLGD?= =?utf-8?q?tAHsIQwAhFY4Q2cuyENc2lDW9AGwAWXkI3L5OYXiGGqTXeBG+itShp+xJYm1ZJK8G?= =?utf-8?q?1B7sniRKc01MTqY/vlunycLt+P52yQ49Bw+AdUcOCfr4mwEkPv/4u6mYRiQAGtpQi?= =?utf-8?q?de+kbdZyJWHd451eo57oiyvS72lbhyw6/eOHN94YbzVKrD0BQVtuNNnSx3GJ169Z7?= =?utf-8?q?4L/1BrCBxn3R/xwTk6KiUEpLIHkullcvTK07oxgeH1xdDUg9tum6WQBfa84E1KiHe?= =?utf-8?q?hToYJ+cOe7BpCSu1nbd2kX0ld7kPjkToWef8z3vBQhTNxEtoH5Zx5m7B7iW7GjmbF?= =?utf-8?q?X44gRi3sn/dAyn17DzfPP5h/cWrKl83+0wsFc5sy4Ldg2wFc/fYfnHiYNVVFk+zDq?= =?utf-8?q?nFpoedLEE+hkpAxhl/7USfHHPCip/jAua+5hkLGeAwRktHqVASvPDhJnMa7MYeKFj?= =?utf-8?q?AomB/qGpLKvxe2vyHunIqF7LUQgPuEU9gFn5ZmQ3yu09LI/bquaJ5Y/Xthm4U+qpW?= =?utf-8?q?JPNtwriibxuAWBw83PoZtklhsweWEwHg2NTdOkMoDAhJNzlS9pwK9AZT0jxzLWhRL?= =?utf-8?q?uKbHTTKGq/U/yMj1X194wpWLc6yNqaJME1pX3pRq0Vz4dypYsQsCg3OuFuMta/G0F?= =?utf-8?q?Jf/HQwVyrrD1a4lGW/BFU3XQjrlsZPkuY4mKictAiwmuPHhXiFBMEw/DV9zxpmxhL?= =?utf-8?q?SIHvosl2LqRPubHbmZehOzj5eNd8HevGB/fAyVQxEfYLOI/RNMW+rHcGmojYmqlHR?= =?utf-8?q?4zRSNj0nsj2SFsdW3NdZTfKvEupnzF6tOWFAfnJRAxaCkBCCqzta2EDPKZVn/SNKt?= =?utf-8?q?LIBB0ItTHjWwtZHCTMB1Kag4gfyUeWOe7fOF42w+v3dNEPIMN0Swszb7J9A=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?2/HENV1WvP1Oh0pGsglb6DnEHBvk?= =?utf-8?q?z+eyIgi1ub4sLFn5tyfMLzD7uEHPXeJES/Wq5OKZrL8CMhjSFg1/oVoiW5UWb6Zid?= =?utf-8?q?JVdj7rwUFKYp4g/HOAzM7/FE97ROKzLyZcdYpvkUdbBWef9yfLVihL/U768nd0LIc?= =?utf-8?q?S73V7FIzNL86LY8GPARnMH6e47xxR04dodS6sxjpT8wBf8JU8iWh9ynUfrFHQ0gBu?= =?utf-8?q?Vw9apZQ4nvQUMFspH87awX0d7VBZbfR3imRdJD2kJObEmTkxPsxIgINdvCTZ1YfRg?= =?utf-8?q?Ius0keywt2j6J3GM9nU8bdFXklE+cnD3FatcwB46uHiyry6cJ0Rll9+fCZHgPdf0v?= =?utf-8?q?3k2qU4NF4KWz4JLMHumMlkx3JNFJJg8W7/VoDAmGCeFAq6zoelqTwurtZ8DVrZRUF?= =?utf-8?q?DM0gJLIX0sIDsyOXn0tsVqjQVRsDQEqYrViba39V4vb1VheN7tnbOVuUGGsTIJkZ6?= =?utf-8?q?eZzWFHsel0CTGG0o0BqSEC9jJmgOaNBqMqw46AV5kXxT2tAeRWXFFf1cfFnfoaB0f?= =?utf-8?q?9OUDwoGE/f8K3DuyHL/QFe1avaYBOnO/Vsho/7Zahiod7NUwhzr3yKgLvX9XYzTF7?= =?utf-8?q?HG8b0t2KUoMjqTT/u7yAMZKhinQT2zyhCe4AfZYdbBwARz4aJ4h4OsJpWIl/bdHwd?= =?utf-8?q?AooKfQmMT7LwMTSqaBe/LodzcqAXapwTM0sUXkkvFyeO7ChlS5qMIQao4qzTMUQbk?= =?utf-8?q?760lKM7nMqTVD+pz8PqDxgzfv5NIoHTu7dWn9TywVXl33VXEj886Zp6e62TJ4T7WG?= =?utf-8?q?7Whsvx7ULM8K1D1f24Bb73B0CVP7Rh78N8sYVzQeliPhOA4sug81zZaMtMP6gaIwc?= =?utf-8?q?5sox71oXuEKIXAwmHGbOwjEsxKuiU8yzCszyX58WeB1fmjd8eCMYMgLjC2EL4YkSV?= =?utf-8?q?l76Wot3dMX78EoJ6k3uQ5+wmTW/YolA3+9AYBFLuwbdoZLojUyP4VFrw+hZEfrM16?= =?utf-8?q?gyGlHua5Mkk8gAzM+T305JbKeCLcPdnjs2mxdfTOt+lfa3gKqs8pSxAyeoFLquxxg?= =?utf-8?q?4TGRLyDKZq7cMTZceHRS9CYzUCgbP6VefGrvms8VdwlFH8mAPiwdN783VENVkWKya?= =?utf-8?q?qRN4ojuPL/R1LI+X9hKTl4HIbY7T0X39nkGiS6WTAil5R2dlJXNOHxLXDSGSyS3+H?= =?utf-8?q?q1GJ2foeexuSsQ+UtOAqmLLjvKaC3sopUHjf9QsnDoOYgh5MrP/DwoxNLu0zQsEGt?= =?utf-8?q?yD5Fxg7wd9JMZEih5wbtO9lSrdrh9PjFaYONzdjbJyejqOjvEanTNcKWrJIeLmFrZ?= =?utf-8?q?hXjGNqMRXZDpWLTM?= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 66107ceb-ead3-46e4-4138-08dd785fd9b1 X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Apr 2025 18:45:22.8944 (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: PN0PR01MB8880 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 | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index a50325270..403f4517f 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig @@ -769,6 +769,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..41d206f80 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 | @@ -1858,6 +1865,11 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) 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; + 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,