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:42:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 881066 Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010003.outbound.protection.outlook.com [52.103.68.3]) (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 82C9328A408; Thu, 10 Apr 2025 18:43:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.3 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310589; cv=fail; b=nrxGTGu2OorTcklGyoDLO6n+5PMMAxTuzYsy9Z9ps0f8tyhf0ss/6TxsE+OyfhwkjwvO9aQZJrzhyv3/mTEGi0geNqqFiVsr7XKYeeeKAVLUJ6UFgaYJ5UNFiqeDo8u8dv5eWKY0nol//BSgC9GeyvBMGmwq46GyJZCpC4dJKs4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310589; c=relaxed/simple; bh=EHwPX8gegZwSG3mNJuxoqQNkqfHpQY4vkEEEeYf2Qng=; h=Message-ID:Date:Subject:From:To:Cc:References:In-Reply-To: Content-Type:MIME-Version; b=bXiiIx33RQ23xSuhPw6ZWdzDaySrRsnMebQXjBYMVFH8p31Kk39/tLZE6b99WFQ6hdpI+lmUjKR+oGEprP1OIRtpD65sU4j4YW1zkdAKf3HDZ+adt/G2Il0tXP+4cbYUNNywdwtU+nPfl91v7ge/5PmRhvkByjcLPJ21vbSp+9w= 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=FeY4ny14; arc=fail smtp.client-ip=52.103.68.3 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="FeY4ny14" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=M8VWjxk/UA00Uv/dj/8cd29lHfhs4KQyryVfkCSdwgpaSeqAx9FeZjVNx1eX08kBwq99vaM3dn5J7nXHklb0ECYyraU9/FnmTJ8cYXwq+ZasdGxuvwwnYLe9JnXqKkwZYIk2qX+vE1UZjaUPE2vTrBMYRIgJsJ2+SPrNd5gQ4HBbNC8478bk3ekzVX11VUuOxGSDuVEeDAI8vzG2Rmvul28Ax43mfTtkXRLOR6a754rMmTd8lWYDgtcXM2+mS36cJUckWAc1HrIs07SSC4n/fI4HOfXzkh4RiUGB5OLRU3cpHQTsO1ztUMhyjgt1TmDG9yCjIf5wEEoeh/8L9/Y1fA== 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=xMVgzXdkdM6NNu0I+cV+Xrb5YDpOIFrI7g0gJwXU5UE=; b=NhRtrWyxqx4q8QMKFa6ksVV7a41PO/1eHOInVBLid4ggfbtj7EMtxqaBwQWd6InvBGLxgAc4b89maZZOjrS9Gz9vRkOONzM3zqIZXo8+sve3dJzVtlmCjcmU5JB/DK+WiWNfmlGpPsnPC2cmORD4MjMEp/B74FV0e4x+knkkvtx0hCFxzDHfMfvwG0mu0/njawq3sNDap3VQpVCD7jiMVEWTYba99IxdXdpA9oclUVE1HD9ooHao4iKvIRHkqNNOm4Uef6RE61oJ9qEJiTs2UB+cL2R81AludZpoCan95nRkEEZNUcOZbNEH44qleN3i0fSdqhxADmkFqZqz+Xr8gA== 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=xMVgzXdkdM6NNu0I+cV+Xrb5YDpOIFrI7g0gJwXU5UE=; b=FeY4ny14qQ/dAqCmMITa81J973JJQ+u8n/KZWdR07YaTvRQDE4YZhfNaexzjk7Ao3RlMvVEtXmE+051ybYNLQnTDjw1zSQ1PsgO1M2HdytIZ4W7tP8iAG3BLIqL9ZJiN1vRY7gEtgvLUvFB/+2R0x00HYl/TUa26k8SAR/wRsmpzKYdXHz2MGKEZc8fvapPz1aqm8pQ35PFlGjEj/ljyNDAxvxhRCxkZBvin0anVg6md30hLw4E52e/pjFGLwzKlgJqzrh0Jv5N91OdyHLvoQmqpZk5AStliOemVjzeBGk6lwD1CdjlqT85SbhDTBVLqB1/PTQqyApoxfnXY/C0dAQ== 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:43: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%5]) with mapi id 15.20.8632.021; Thu, 10 Apr 2025 18:43:02 +0000 Message-ID: Date: Fri, 11 Apr 2025 00:12:59 +0530 User-Agent: Mozilla Thunderbird Subject: [PATCH RESEND v2 2/5] HID: multitouch: support getting the tip state from HID_DG_TOUCH fields in 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: PN3PR01CA0105.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:9b::9) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <15f03d9b-36aa-4e43-aba6-1a5af6a87cd1@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: ad118372-0525-47e5-1d6c-08dd785f862b 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?AQumjj0sKVwYcub+GN0HtwxuUyldSid?= =?utf-8?q?JPO0rTEEmtZy/MaIrzyGIZqXs33IKd2kZeKD2uKVbPucpTiKOSi5zPuElc4oP5KsD?= =?utf-8?q?5g9fdB/Gogbi3nJ56cj4fPQsX9rKJ74UwzChYWo/IbSd/pjVxFRcM3Vy1OJY1kalX?= =?utf-8?q?lQm2o7NntIFPnIH6aHzM8JN5K33ATbI2OCsEMj6UIx7CKLRpn3DBbXGqo3IY5h1HS?= =?utf-8?q?Tzbra4KbulRFT5dAYvA6JTGt9LMmezDzdyQegWLGnCPVHRi+g3rmoFgC/TERqjS6J?= =?utf-8?q?8x8PBbQZDGu6h5VX1XbQyDayJx3RSrIZIJTn7u5tSYh0H6Ged0aiaG372cErXuBc1?= =?utf-8?q?jIVGeoq/sm8KN8plMBjTlWQQRf3WiZbxNBbv9iJcm/GvFV5ZjYQIqYxW51pJNZIdH?= =?utf-8?q?D7XwOdmrtreofTpUhCNGqz/zPHAzSc/81GH5bKjTLnX/dNc5+j+TdFnuhdye1+AyA?= =?utf-8?q?Yu2RsWHkIZvStVlk6MBSe+gvzfyoOvOcIvl45jPTIahBtsab8qAUnO5rFh4+DN40i?= =?utf-8?q?k9cDrz9iqadqcyx0ZeW/qVF7j/XambKQOTIukGJOQtJX/wI+4MqRE8kMtcN1p3Y3g?= =?utf-8?q?xEZ0oCO5KuRsuRQxBwPaTOUOhjm0B+IiVhWLb3DAY9NxaYYgI33xlgFO3knNsPfnw?= =?utf-8?q?V7NKINLAlzo/27dVvWy8JxzuUS8UlbB+Nvh9nML7+gcRBMJ5ydkIrLP5A3qVwB5Tk?= =?utf-8?q?lm3P55vE9zSuvhniyBg/lH33hlw0X3dOxCNc4dEg8rF+ziRLGc4cJmYUqvMOXNIpa?= =?utf-8?q?TwMIaKJCrsxtWjGW/hX/7gGCO60j8ZtxqUpItGrwRiQE2Hy1n47P61GxZLET70rGh?= =?utf-8?q?Ixwuwn3VIVXS4mpOB51l9u3gmRETUqtkrZs/CPyWeQFWzITPiiZZB4LyZyMLOboJb?= =?utf-8?q?gDvnnEsFvZdo1yK6AclBYlGyfoXnd8bjhOsmuoFkvpGcRjOib1c5h59SjO1J3YGI5?= =?utf-8?q?ydc0OrRGC3IP4C2X1ByxvX7W3/geixHEm8vaSMORGLN8KBBcD9O1LfvLMRslbx5nc?= =?utf-8?q?OBNUsLHYqYztUgvlcfIbEBdc2vNGN0yY4RJDS+76CyaeILeOC+JcL2EAn2g/J6BkJ?= =?utf-8?q?ebq3TlOOOaAfFZAthKu4iZbSEyR/aQeDos7ZV9U5ouvPTrYpLxeODe/cQt0=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?gAhp8sXMlJvcATy2dM08xQVQH4cH?= =?utf-8?q?G79sI9atPTteW6/szI0Mb+W45K1ZGJzAo5wzgFPKGWjJnJJOoHGvt9PcyoLXgNrcK?= =?utf-8?q?qS0axpZ5vChrTX7stqJcVTKHnw/BfVdjsq8LcSUO88DGF5yoIhc0GQeqHqZTqeR8m?= =?utf-8?q?IfDJAET6PVRyBFyQO3av6PIg5GJSeUmxwvwy4R3pI+Cwjwz3UqgiEERhLe/yFnDQU?= =?utf-8?q?iWQcxOjrLInJ3iHRcx8NQrzcuWHh06KrHR3TW/vqqi8b+W3LmA7oYO/6AVr4PaeY9?= =?utf-8?q?0/EoSFLMwrXneATWVcU2WnsaqXs+4l5nu82H4kU7J4flB8d9Txu3w0kcChuaYUlip?= =?utf-8?q?y32nMo7QDovpEpqyN9A80809GzGxQGCAJ5SS4zU06vYuhHLUvpFQY+Rrx1yc7CSi+?= =?utf-8?q?4nTY9PdHWCNlPtM9Xgt/w0U7xC55SKyaK2GFfJeY/pb3wyiY5R0P4a6ywmF6dOGRn?= =?utf-8?q?1POnAyR/Ye2zPAR/BNbryDzFUAJigetDJTBnLel4LvCkWjSJN4t2dsHQgRlPFqcTJ?= =?utf-8?q?X1gncyQI1l402lNTiQfyetIyefnD+RDpbk6KJIeehhdC4OFG2yrRYnxH/Nd5PEuHE?= =?utf-8?q?OH6pZD7lD+LRPecUHmgABrGQAsHL2PI3LtA7aMjdia6A4T18lGssHf+3TBqh0rIe6?= =?utf-8?q?vx9/ee3IIw2OJJibTn4CURJAERxGwbBm1UV1Dtn5v8w72b0bhMgC4Xjaspwn+552Y?= =?utf-8?q?UAmsfqNSvj9lOsua0A16PINFVQxxfYfjKS9/MMITNMeinp/abe9BYRMLbn2eII4rS?= =?utf-8?q?EhR2WdQ7aE0SxlDPluk2LG2mg/tupwaIbyJuMOwwosjyc0SSQzkm8Hdfs7SuHZOvS?= =?utf-8?q?3baJ3379vDsvs9x3iGl1eBMKieuUw7RGAR856co/Vnp9+nBP9w8tbKlS1LMv9N/5x?= =?utf-8?q?hpJZViaw1PFPii30okiZGGAaPLlx5NbVoE/DjbatDQTZqD1Fm6Qp3ddRu3RlgS9pl?= =?utf-8?q?lTOhQYvA5AACPhxmcv2JS3X+7jBoSwICvN5zeN9r7lQMknEX9J8YSeOBmb5ufKLQf?= =?utf-8?q?LlCdG8nW8YF3qnwP8HKceSEiNrm5aPOW6aOk+BXeXcRf2RwHFkOpXujDm/zWtpVU8?= =?utf-8?q?dRU7KC6+KdBs2RbZULcZSj4GSdBZNKvHlOq2ZwWO3/1kxL32mPmDh20kjLddyYFa3?= =?utf-8?q?V97v4kOFSRWXlAzrspfhCZy6EhFcbDoYwJTVcwM5xhnBkKV96+E7Lx65CQZbIAElA?= =?utf-8?q?4AJw5tT60E3TFdx4HeHJ2L8H9NufNZ7jrXUJMYCu2vzUqekAMd1/24j+IgKd64+b5?= =?utf-8?q?ngj75qTbWDjImRCs?= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: ad118372-0525-47e5-1d6c-08dd785f862b 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:43:02.7307 (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 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"). Acked-by: Benjamin Tissoires 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 Apr 10 18:43:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 881065 Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011031.outbound.protection.outlook.com [52.103.68.31]) (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 4FE9B28EA4C; Thu, 10 Apr 2025 18:43:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.31 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310634; cv=fail; b=sRC/00s4JJBlok45ZSKDVu4o90ubqze1oPs4vHd9XRSPpII9z/yI1lu9bniZhSseBP+aNFujyhVacQt0rb3OLix/xOw3zzUTIjOh1rsf9FLCUyVTDm6wrxt28daDBc5KlJzIHegEnwfF4w+l4rLo9g3rDwTw2pucXQmkv/GUZ2Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744310634; c=relaxed/simple; bh=DmY887p1WKX5lnaqaaiXL/2vbBdMl1/fAZQXd7c3lm4=; h=Message-ID:Date:Subject:From:To:Cc:References:In-Reply-To: Content-Type:MIME-Version; b=I9C0cwOqWDsDlKwZS3o7+NK2A7RNJfs1mL1z+Y9+oa7PETe5OYHEN53VL6u9HUg9rzzYbAYZGX57bfOPuXyi77kQfM9Ct17Uul7evIjrMyGZIUnsmosgPNy3aOh+OPhnaslY4XSbfiX1MILWJ9kuyuCSfnOQ52VuNW0upk/7RgE= 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=MVUskl66; arc=fail smtp.client-ip=52.103.68.31 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="MVUskl66" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vblqokAZ6hQBG1xqkbl4aYwsmhAL4soaz8aFS7OM47DN5ru5071jR3dyIF51vY6Vd6wIIiZ/D19LkTxUjhT59Nsv3m6bv1kIBhTHfNmDyij9p+0qqILEm7lUjLcMqJDZ/YF+T7wOPfFcrkohh6suawYreNTsQp9GSLTuu8rZKhTW1RDFTwE3BscPn3sOnk/x4faXRs7jQTldfq/HfwkufDnixTXYPE6dR1xpb7D55LGbq0NYpfNYHjz8XO3YFggOlEVkDWwoBvpMG/l8yj8lI76kR9Pzrujtds1DWJA1rcXi0Bchl93blu92JbBVBWQrj+D0Aax5x0u72KzcqQHVGQ== 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=UuvfQtrxFOajCLHRPepiqXZW8QwhvcCKnYPv4jVs/lA=; b=CubUA7Gjdy8zNtayjxxtJav6FjhAXq2sdCxaVHtKdO5d+21GMOuPz9XS1OLnAsW67w+7vCHGU4ZedWAir+SCMCx19fCufKAhyoTupk4rZ4nNW40a+IkhcPBkqE0gsWC2KbVPmfHDps0h/y6/ZCBkCimYQnd2Xq+q7obPl4A20MF01eScB8QAh3psSUuyG846Qs7HT7weaVOgWpiJRFaGwU4CDZeOPUYkjWG2UGopRxs1FcbHbKmMRZ2+at+9cetPG5Qv0fMB/zzZIesoXmLjRVxS7J8n6ZNwBhlzUBKV0fIZKnJ61gn62VjOF8g+D/gf2+wfecB4BL+3xW8llnFqIw== 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=UuvfQtrxFOajCLHRPepiqXZW8QwhvcCKnYPv4jVs/lA=; b=MVUskl66PZk7G7A1oiH8S0kyD2fD/jd09w2wpaCN8vDtY78PcmLT0zLjGdHKOzJYUIRD6Pjh2xIe4bbOXPaDjDR/tBQ8kLueQD/EySAlYUlZDps6nBFp7MrwVLg590oWq9y+oExy+MXZ9x3HwrELzk2Q1lv4KOqriu325PJkBN57grbmiES5h9pgyuTW0fsVn+b4peYG2JyMn2l9+HB5QfLnbp1fsi2/500JyqjwbfCoDdmjNR/GguEjYVPda0r+qHkBkjy2i3nO7EJh3ut+ujuA5CzzlNiaN13UpFB0prBRRjwXN7bNeZGF4+fshF8ojdhGoIqb+FJsXdlq9c4kow== 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:43:48 +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:43:47 +0000 Message-ID: Date: Fri, 11 Apr 2025 00:13:45 +0530 User-Agent: Mozilla Thunderbird Subject: [PATCH RESEND v2 3/5] HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field 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: PN4PR01CA0092.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:2af::6) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <0aaf7fd7-376a-4664-829c-9c9afb67fd87@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: b7858987-13bb-4e87-278b-08dd785fa10b X-Microsoft-Antispam: BCL:0; ARA:14566002|15080799006|7092599003|6090799003|5072599009|19110799003|461199028|8060799006|3412199025|440099028|12071999003|11091999006|21061999003; X-Microsoft-Antispam-Message-Info: =?utf-8?q?biYElpgFm9Af8cHey6MNG1J1xitKQV9?= =?utf-8?q?8SqFvu2nO5eBdW8/QkITSd6QL6ZDlftraBtX2mwyCKiRZjUSPztKJyUN+IeyJ9C2C?= =?utf-8?q?tAu9iUkLlbbZnzyd6V8iXhsLZJLhwCovCw82mECqqkSzp4khcmyMR/97h3kZTUYeB?= =?utf-8?q?uLPKpMIjV98aG0+U+bR1Tg0lSJWh1nR9VEv33j546eiUoePGrHrCz03x/QMh9wNGL?= =?utf-8?q?w+ImoxkfsLPI8E6sUrA/d5Ec7dNZc4uc0PkvUcPal5aFcl7IGJkb++/Bg90KsTmta?= =?utf-8?q?fgi16ULXiLE89GevK6rIH89aGv66N/GufTIVE971T1dAcpSVbhVBLvM5VXgti/0bh?= =?utf-8?q?tRhrRb68y2SGP7XqzuvgzLtlOC60OJTyQgfqKguw+N70QQDCVfq3fSU5N6jfip6OD?= =?utf-8?q?2zl5A07RED96HOwujkN6IjFFLNg7/CYuVpZn9ezoYht7bRXU8/7eUjhwPo6w7yXyX?= =?utf-8?q?u7FOtG76FwPytK9OdFcJMijnrZ/KsbkZqRltutShuKzjRQJOCb57+OhQ1fJReRTXC?= =?utf-8?q?K0JpfyeSSiNRZzKfpxcxTI1372W/Q+ZiQ4c7Y/8kRAOrNW7JAnRtmkhGzH1xxD9dX?= =?utf-8?q?yAv0+gZTETm9EtTiEWo/l1/YyLMaKPI9WdNyFi+/ZQNYmH7g0FoQ4oLhdhh28FdQI?= =?utf-8?q?DPE0U3+wmTxxQ+1zjPHaXTWzE1ZLCoGmUltxIWIPPJOklwGZ0NgOgDPGugwUyVthv?= =?utf-8?q?3tnbVBBdqJhGCwAhR2Gskjt/ZI4tQVMuF8YqulJovBvFFah7Bj3+Fn6SAlD5nScFD?= =?utf-8?q?Udz8obdYc2G1aPKksn8V7PapUAgxL0f4v++AWOwpg7mrY38f1wVRreh2jWzyj90+e?= =?utf-8?q?aNZf/1c83U1VSgROTPWXz7ydtor27imIcLICQs+swx75vz9O8qHpLfmzDH71arQyJ?= =?utf-8?q?7EqmG9eKFEx0M7rd25qtzXddXenjeL8sEY3d0lf9ENewRBoTdZdtSqEZbQQ24nUtt?= =?utf-8?q?ofTzdyujFA5znDPZ7BKl1Mw1urEHTtNmIaBHY2XXa598kDc/5kkNuz7aSoYvtjRFO?= =?utf-8?q?zXWBjwytQYoqkiK25+xUAly2l2LNhivGtfBEvbM/zjQXlSaBY6TveEbu8RpU5YdHV?= =?utf-8?q?z4bhF5VSJlP03hLzSFL6utKKrL3nsIbkktSqcI+9PmM8Z1yw0jWXkTczL9UwBT6MA?= =?utf-8?q?0L5icjXwCFu1OiXfKF1PUGYcA9LTeva4re0H3oJkXSd5hKzUbD1Tf/cclo=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?5k6G5OOAi2KYWjPsC6e65V9ewkxM?= =?utf-8?q?gjM+trU8Y2oE+7M+nAEt6iYbsh6aDuTARqcLBUfr/gI8NBilM/Kd0mBTeSLfw3STb?= =?utf-8?q?6qrrCPsPrXISoWHszRp436SnW7VMQZyHnNX38EiZZ/XzGMBL9ZdqkbSEq5QUTgKwb?= =?utf-8?q?NmAH4QOq7CI5t8s7IlYRU113rjIW1ZRPxsFYKLmaRWz5Q10oizeq0POEUnKRI6cVE?= =?utf-8?q?TkR+6sflWbajE1F52ae0hukPKGKKI0Mr3QDeU9BpNNoBbSqBOi9PTTi8ym4bAyyOe?= =?utf-8?q?YYF5qSqHOX8cjOmuuzi0g9hjNpdzjGILKl034dRvulQUmtvNOc02qBoscOs5Hlj1c?= =?utf-8?q?C0+9LfMiFLdGFlsEndGIArJvShY2YJK0bRED+WEr/pLJ6RyBH26BV0yqDxbMMGLda?= =?utf-8?q?a+zQSE586hGw0+99hy+UvwhU6yUvFHKQWGutN126guB3GYrOrrBUwNRW+PpRHJeFM?= =?utf-8?q?tgU2lVyy77Wvj6mWB8aZ0F+RpL3NHZTaZkqFHiWSiy2Zf9Seo7qjAa4jDmWZaTsoc?= =?utf-8?q?/W2ZfNIvdJtHmyh4pqYs81Z2PP8JnTelaFc7uo65ZcuBFt2lMrFoc5OVZ9hGAfmTM?= =?utf-8?q?8xrihmCYX18FsFBcD0WXRxJPZNevnwOz5s44KBs9Nsrn3hxKOZLQBT0DZ8h8h/TB7?= =?utf-8?q?3Oh5AvnCKgHn2kaEE4Bcpe2pQvHRqhJW0R3FmueHF2C1NoHdHUKjhlXTxpesW2w8y?= =?utf-8?q?mGd6uMoktBjwMq1FNfdfUwNJryHavyBChFt0rroYbX/ajsGDhOshbEsk+bTTVICQz?= =?utf-8?q?VznEmep/yM30EZfVQ9WvXY8OJ4CMSCdy8QxpJztW2OPLNMpw9qxIF4Ay0+rMPiVQy?= =?utf-8?q?wxZ8u/uZfe/V+pfmR5I4xJxnoP1WcH01gdxyQ0FHKRKn1BCL4Db996C1jU12CILnc?= =?utf-8?q?VNPrjHjftC6B+/cwNohxUqE9OCTnieZl9rk92U5bjhLAiigJ5/IPsEZptiTd5l+OU?= =?utf-8?q?yQg5Cs3J0kHEHvrabJlG1Zp88zWwyOgGAdCNzSo7+rdr3H9J4eyW2LvfmlDwAsPx1?= =?utf-8?q?hH8mynseDXti04pCW9RJWdzHXqudW4zMGZK4zMH+pV6F6JmBqa1jfgLVE02mY6MZm?= =?utf-8?q?4cNYmyO+0+BmtWM67Uf28R8Nq2DPIHmug8YC8EsSmok7lfFcoINWXIwUYk9uU8xQz?= =?utf-8?q?pbms+hjcpD+x6+EywAWNcg5pKHbe7nXnyr0k+ibmoyflKv7cKCzWZoF4ntFB6xnLk?= =?utf-8?q?p4FKxMKofwpKLC9KGpbeuHzAozFqejZY0VgWvDjbYQ5P0nx/aLEbTTR/pOF1GrVKg?= =?utf-8?q?Q/L5ZGth+6SJ8bW5?= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: b7858987-13bb-4e87-278b-08dd785fa10b 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:43:47.7645 (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 HID_DG_CONTACTMAX is not present, but the maximum contact count is still greater than the default. Add quirks 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 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 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; 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,