From patchwork Thu Apr 10 18:42: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: 879926 Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010006.outbound.protection.outlook.com [52.103.68.6]) (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 CB6D228EA50; Thu, 10 Apr 2025 18:42:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.6 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310532; cv=fail; b=YAJ7UOKEsPD34HoHk7JvfxwG4BWi3SqH4dKwBJzsb/n7nWhUPiNPYhOb8lRLDiP1cxlDYH8AjfcMake7sDiiETW6X6ZKPyCBZsj3Rokpy7M04MX67d48+JsCqKCJmKZxguN4+q3TsoMwKMc0fDRIKdeuf76V+PglGAogGT6Vq9U= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310532; c=relaxed/simple; bh=AABUJV60jkoyk9pf4/HftEI1WuCcagwn1KgS4S9M+Ec=; h=Message-ID:Date:Subject:From:To:Cc:References:In-Reply-To: Content-Type:MIME-Version; b=OuDOUEzmOI3bYwibLc85/yFa5u+eK/cXTz9Eal2BoFD5Ac7COOdD3dToxCfEtV2tvCGG6q5F+Sofc3lHIEP3EmLYOJEsxXRPiy20r8BD5YAjJpi1v3aP5DKIuhE6bPdy8s06CNLOqjb6ms+pJOk/X6PpudR/v+D6HLNgUMZjG7U= 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=IvFRmJjz; arc=fail smtp.client-ip=52.103.68.6 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="IvFRmJjz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qN8gg3Z6EG29QTT3RBsyxluQkiKxVGDyi0kONMtounH2Nr58c5UzkPNPgihKgdzFCnhDhVpOMtTCH/JuiatCXeKIEoqNJC/P8cYZFbEsMuhKYYwYbl9eeMtjsnPiUZcXSVRUUKoeWLwZOSpA4cJq+fPKDq9dkMLW6zbOoXh6KNWfM0Y9Dj9S9x4Ad1ePljKGmsxdc/LJT9d1DTDWbgIOw0OXukc67X8lnTJ4NP5MUfJ0IfDoHB9DYpAB8MYTUPSjufyWkRLeaHcr96GKS0H2tFRB8p/v3FnnXqrrs4irflzYggjffEOKFUue06KOjIUhfsmMrAlHtzlIarWm8Wsd9w== 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=LYHWEs+E0rUU0Aaji7IOwn3khWFDU08OfBnWr8FMw+E=; b=sRRGSk1Kgg/NKpiI3uwTP4W8HAVn1X3df8O3pAOKaDaLGiQSLLu8cOTH8xoGiTuI+b5u/7isarRa807gSJZsh9lF8cKrkBAc8qBv+vYT/1PtNDb1eyp/MoTLVsL9PIpuqTZugI5fam68CwNg5FXlcwuzb0+ycKmZpnsI6klRbQ5jqBFjAToGUWzdmsIOM26eXyZx9/VjYEF7a5ooyod9MHaIc1yoWNnAmksCq0ovSpygVnmEVFpnxbFaNSbeqEa39gbGLEUWfbanEpKt0BAVxoAz5PS3msT+o0Kj5jqaK4+NNavuoV8On4SjyR8wlcMM3C4/oCd061Cu3JSpWtf6WQ== 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=LYHWEs+E0rUU0Aaji7IOwn3khWFDU08OfBnWr8FMw+E=; b=IvFRmJjzELgrHQRk5BBv4TYlpPwoDwqA1T0USfcKOb7E4/BZ9HE3kl4OxNFJZjRYHyvYRGgahGeTFClasm5nYKATkV9fIuoGGVzbTRbgTSTsKZoM/4ql/cmlwGCE12MubJySdPPhK9ez5Im1wYmRDmPNEQ9stTTJcrGBAOPh3G7NfmgnDZv31cuIcl+TqAhdkDemiUJM0W70TeOH/7Ml0YwmHuUlJRz+6kdN87ypLX9BxdtZ6a2bHLO68J8bEOmYd1v0rfogF6bYPokbIBf2ihs/ysi9Q2UBkiHbkthffdMnP5n+IR2D30f+1VoIS3hPnCKCFGgMvCZPEj0UlJcvaQ== 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:42:05 +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:42:05 +0000 Message-ID: Date: Fri, 11 Apr 2025 00:12:02 +0530 User-Agent: Mozilla Thunderbird Subject: [PATCH RESEND v2 1/5] HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX fields in case of 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: PN3PR01CA0096.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:9b::13) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: 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: 48db4b5c-9131-4483-b775-08dd785f63d6 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?rKTm//yTosjE8Etc5GNerLnQ8vGQScz?= =?utf-8?q?PSR4qMC9r+W3meEMRfi59N9vp2ux93ftpvgL3IeFq3tEdnHnlq9HnjAvIgQKx+O/g?= =?utf-8?q?dKTSPxW6r1dQXZvA928rlDZEo+4GHdxm4klOBC2GApA30BWo005S31Dk6WkiXKBtI?= =?utf-8?q?jgaQMB0lxb+XEpNP6UopOASeWKkFsp4g2SjrS5+SbkrkfBfCA+SHOLMEtouSXB7gT?= =?utf-8?q?V3Sbax0/H1FfZRE//UYq3C/dp2UeQoxaxXxG6qTG2ZBqphQvGAwey+EUwCrqWOJ64?= =?utf-8?q?E3ybR+5+QTWDO5JQqQiFpJ1O6UEQg77Rzkz+ePUTTKXwwdUI4pELbbteWJ1rDNnUG?= =?utf-8?q?LAyY5akbKEr8EdBvfvgCwU6sJmmGMMcEZAQAzaUUQHdryyTYfqvZ7FcCkzpf347H7?= =?utf-8?q?jc266LJqFmVSRGcv+VjSNtF5fwMhiMxXZZ/CJ4MZh1Vbw7wSyQ17bAJvW5fTFLMz7?= =?utf-8?q?/ZFltR9LvyLFQ+uXDiUSz5hZgUc1qZfKK3YiK0gP+S479gczZee4a5pU2jyXwSZXV?= =?utf-8?q?ca1KdJojzT6LM/Qpe/paihfHzjdE5pG1+x8RBBSa8PTfN9eJCtKZ0j3wOYTY1PITZ?= =?utf-8?q?qtbGa160obQtKYpF/UsKUqexjEc9ieyouFPPYoPt+sZvNwB1foMmsq6dUeFt9B+6X?= =?utf-8?q?HxfSo1TvNVPGK/uk6LUwoTyPCsRmmz4hXh+hh5Jpw5wK+/qEjloqWwcsXgXoDZwzG?= =?utf-8?q?mZk2Z2c0Kq0ubuvRr7LFmFPNpfNGXU4taRuT4XKy9nHJTFsqugGO2QbtadiRT1Vsw?= =?utf-8?q?rFAKnFU7Px4992M16uXWUUYuOHNvi75ZK7xMm6lU5Dty/k73btekzUUH7AgQDzNdy?= =?utf-8?q?vKMV2MtjIICedgNtx3TF1tdhOhY6jFMtkYY0ktpc0aiBq75VNwRigssB1T3ehLn3J?= =?utf-8?q?WkwH49ryyJmaDzEK0ZzRFECX7mjrKkOc8v0aL0HG0I4zmzKhOzlfHsDrVEVoE8a+l?= =?utf-8?q?V1jbyJcd2FHfpVSfAt/bdWlb24pQt9v9VjRdGuGGRF6xXOckaS7CAX6sExr2cRLtt?= =?utf-8?q?ZlxBB3Mb2kW3Rc6GffQ3m2KghODrbvh+KVsuEP/tjmd6vQjtP4YCDrCZHPAtC8RuM?= =?utf-8?q?fQ49a4aWS/1IHT7itxYI22lsyoOeEAEBe9jIHLeSGxhC7hEDbEibx0Uv7kU=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?o4X4OHjIbnywgp8H2d6n7FnGWj6O?= =?utf-8?q?jdFsemb77PiAhY8u7OS+xsum3IZL3OHN4jO0N8R79U0pBhxOljRC4Okphxrc1yQqu?= =?utf-8?q?00ECh1eMi8yiYjqG9bxLcHFHlUfPU1fijL6P8Q04bIVUEKcVcVGGCuU4UJdr7UxWU?= =?utf-8?q?BAW2ekXD80jzlEaLMh/9RVF/TjkHoaDS33kNlOTB3MlioE+BuoX7VKYxkFIBSG/w8?= =?utf-8?q?Tt7Z1jq/eSjdbPklNHHqFaVuX2he64PcPdYkEiNIEfB4qiXXaXbstS36WcfttYLih?= =?utf-8?q?/jZ25PZOGGjgzuJE48HpVTCK9VYHr5tKCdEoGw0PiQugepsSNP3MqVRGYphdi059h?= =?utf-8?q?JG1M6UnQ6B+VY9YiT/xqOmwz0lIfSuLXShV19YzDzL6vfzXYkA85n85WY9H93cWAr?= =?utf-8?q?kxrAy0HTUqiwKElyDJcmNwVe+FvkNkJXdWHJcHF1JCF24ogWS7dBloZJfdxAeHC7I?= =?utf-8?q?hL3IJ1TeD5RpUMf9emwirI/WYZJsnQuWSIulpCcPAj58Le2dm5MMtrHJbhuvuaPmZ?= =?utf-8?q?Cop78sh5sORYCWaKUhdiZ5nO4JO/jLf/2ekIgCtDf7PkisGprS+Q0qgkbj4i95RHc?= =?utf-8?q?xI2e/ZyG6GzIKCWe6BtvWnNsfR42PS5yLFtTpsoMCeKLgy2Y/Ieo8/sYmqMYkKf54?= =?utf-8?q?ymJQVxGMZCd3nzL+859CFyQHpLEbbgEYoT2q40bz5CynMc8UHKo9xE4gwIHNFG4Sl?= =?utf-8?q?tLXvH1ofbN4BqLicMujcIi+cg3RlF7nAw4pTsCWxxMLBEvgcM8eomlvE3rlrffBVR?= =?utf-8?q?cMch+ONNNIkaFbFvzCzV+4XOjRFyE01ODZXllssT3QHQcTE1AGXRON0j7/w3UZAsM?= =?utf-8?q?PLBCw/aDzKP7SohmFK4N14udguaQcq2nvX7PPY1nhJq+mgVFBGYNM57ZaWCpwVYwz?= =?utf-8?q?pc5zX/IeBQrH2tGjMFQyujothV3/gfhm5bGqhQQEnPr7Ye8N3QLdXpxG7yiUOkwVl?= =?utf-8?q?ATEPxeE7FDENbiV0fuCjxpPT/0oK89ToXP3Ji4Mv+7hlwgluao8XvfWNTYDPoiImy?= =?utf-8?q?pFEp8UJdNnhZfURmdMyxkYR2Gch8eqCMSbW2rtKbxIzCtvIbWYoph0lFf5sg+Yx+G?= =?utf-8?q?PiCfqEDuoory8wwMZ9qB5H4/rsWD3jCjFp8StFCdpIY+StrMy5mUQhlfcQiP3sUuQ?= =?utf-8?q?gzSHwGyIFD4ZZYsdbelV/wpAGmEDBCcvZOphs06sJFP9pXgwNpN88CpqVM24k7RI5?= =?utf-8?q?a9EZmXkUFw8+LWlb4dXzGaJdVnRPIY3nw6OwwZdysdM+mR7+Lody8YBHYRXiJw1A6?= =?utf-8?q?Qol1K082H2x3QANj?= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 48db4b5c-9131-4483-b775-08dd785f63d6 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:42:05.1255 (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 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. Acked-by: Benjamin Tissoires 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 Apr 10 18:44: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: 879925 Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011033.outbound.protection.outlook.com [52.103.68.33]) (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 9335828EA63; Thu, 10 Apr 2025 18:44:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.33 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310687; cv=fail; b=blKxBoW/zH1f+kAcUceMbbf/K+tO3ylepmqngBrvb9zS/C1Agy8BDdp5I15CBX2rj266zcZDYwvUSp70004nZltwmAyFSdQAEu1GfTJISc91r6THcRF25pQjVVIlIwYo+dcXv5TTKj6mJjyrI6YRRUtj0OgzRncunh79875PNbQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310687; c=relaxed/simple; bh=bXlLctPeVGlGJrqa34Jka5xzX/KIYnzZYX8+ZQ+432A=; h=Message-ID:Date:Subject:From:To:Cc:References:In-Reply-To: Content-Type:MIME-Version; b=BWIi8qKw9gvB9t/oUmLYEPVXxzueCOro7EZfJi8XMAAWqAG+LCmGOxMTCOO2H8l58kbgjjusMmkHmDKl5UDb2GGfDdR5QSRBdK3/Vl4yYl0xBMK57rH6DT5h4Xej5aWVkAWIpzlkEtYHxBBDZB/eyV2DaJAf/9QUJurJeSnws6I= 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=CH9xY+BA; arc=fail smtp.client-ip=52.103.68.33 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="CH9xY+BA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oVyf0mMFKWFQrkbgwBMpRpAKDqUUr6UpZqoTOKybf0jzhGahQPpJ9h2Z9HRUr1mLwBmwSkRkeBx87LLfDQSNIX1L7Y7D0wvl0xog/6lJN3+X90dEYKvZXexDW/BnQ9LILjHClGRxE88HfEIpjDYnhSVt4SzpQAiEmnstcAhjOR4Wzf5/qnqLky7Fic3bmYcS7tiPP0TxZ7jcgIajBnCjDCfqAJgUJdPHLNs8EmD5vVCEW7w7vHjriaSlYGjHoZ7Qyshq6HTYbKV68kKFHTTZiGlimCr0ADRFfj5liAg+8mEukSCYbeKN/Le3hy03+0VeWcqc6VWGxvMEi4xyLAQi9g== 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=z/Te0v4hGtRNcdSngXiTjjPe8iuK5NM3az5ug1NQwmw=; b=kE/ozNmhtAdZDK4/ygVawCiNSMJUJCtoBegp8VIbBXztR/smOaX8nzrbSnOE0/caUazWYa8WMepFLZ7tUHrGrZn3A1xE7hLEo9Bp8G0Ga0t5fYd5dWwryEuWHDcjpvPB40cF93IhsxgrFKpHjxqEBNm0sBhxyXYRoG01XrmoiwvzjYp2Nzlpn/z89jND2Mh8gKw2ZtZqmH/kSC7I42nGiagfAgbE6Y2tWOF9lQPwniIYYO5/oan6ccuLe1Yj4tsahmgcaY+yVH03BX07wawJ3vQs8wm2HM4rR6izfpgSSed9NiLX4E8nZnhFxMzTTeZ/uGnk4sfpdRhacm1LtkhLVQ== 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=z/Te0v4hGtRNcdSngXiTjjPe8iuK5NM3az5ug1NQwmw=; b=CH9xY+BADlsJfEU22+TlbwSrgB/HX7228qvvCJ/TVJrCJxHIfh0/NyhuB/N5bIbE5099RhKRKfndCi+TmRUpTJPdNi7v9vaUkbtQV0Xecog3rCjavjHkKm5SxUm95zrFIoTDmlx26EczXmA/TxxpcDxG70F2+INxSy4jLq7hO7FJTvLZjpL0vxN0RNRJ1xeVpa+14ucDRCW7IUECy2f4GJbctzLA4VjZd73D6/jTQlWXze3M+7QlgiJswyVOeB0HpWGRWaqxtwMfKBLFv/OkFVaZgusnYWJDKGNjFf4il/HVmr5oNEiUUeQ3TWx6u4Zq9gpbGKuk3ntMHnAjksU8GQ== 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:44:41 +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:44:41 +0000 Message-ID: Date: Fri, 11 Apr 2025 00:14:37 +0530 User-Agent: Mozilla Thunderbird Subject: [PATCH RESEND v2 4/5] HID: multitouch: specify that Apple Touch Bar is direct 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: PN3PR01CA0036.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:97::15) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <79f9f637-4c34-46ae-9223-b4ca94eb4882@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: a4efb4f5-303b-4d79-0c52-08dd785fc0a8 X-Microsoft-Antispam: BCL:0; ARA:14566002|15080799006|7092599003|6090799003|5072599009|19110799003|461199028|8060799006|3412199025|440099028; X-Microsoft-Antispam-Message-Info: =?utf-8?q?2J3PtEBxGvHli0RVFAzLfChacPzzGHh?= =?utf-8?q?Eaw0ZDBPiv2xhshUKjI6K8xlndLKItgJYOqDXo5eS2vm3Tm/gNQ3ZlE30HaQU1hWq?= =?utf-8?q?7/tg2PWG8q7O+aTbOVUMm2UHvEh2y/7q4eX+Di82980p6O/N0BiGb7zbopq1tioj+?= =?utf-8?q?F/M01/fsnRBxhbVvcU10Won7bN3sH6n0IKDbdO9A49FBEifKs8n+kyq/GcT8IleEa?= =?utf-8?q?vzHo6PXDHDW72xf8lQ9sP1lpSR93aOU0+JKBYcOig0Lra33ABkyG8/PNqlx1s092u?= =?utf-8?q?hZmI7gNdSo7+OvzuKirusmd2VrroYXK2OeQJN0+7RMvGUuLaNFV6W0/5EeSSdFW/u?= =?utf-8?q?pRnrEszvQKoklryBvx7riGOiMz9X+wSVEL5a3G/Mp2LECTxjAy87D3Ds+FQDTjMBN?= =?utf-8?q?lzQyJKdgJ+WeDVVo8EwkwusA1hAeyUR5iNoCoCNzkBPmDKWmdjcnE1WuQ63MULk5S?= =?utf-8?q?4pRsFeovVkZwie56qo5naSoxyOMuxxj1GSJvEgMsmZX6QpTPMz0m/R3HrWYhCERDf?= =?utf-8?q?goO8yUutFOxvB0hzcvsccyXExBql2xT9wMUZIVkoIonhGCMZn3EBQ/9+VOy5WeNWJ?= =?utf-8?q?j2fNXx6Pmicfy8em7L/g4tFmNbz3gWcmn7cpcUidh965cXnv5lyu2RdOhIWALApCO?= =?utf-8?q?6tXreF2fAKBMns6jgZuAhUby1Z+3z3EJ87LiFc+1ZBJUqr9fFMeyJPRpD2BMtGxLP?= =?utf-8?q?TpXIWfAPsl0W4FOni8nLzAqpt74Vwl7+yIC1BEUvgbtgmxO0ks7pjadV4T5M6Dm12?= =?utf-8?q?dXb/fsDnciuqMFMnUO8qTJZ3wYrpIw7UI1ZDJhd8H2mMlANj5Ns5wVBhYdkaiTJXN?= =?utf-8?q?WWSb/9ZS4TSUk50wf4obhg+sfGwfNC6LJFJDP8AHB+xjSsWw3nmwzVTYozuVpLp6V?= =?utf-8?q?gA3aE6r7YRxDqmGA87jXZpZPgFxjvg51PvufOpV3XxAl7OY09hQZh1FENpWHYyXru?= =?utf-8?q?A9+6yWu7L5QpxYhEyhescOkaeTlhUYJItGUNzNQX6bUjHqlAxEfR/BFPKr70OJomc?= =?utf-8?q?7LLSYjhVHMieXbcB52e3IOLjNcucPrqKIEhgJB/EzNqJ0pnzPDh3ZBAAUWowqOHed?= =?utf-8?q?jKGDb58E8y8Ef2rMuDu2Z45S8zbYTS9F4dkmZQ=3D=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?kvcIxRZOEpL2ceNubKbf1fQ7mSfz?= =?utf-8?q?s5nA5HcUqCZ9/5SURzb6oX7Mh8cwRPWtudpdm45N62pTZJlXW/dLYDIFqDVCNPNgh?= =?utf-8?q?gcyttR4d4AqGK19Wf7zpydHJyj5zBQKxblS16lpvrjlviJJ/QQy9wTtpLeavJGcNn?= =?utf-8?q?Lj0aE4o8MtRwjAWddnXtrJ96lpkvuSVS4/iEjeNFoULvbzQhenf3VDL5c82QCJ4mw?= =?utf-8?q?A9zvD2FGkt3tkPuyOocwP9iNZu/egPOZMgO7k7IQBr7dvZDACnyDbYaaUyxpel2ZC?= =?utf-8?q?hJuyC7thRbPUY81WlmhiphGm3XSiUM1M4ge7hLMY68R7REHRakZNH5xGu+T68ir3I?= =?utf-8?q?5PBfB6E4gJLJ5gurwRgh76UJs1kj9XKI8g7472INuHdOkNoS6NNgQ5/0s4tqm9OXx?= =?utf-8?q?pfAXG7lj95jwqPoL4w836odawyNRuqA1sTByvznpOJvm7z+nWbTQDGHEflVNqW7YI?= =?utf-8?q?OfYC5B96PHDW2ohTHi0toPFvypEhOBAJ19YfpDsxj0jMcGyoOxSF6orNbkFMvzNhh?= =?utf-8?q?aUmwEvY8aBc6njEIWNQv/rQ9r9ZQnXJhK3C7ugl9CBdGKFeD/PGsRaadUm5398rKc?= =?utf-8?q?XX8egR168ObYHPpgRvaKCE0maISNwV8PkgYTYhiMsQJC8UVwyx9pW4kKvmqiGfHRg?= =?utf-8?q?KPGfSwjAetnEbVJZg1pBUzbxcPPPHos7UFTjeg8Y41H08hODF9WBS475CM4UORakC?= =?utf-8?q?ZKQafqC+Qtz0s7EeOZ2g+oobmDiI1i3U9+YjweXpSloRjCT9WYDg88I+j8o31cHew?= =?utf-8?q?kFayO8H+LxofnESI2nKlwY0odcVeNlSgL/D7dkMSm3dP3kx3jgmjZQ17Q0fek24NR?= =?utf-8?q?RL7VoWWe6SPaUvN5WjRPvSL+2T9IY/MzWvRI3DucchIPqMyp9J9WNOY5mv4IV/b1S?= =?utf-8?q?rQ8CoJrLZ4tFrj7VKGbTyDra46cwBRreoFj8UljRzIsUiF+X1YJTPpzogfu3ZUF/I?= =?utf-8?q?nsBO857uxHNlQwj2cHtZLYqnOe2bhQeD81yN77Dnc+nWm7JMIJOq1wD6IfSfkc+hP?= =?utf-8?q?DaLjn3hgunjcKR5Yv5B+ov7pslyINI24HlKugs9ZRI+XBne74F3eztk/nprx1dgx3?= =?utf-8?q?360cQ/b1RlGsOHLyJyaOXsaEHQNbFnrnb3sAfBjR89XDxkYXjrxnAFZVFKR+Tetld?= =?utf-8?q?CAruh6s55H9+JVrVgcuchkbJphZxN2zmSq+P2N5kFK9+awk/zirMkGjRsY/puAy0u?= =?utf-8?q?o9T9AJcfVvcd8SSzMoxq2NqvAo41uRHRv9XgpQB9e1dKM9LhOw8WXilJtvqEtyV4A?= =?utf-8?q?aBxCZYjqSRE2sHFc?= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: a4efb4f5-303b-4d79-0c52-08dd785fc0a8 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:44:41.0067 (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 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. Acked-by: Benjamin Tissoires 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;