From patchwork Tue May 27 16:43:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 893049 Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011032.outbound.protection.outlook.com [52.103.68.32]) (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 6A32F28001F; Tue, 27 May 2025 16:54:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364885; cv=fail; b=eLAm04TLE9H9Lrgs1o1LxireS3g/U5lOLgcfB/oeRH/LyHdmRXBtsC6CVnim2NVnDm/koFM20LpT7e6E/EAEc7dyvy0Zr0vbqOVUBz75zK6qnwBnpLTVK8alZ4eVB/wnIZFzwCFSx/vWCQXTqznm36KNghUpKw5FrbRHGhI25cI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364885; c=relaxed/simple; bh=WDisLZN0lncwAmicQzdWcGHd4aGcLG8mgtLVQFxjO+c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=o4yj3tjtBYMfKVQc+f9RP0xLqh9pIk8Y6PqTmEFZjbHpACuXX7SJKlr2YFXaNobrpUy/oCruL8QYwPw/12ZAKWZk35mAmBgfN5Ja5RYJJ022tyjqC1ikjuLFqktndm4H0nR+OeojIrBALduGDh8SAFBqeQ7fEhJinSBAnPQTp80= 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=fxArrHDl; arc=fail smtp.client-ip=52.103.68.32 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="fxArrHDl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=awSmlGtMQLcL8zZroSG5SFtxNsCwbFfmUQN9DuHYEqdMU2XvlzH6wEFKtVcdMdDw+3PjF/EL1zNIApsb+EqyjSArZ9L5qPIwH4dYZy7TGfD2SoSuqpB5XIv8qSQqjWYmg3GzpZlshhgIT1dhMzS94UKFOIQyzeyoXn8sQkm/vmJmE+doZCPxDwS5SJ0q+uVHnNNSWCINe5zQXk/M7PKie+bMMLfkD95lGwAXZq+pwPclRrtDFdH8Ku5MR4YrOAo72DsaGVJwxQqq/IT3vgTAP7zRsxyRbvDFNrJK8WPbaM4ij2HICc3IeB6GAIQx80qgUzmXi6QNVhp80VjlVCD4CA== 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=SYnZMdjIf8WonY7IkWD7YO9byuS/dH6X4qZdHuFW9B4=; b=zVCHxQmWtAzKsLF+mnGeVdt2BbKm6DTohY7ZwJMwGmGDesVNRnDyE34XxkpEeJCrC3KamZVFLnnwc5FXu5Q65xKqacIS1kKcEcNWjRvpbyBvsybd8LEYIvLCkNUD1jzIiTe8PcCB76AWPtdvydq2SaKDydPZpI7E2FeAmG6IePsy0RQRkf1wU7eKA0N+WjCqaUpKgKPXsI//MCeWizA6onDE5BSIZY+OUbAf4uwJBBcoOsHVngcGLQqN0p2/+LT83P+vzt1tNotA/jXHlEy5AsqojLZSMndmOsVJvlHi0zuv8lzTIronB0zSRKVCm502BkKCxgDExjbqR41nX5l/yA== 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=SYnZMdjIf8WonY7IkWD7YO9byuS/dH6X4qZdHuFW9B4=; b=fxArrHDlVPGDEKrDQTrLhB3WW/NrvZmV3CsVIQHgYYqIC9OKA9eoA4/7EF5RaeP/OEK8lTQo4gNH8Gu1IDftNCFxDTxQiQU2Nf5M8dVn/xXgNX/LkH6iGXmmygz4wqs+ga2Is0VJhR4HatxwbNIxN2chbo944Dayd+6a6nFCW94L0TfzUgu6jW2VS2yKwVMPSKdaKlSzAWxeHipyhNo3EVhonx6UUL1BLts1tKEuSjIYuMoihzxfjWvwvhJfPy5w7pjM+NBTvVXFSO+4F5kq8X5R3d/Tde8jLu5aPd1PoO1+8mqGC1lxl6J4Ct4o0DRzBfGPMo/N3BE7P9Yoxax/LQ== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB7799.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:b6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Tue, 27 May 2025 16:54:37 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%5]) with mapi id 15.20.8769.025; Tue, 27 May 2025 16:54:37 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires Cc: Kerem Karabay , Linux Kernel Mailing List , Linux Input Mailing List Subject: [PATCH v3 1/5] HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX fields in case of Apple Touch Bar Date: Tue, 27 May 2025 22:13:13 +0530 Message-ID: X-Mailer: git-send-email @GIT_VERSION@ In-Reply-To: References: X-ClientProxiedBy: MAXPR01CA0109.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:5d::27) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <20250527165417.24165-2-gargaditya08@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_|PN0PR01MB7799:EE_ X-MS-Office365-Filtering-Correlation-Id: 9434f006-f380-4ebd-53c3-08dd9d3f2a06 X-Microsoft-Antispam: BCL:0; ARA:14566002|41001999006|8060799009|19110799006|15080799009|7092599006|5072599009|461199028|3412199025|440099028; X-Microsoft-Antispam-Message-Info: T5GxAVJoijmNCO8/Dkr8nLV/mUrxRIElPxe5WLgKv4OhD6ZZp0050Wg5/bCidXAyPmDu1mJFzKNQiBT+aoSYxb1B/cOnYsI5AO7ARUqyS+7M+hFWSYsjGSPx4LJ9bDUfz9rh++Uhgi1CenfCAx2GaOg0W6RvWuquoIdtLsFLei50vvWtx4O0UB/uOc8BKHoyX/SkXfB4+Dj1nYhlnsyi0+0ObRWy6kJo3LBMf3gQDpYe0un3x8KLSSbjLPm1G7XJu+4kmA4+OCuChRKf2O6xd3k/IAKHgU/x89+4uixdOv4dzzMh5gDTx6PGor/LP8UBHH11BJAF5Y71JWTgD2KJoaHh24wi4ygWtdQejM56aF4MmReTSlWzKxKur9J8WRbRhlWdgMfahiZ9tdWpLcpj7XY7SLRPylwNPvv6KPBQUsMnlNf86ln7VmK3rlnckRHFPc5xfampMJIdMoZoGxqVnIP/HbabdGt9o5rgRtS6g7MSkKgAQRz7YPALcO3x7g4sZ8k8qDjxopY5YQTnHVRCz89Eg2QPywiyhWwb8nVEeI/t7e5Fimq2QEAh/D8XDlPyMR+R7MIX6IZlApRKFa6XJnEf9Ji5VNYzDLa/ytm6MEzDKcHeNT3e63VYrzDFnBtpo3FfNtfYxtCqgmDpAHAPd/CCiF08kT3vtpV64sXEe5ZODGrY5GJQByQlRKNDktZgMuyLteiIaDED7OVak8l8Lg30IcQ8xIeCUXpAFSzs+SDOZ3uDCWbXzEjb/NKPpsUQQX43PUcorcZarhGua/ipyUh6T7UypxRwCx1NSlaQLfhWa8ebT1LydA9NzVUSPDhQiXsGoBr1siu13WvOI/dTA/0x8877brvV4FryprCXT+xi5rT0opbLdwBJIjz/sAPUf6hqew9Q05Vs5Z0Pm9v/OQ13oi2Y7GbR7DT8uQgYYmwQem3oP8f85FdcWxq/KDDofGUe2/KhJL1nL7SOMrNoKQzgU/1QEGKQmF+SPJUFVvSdMGdwLW8MleBEcAnUD3iUSIZHhiAPJW47/kxiUlOsRKMBRfeIQdVH200+G0FM6oubuFnlJuKLwoekMv/s/kJUFimFhfKgBzQxux7MZr7JTCzsujIfLmxy5sei8dfh/HuUli027Iaz1HsMPxuTajqbHgc4z4AHltocxuqM0PF5iQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: xyymz3WrX847ud4rIivhVdrNUG39Lf+0ScuLdOVJkZII7tzFEhImbMo1BTqto33QcquSWKa2r1lIkN8Fa/T/E5r5HTaFV5U2RofoAEFgBtVsHTDmTFSyoWMDBiIsNtnZIJrirWRaAfrs5CKnM6GhCteHraY9pMTIJHdE3nbF+rblX+Sk6OnBiC4Q0KRp0hToBAJuDtGsiHbG3IU+cZNB+WBLeED+9ZxYPlDb0NO85Mw7hDbDlXClYIJb7kzAoa0uoldhKKR7FM4ir+8XTw9nxQU0zwYPx8t4wa5n0LpHtBPN71U0HmDpKk6ioOW47/55if6iQZ4Ppv/fOlg8KyEpVLYVzmi/OhHy5A4aQCpEL7WhJ53dP8aAMuhRHWNLmM35DfowvQOAPjOa1WjnwEJ6WydLjsuAgXgK5CxmHTUlRzZRR+h+MFzfmPPyZw+UFp/Qt9TStfUq+peTAZQ/q1gcn/e36gT601ri/J7wYE2HQaPk4bChZQ5LtjvRdeIurJN2i7tyXt2XtBvs5KcuGkzAkPuOe32H6Xw6xz45z/Tu7QparAGexwTKPYJOIqcOtcFsSoVupH2IFRUorgviQ1VuGJevb4CkXC0uHG4BeqMRMWDwyalz/ZYRZokHn1XwKpq7mhZva3CTPwYD5xKxNK+6dO2FvCsB3aoVWzXqAdfYAETwiRJwqzmiPXaCuVM71CrjIsOaniimL1OGz97lRBHfMfrt8lfWsgyQRElElpX3jZj+exsVUCFGVyZGsqsSjyIphIH6SKsw+K4RxT4VDrwgblLCJPQVmWKz63qbRCIB5BuagFLirEa/PplyxUfj5V20/T71LqoFm+FRikG2LxzVK1vNcg9IVz/lcNwXOJsGnqKSWFa4gRhHIcdMFPfavSM1TsAqB4XqinYxflaAciy3u7dVNF6eF2P8YqPxVh0Fg5pYe8hBkReRWPyK8Nn/e9LFsd7z4LY4yDtsLwsNjBp9BK2k2AtJK5FpjhLpolwuCdRxAgkBC3NKT4tEEpb5rPSnax0IHTlJ7Hnp4eAs9fUpkWqvYVJjlE8vYB7ifCQh+dz8cR3a+OpthoVAShehJyoQOEZYpr2vkNxGD/5rkMLq/Z+OjoQQszxkmDlpVz7m7KcScCgCtXSEe9HJgDa6GE/itgYOcdS76EZIiRw25/Ov6mVpWS0kLS8Q62c3j+xKZvKQ+Buf/YOm5YYsj865UmfiLZkKq8ISLQm8KLyt5wHbQ4MG8DWr06UZdBA84WAPu1/6IvDVfV5Mb0JriMbmJQwUwbZ2QVztozQTpMznFHgpomCseawtGWVw8BwrIsotO4o= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-18ccf.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 9434f006-f380-4ebd-53c3-08dd9d3f2a06 X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 16:54:37.4026 (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: PN0PR01MB7799 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 7ac8e16e6..2788a081f 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 Tue May 27 16:43:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 892854 Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011032.outbound.protection.outlook.com [52.103.68.32]) (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 8AD40280303; Tue, 27 May 2025 16:54:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364887; cv=fail; b=tsDJXE5K+lp1Smhf9x3At0SGeMqs2wVQAtdkT6dLoAxpT3DBUuIaR8qCaHYa2PwyRVWRWtbKyvRBU6GbkEIIVVAbRSdpx2y+Jc6nJOZIA/vgrou9Swk31Hir776xJqbfmELtZS30sHva5jIG3Yulx4YRPbvFZAGJTMFfW9wUNho= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364887; c=relaxed/simple; bh=3KcEfd7V1GFcWKGribvG/tQyODwWelMIL9ZgfwU3SbM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=OwC5Sc/CMA67p5EArvX5skmiVpbbMM1ofIxV5QA1+csZ5Q76u9DSGfdcH45EeN9Tq6jDYITEqNgHNnJVrjF3RHzRYKAKfxRdGnghBf0SUna+j/NXHIsWHSMtTjy3so6GpDpQ2TWhYFvSsJdMZUlKTVXIeL9c5yCvxcCzDF7UftI= 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=mp8DsQRp; arc=fail smtp.client-ip=52.103.68.32 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="mp8DsQRp" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Pg2wFGXXdDdB7vWDw6fCcClqQw9us70SOZtbdjpOvl8lMOqqeK5lt1Kl+b0wuAk3FUoRFF/+9uelZswnEbDzscZV+opTVDHCt5VE7OPhB2D9RqKyhRejAwjvk0MUBD7WR9rt1lrq/2DTE/bhCl6636mFfTN7KJ4fDxpDi2yVltTIYZYo9eEEDY5P9mg/fk+9xfT3mEDOgi7TdYE+xE6wW7ZWZUI+Ayx52x4f8pwRssg0p7x3zQVFMyTjifidFazpQgsgoJ88qB+A5vk8tiMwC3jOy9zqHcTv3i2a82fT/iWGWPKC8IQB9rMM0KfgznAOPLGh6p+M01OSibtembqSfA== 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=G43irMVgxdt6dCzOKULR+itLDOGfcRVcNWlwIYZAy4Q=; b=N9+yq/fNPfXkhAMRqL5BmRWmlwQkigy2AYgUzEA7Fy0CP+bIXJdGJWpICAxH1p4IqaW178i+2N/ZOuHgRKK/V7Fd2zomhVO4pGFhBAwwAld0RovPHFMwrQq+bBOVIi4b9haabrWzOlu/gBgCHe7zI85sJ3BCrbWzFJ0FtjRFeqZh2ChczRMcdrDAEgMbx7/NgZGQalSHL/o3AEPEsk7iHCqGnj/Eh+0Kk2LA9iorFAc64NFql23nMqYIbz+tQiFxVaowJOkftPMi+gn6/PPiV/DRCko/ewqyFnwGpfCurAc70fYth9n3W6Ma0VzQOs5WHUbkv6oXIK9XFgg6GkOfnQ== 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=G43irMVgxdt6dCzOKULR+itLDOGfcRVcNWlwIYZAy4Q=; b=mp8DsQRpyKoB0KAVCyQZEZzKUWitjUvMAu0x0gHAMq8PzZkDo8EQ2Wo3YZm5Ckwuwb2YK4zlGrNwfyBs90DOsyMCVAmD5qWBvVDFxnZoDICqx1I8BDBtwU/D3jiDw1q9OxhKN3EfS3+SGRW3v7UUXGsIysZcC6P7twh5qTz0ruFkaTJH6Gh8XZjYbEIWfdWtuYWBl5/viwFF8EQkH3pBKEDYAUjSTo5n/fztwzuYvlEk3B0/Lxvag46bCzUIXLIxFfjF1esvuAGRrz6VlQjkFcQFsV7ntgah7839osbLigwignS7fmCAjZXK5KUcJEhrmINCu9E1qqSfsqnIA80B6A== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB7799.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:b6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Tue, 27 May 2025 16:54:38 +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.8769.025; Tue, 27 May 2025 16:54:38 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires Cc: Kerem Karabay , Linux Kernel Mailing List , Linux Input Mailing List Subject: [PATCH v3 2/5] HID: multitouch: support getting the tip state from HID_DG_TOUCH fields in Apple Touch Bar Date: Tue, 27 May 2025 22:13:14 +0530 Message-ID: X-Mailer: git-send-email @GIT_VERSION@ In-Reply-To: References: X-ClientProxiedBy: MAXPR01CA0109.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:5d::27) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <20250527165417.24165-3-gargaditya08@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_|PN0PR01MB7799:EE_ X-MS-Office365-Filtering-Correlation-Id: f175fd9b-843a-4371-b64e-08dd9d3f2ab6 X-Microsoft-Antispam: BCL:0; ARA:14566002|41001999006|8060799009|19110799006|15080799009|7092599006|5072599009|461199028|3412199025|440099028; X-Microsoft-Antispam-Message-Info: 6OuDLGUtp28trtztsWWqJChK+HueZoO16xu+4pWUHjuFjEPZtNWF+BpdiLd80ZZj0lJ4GnGvORIFriQ1Vizrew9IzeVOmoda4t50N/BpgLhjpm+j4YRVVHizit+nQQM3OUT6jzIlSLmSt5IvSeyMw3eVVpaEYoUZVCfbUZkDzYkzjcrvFYayH4Xd8LC7+tYvBPHH9rZJP0sm/XntZzTTRJwDU1XJ5iD6E9hlbBrttk28UtPbFNSW55ehx8z7QF55jVSuKfzTRSLs4fiDa5pQDSJUYcPOkGIbhuVVL5qLsltS4fmR6V5RcZ11t3A1aHiTpMANO4EtESsVoCYEaY8kd7Xm6uBOXNL/LlCRZBwsnzV28y+LbU+SBmh58V1uELED1Ilu+zjD5ytPBIQGK6FNnKawP3X9A5yL7oGdsejVjmjPK0VoRA1rKQFdikvkL5jUy6MlOqDergYsbfi5EZWZ5eH0Mgf0NQkJ0ebGfKZfpLLDJXLzuMxnb5X8W1e2T3u8P3ManSZh5yMo1/yglnyhyNaBBTBzrLDto2kPN1eCk2/H+hQgPzvYKOYLAmNJW+DMD5xFZfuFKL80PEHhzAe01dBRWlDqR5zOr/khN4qzYEVfiLZflONXfduful187nhPhYJGwCQgbHop0E3/wz5F7MntPMvbcTnVmB/VxlCNuvodgM+LmnPX3ikpSTKu6z5Ox5YSPt3z+l/NBkbaJGFJMPo9caq2V+GrwROxQnHInAsMfQc9/IeZ4fKpjt5YD6ZfFKYazHu3DtJUsyJXRHveiCZa4nV5CYO2ndC7bJkrDZpB2LspBaYqKaNwPAXic1SHSM3kzgcwBpRC6rsXDKjgcJdp01Z+LOHIuRaIfMFH1uEBrLhxqCoRGQwLLAZ0/wAUnSemb0otO2lE2diKvtjIbiKRQkrtHu6wOLeVIGhTZG1SPwYbDcofVKVqEUPew7kmovg0FxG8QJCHN5dtbe0/qGquzVE0MZV0b99m8AdMBY7wLKcvsvUx3EM69dYImDl4WAi/NgZRwVO3nCDuMJJvN9LJ8LmGRF1vYN+hCnYzFbYPbpxoRuBYJSjitca6587zOnhVIU40rsGsOgo3o/Eq/kGf5sQUgXPlDXtCJniSn/ikM6iCQqydVfNVV3Y1vWSg8wl7ffmi0nvsGaA3pOm+fw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: I9wUcUyTMnp/7PpPZC7+3RyzRJIEfL2LSytLV/N7qcOHiCVlaqZkkD3Z4QSv4a/bPKIfocHutiDIa3ynS1igK8SZjgwEaL3fCWcCu6kwmilgU7uOqF69n/+5Ulq82W2vwwSNpJ0QbfEyV7W3waAI1Iykk6/DrCz5MzSSt9bIgPVlMDhBu7K+qFd3jgngSckaE/a1Rt2SWuNUGg5e4ZyOtczvRc/8lOPLDR43ESZpenhogWHt5VWVPaW9NygcSyPneQoJ530r3S0YjXLqAbH9gE+r7rhdJWNHL8GtOF3yegl+G5vEk3sqZx25hkMTi4K9pe81g/Mg2wu27TDFWru6tYCWO+YwpffUIMa/3IooRk0pFVdLrYVbvP2C3iCYzFmyUEonTItNo1i2EfqL1my43/7mNVUfiW8SLEc71mSAf+CFpqGdsVljbkvBqKr9Ff9zbIA1FYh2FgY0vzXt9h9vdV4RvU2PiBqDM6GnbAQ3XixQE6ZtCqms+FRWDgyYtpE9eEs0yizWGGX9gnuFyt7vHrXXgT5SXiWuxDpZH/iCZ/gF1uss2ZdLu07OI6sAic7pan21Fu+bL3GO0Fx+FnNeznyw35iqrpQ5/mVCWv8/pRj2hQUDizFqSDzUOh8FhfwBFkYaupe8+Swpiy3hzv2idp9tnJ4k6s7TjlfC4+JpdmVWuWV9/ub73C8eb63WO9QVBlYjC+0U5XSGmc4rk38JnhjXPhX17ztcjAInmTwB0mqIIPCjHmPljeDbH8Dgy6/rXA4WpnkRmYWTQeRXla4cHOYigWcCyIUjGzOE7Mt37NOKRoDHsXSqligKs1x7SE921mSx3aso04vOq1KlnkXQ0NNyvxfE4a4Vg7ZtRtlPsr6hyg0HescEJWr1iB9tSGOq7oE70w+vBfTXmSea9Uf3VGQyqv0ZGhRAw8TZNQI2Wj9QB8+eXKdkBkLyDwCMISCRuVGlCTC2DkMO/Siv8DGUn875x23ckCQYu9k+7xXxPSEL1JUpu7AGrnLPbEmoVucCX50nDtHNq8thifHn02LXbfSybnLXwhkBQisvILCR70dBnIOpbM2lejk7v88ns0Og21mkvVdr3rwjHEeesUBb5PlYWozzCeNTIw6Fvn+OmfT024MLdOTctxYL329d5EfWrQItVxf7LtS68vRX0tRnkXF2LXioH9aDwzD7Q2zDUAUcfyEs7UDF8IPgZI2Rvlogul9zmvukGemvk+a2WAmGvs9ipQcErIi+xILS/vmJagWE1WcZDFkdbJDdGTuFGpT+ICKJ1UtArWpJsVsz48uONT5DvxSPrXtF4kfxMtURW/k= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-18ccf.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: f175fd9b-843a-4371-b64e-08dd9d3f2ab6 X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 16:54:38.5296 (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: PN0PR01MB7799 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 2788a081f..99ecf6c8e 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 Tue May 27 16:43:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 893048 Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011032.outbound.protection.outlook.com [52.103.68.32]) (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 AC382281370; Tue, 27 May 2025 16:54:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364889; cv=fail; b=AnnkTqT+nSCzWjSbkyChmDZW+OBiqvPA3zi0lbAg4C8lLxytBG6Ko5M4l6C5cIrb4r/UfQktWy3Nz6yKyjDW5LJh5xTSCnDf9L/BtRdIqMP/92IESqDxisO+dQSHS0l9SyVEBb8azRe4b6hbnWRG1IUgNUtZ0YYvC9YgLu0Qocg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364889; c=relaxed/simple; bh=Kg3ZmBJxMCqMkFUNdT2qs37KtzpyBdhh7s0QQiwJeG8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=LE0g/xOaCuGw18+rwFGC22XPjcFbJ0PBCfqI/YTOYP+hqrcnC6p5WqvmpCQrA/heuP6Mc3crgzr9wYKxkCugexzGRf8S9enX42sHkW8NXU/9oUGA9OsTm5k8XbU7Pwx1L7Tlrm3DRLVuy3TAw2r+mrE5tEg3yK/Y73OcHzyuFg8= 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=F7pnVgOj; arc=fail smtp.client-ip=52.103.68.32 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="F7pnVgOj" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Dbo4f2yRC9QX9OPV8/r+Ol4oB7unaHZRhYkkaHGporXHEJxuzWUABDoDpqfLliryp2B1BxK4LB3Q2hCAbnSqAdYiknz8y2tG8TKtGNmI6L8UdEDGK55PhJbN5AfwMO3LbPJ24a0+/ZZLwLeYzLoOWjtqRWgEH6REdxpCClJXscrLBCNC9R6a2YMkip1DsYABGCqWxOjXNwm17Oxxzlszyd/bYUxaAWedJjCyHE8V2qXjBlyZpPRbsCiEfErsMf+IXzMr5Cri2eudN0pctylVDk+n9mZpnckH7Bgj+qheED9NxmawkfOme50aJ+OxfsXLh8Z6AuPVdDClctpKtnnoiA== 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=uKQyUYYyNKmH1MAw6hH4gxXdKtFLz7QQXQST2I31F0U=; b=bekhbGh26XzkNJzOjbNm4emFMSdVvykqTtf8cQebOThcUbGMEUXS5gZCBjEQ+oDZl8l/KXOCi4f06yMJvLaBY6gy7YspPPsSpcj0tjUmcBn7cRRNL9i7bEYmWFIMSh0T551YNxFYDfFUZ1404U05nmn9KGbmRy7u3Q29UzZ81kjzsvvaFixPeWZKXQEJqLyubAtxX0bcyGAsMAJC9Eugnx6vCHgmlLj+9f52UR3G/q8mYSu+lXp1PHMGIM4daacnmo7/N7VDeeDFss1J+JAcVS3NBmWOMaDwnrlA+H5WbYUfEN+wAVBrNMoWKuc3sfssChXUHEJEOpVbs2SJ0JB82Q== 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=uKQyUYYyNKmH1MAw6hH4gxXdKtFLz7QQXQST2I31F0U=; b=F7pnVgOjFCovpr//GRc9h2fA/vg/2t+eXuBmLbLimwqDf2PO1KDfK5KCsfDV+DW2T/J3y7Fqvl1B3dyqZnTvessIasS7IXj1DnDbxCkGVToJwaZ+OY9pFjZXlF0u3rNe+gr0m6V9AnieJ/DB32S/6LO5tbLy0OnDMBBBwPsdsoTuo//wWMDekIESplAwLt/b++ThI2qgdTXQB1CF9bLn/ecD7tGtJ/fJ6zw0s1VvIiXIU4rcQSzO4CnpGEHVCPyFTdJypCQsCBsWp27cLPK/7N4kVAPcwVj93iI3LkxEC508QnPHaa9dYCeTH0R/osto3iDSfpKEo4h/fEdsDYL/SA== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB7799.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:b6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Tue, 27 May 2025 16:54:39 +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.8769.025; Tue, 27 May 2025 16:54:39 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires Cc: Kerem Karabay , Linux Kernel Mailing List , Linux Input Mailing List Subject: [PATCH v3 3/5] HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field Date: Tue, 27 May 2025 22:13:15 +0530 Message-ID: X-Mailer: git-send-email @GIT_VERSION@ In-Reply-To: References: X-ClientProxiedBy: MAXPR01CA0109.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:5d::27) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <20250527165417.24165-4-gargaditya08@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_|PN0PR01MB7799:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f44441f-afc3-4ed8-fb85-08dd9d3f2b69 X-Microsoft-Antispam: BCL:0; ARA:14566002|21061999006|8060799009|19110799006|15080799009|7092599006|11091999009|5072599009|461199028|3412199025|440099028; X-Microsoft-Antispam-Message-Info: SBevcHr8aYXcvVl48hY4/CdujPUktNd52ki/9g3HgoB2vjz1xMb2fIDt+Krbg12NdFH7dHOUHSyGwdSPRdXmGWPrgnMFqkNF8GXHy52KT83WCKpEOVeOFIR72yQ2KhVg3AySNhLxV36FuIWzvTkB5Ejj5LsK7AfDphQcVtZsioYr5VFCYDSfJ8PQhKL+JEhLCIEl2lsiaXQhCuV1oTsFHj2ivfFN1wadHIo4jpqlrjrbjmfAZi56ethau9JBEgeKlUpoJsQG4Lp9PsQ/4APYpGKgNPfYFSHSZKt9tNlRRi1D91hbPN1oqNOBqp8Ja+cHuXGCai307gm98dpSIKv0YZTFLoFTgDQp49jeZqFOfc8w5gY3Nk3mhJHu3zXa2mCp9T4fqppJxBWFaZVc4FriJG4OGLD+QjZXop9HdEYBzWeRiB1Za3vRQENyR/4nf9oZN8CXU6t5GNHLBGuxcs/lc5MSpp3ONGXwOojgCSndVvZUmOkhDvLrdT5F2js5iZ1alqDzitL36QbICoIHwfm42QiNK7v/Z7otxJmdqmbK6vkVxJIVd86jGAndJKXCzYiH1S9MDs8WTe7xURBJAJWfD2qLv1o2D6ErcXt72UeOPqB7OTd8EYc2urJQjNYdJlhdHbJfTUwjNYpSr6rvju3W5UqHqiCt2AHisc9en/i/v/Cq+dLihNkw/TgwCuqelMAt0bPr/P5YYlzyEW+vw/P7ItmNw4X9Uvmh+nwaxBKlpEIGSeWaIZcJgUNlZ9/6Ai0vHL+EXve9z7W6Fp10lxha7B/xenBdS5WR5fBUL+t1uqjxxTWBvM3+xVio3OhBf79K0AzY5kcEREbdGn765GgBQsr3XBgyZl4O9JJn07UUO53WuTOG7MV1pwEtW/dHaix24ZC1TuorAkJ7WWCWeG38tl1dNTwThS1G8saHgOz/yOL2vkwAwtUqzf+ttEVCyx4J1Hmgp5DJhU6X4mAQI7vXuQw1fgFTheyBo5bg80k09P8zoqNqkzuNKoF1UzdXQvBhl1xIjGG9PsSiXMX2XT9yopHNMy+1efaJYOBUy1EpbOBT8ahUascIByrOh30Upd3735eadBW3WVRCAYju62dIx1NUTEfbYurgKXx1H8WfWJKj/l9UPb5mZm9LsX/NP4HZ6I85Si0rpgow6V4Rw2Aue6hVuU2Zct91IucRMIwkRRU= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: FC+MUNaEmtIRzIv0ZJ/Q2i+mOlNbaWT39uibwintTJKD/4Qe3QjqsgAFRGkIeJH/n65ghTOj4lr/D45d42K59aKgfP5QKACQYW6Kc8PQO4tv1au45G2EffPJdYcaTOMtSEIrEsegHcFM9EkpTRsR+EiHbK/VfQaLMXOG/7lIJwVL9v8WMm20hXIkV9+Yc2JQPTmE2DzmSK0629NVR/uvRwpJM+mFU8tuAtBvSdLBgpB3scTNyRH2tilfYfit+RmCaNbBxDld5GMvBy9dGUliVopmBDM/726RfcQam1HABKcDgzmZBVoU4z+FrrN2+DwrbUv0wvGPi8AtgKlwu4nwCRkySG3ndtEusgQhCAOEnBZ0jVNM+dveaAsB/THXMTTNO+l0RyvixraRIAtdN98CMrdqiRG6emdf03P3kY5nXjP3PAl/HImSssS38ARSXxtPdBIBymdOvrMEIyumKH35ZVm9R7U9Y0X5HGFxSlEbqW4udq9YY2+EkWCW+sNDlEa6X+wChp8iF3jpNjdU3/Vro/NPG42BjjchZ+lA6MR3LccZYxtsAZHFLk+gyswOsVHFVZRwf68W62Rx4IRwO9VqAzan9XtLcWMIyzQ/3aAlEnsYRDQGjJ3ccFVT8y91djgCpSi0wRT0BXbuvKIA/Znnl5dtxcI+wKwaBEr/vO0RvftxQtNCEWonxJfp2oDs3mLhPLi/S03KoXVcggtBJ5uAlTCIOX7BbPu2IA9WAPACQmlN4evQei7rc5+pkW7nBHacG9FHId+WQLLiwAaRBMJzb3NkQez/NPUjhf4OSLBQxi7DyWzqs5+t0T1VOP94I44+jZszywhEOoRKyy7XIMLb1ALe4TYVrjdq1DzkwoCQSuDnpZgYwJZp2fj6fQP8GVOT6WQ3MiP7LOFQDOBA5xpSTowp7GG7IH+7Rld+hKlSFMf4PYsChn9ErvAof4+8CrpY9hOQZDKCgnvALcauStDCK6pSSMTVFwSD+D/yvq87CMMV8CDAu9wv0iMCGFilHNexsvpg3WUqYZdvf1jyCUIPoDGnd9kDfOUorIoUrehb1UX8KNaCq3o/18HUnWjKL4arCzDZlCbiONtQvageR2Wf/NSBhAV1/rUIcXEW6eunXXg3OuRgN9VpJME+Gzk8DUNBO8d4MtXuRUoRgOBlB2UD3W/dHxWZeRKE/s1Nw49nKF2pE6eIEdrSrgGQSGtnWii8fKqarEAL7YYi9jfCYZfVZl1PRL/IUSzNjUTfFvSDJ8fCG0H+IOxP0GNpYrZ8HsWA6ZfwGM9mT5L+fACFVu+JO47ehIq06UwvhDg7k8Anm6Y= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-18ccf.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 6f44441f-afc3-4ed8-fb85-08dd9d3f2b69 X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 16:54:39.8062 (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: PN0PR01MB7799 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 99ecf6c8e..f71500d1f 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 Tue May 27 16:43:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 892853 Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011032.outbound.protection.outlook.com [52.103.68.32]) (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 7E52028312F; Tue, 27 May 2025 16:54:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364892; cv=fail; b=QsOyDYq5dzuATr/zkVYfYzGeBQLM3ywb1PnMp9cbPSkjKP4c4Lt1utgLFXKqrGGaw5DpijAnEhdaCqIs59cU4pgVg/cxbGlF3RbBvfJW4SuFGGtpF0wsTqXv0aer966yeaj3xZPPF89Kn69VRDfsdA2p94hrGOZyILQwIhLo0Ug= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364892; c=relaxed/simple; bh=VWo2/pKRl475eHOeHQqG+78qcRANLAq8Kk0387IaDLM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=bpYKA8V7AWSBzNdo01z8dj4B5ThYlWG7UcK9VXDjTIlUf/RsXyt0aDZk+xksDxrtiVOJFAE3DolZd9JEiiunDzpNoyeAGSAoQ5TxiFRc3c/67mgTxT+AmiwgTbPuPbfWzyOZ0UeCImzMkZ1h88kwtjAcf+w/kZYJRU2a3eas9xk= 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=RV0RZUsl; arc=fail smtp.client-ip=52.103.68.32 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="RV0RZUsl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SW2RADy3Ap/WaCYYRt5tCQ/iSONbfiz7kApaowAc/1+/2uOYkFOdDgVe1dHE0mv9GjXISD4zNc/jdQxk1YwTGVK6elZ/tzntTDarXqUMegpm6xUYAZI5A1BRTjF1U+Dy1vwzdlWOO8NumXOwFnkfOSFh3ufWGKxM57J8cat7slOAHLdL8j91Q7dzbKKZvanl9DQq3QZBLrzp0wHhjMy9cg0CfSuwFtDFzluFC7Ha2IlOfthLl+I3mh4LHDxe2YrqWUXqadn52rwSGwc+b94g0YEeBWOmpAMdScXY7oR4A6acMzEePf4FJ/JEMV9/WyHF+bl/jyI725+m/8ZYwMr8yw== 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=v13E0JXPPtiDDbuJJ8tDxeHmRCiFlAoQxaIo5tKIM58=; b=tkGdteyzPXtZ1L9PeMj0mf9LDwdcCQysYOfF8sr/qNHs9Ke3b4t0lQK2LjPNpuQRRSQ39v7afeUdN2mQrWj8X2stQSOACiKuJTDuISmoyzzHWMr76BqjI5fOyNk5jUDroDPjzWZleo1VFzkWqGx9P0ebi2EU08Q8DzBWdeH5UC+dmX2+3Dj6C7UGh0LQMD5GxShSY8hN1fsHiDfqh1PkK1/8Y/WyxQI7y7d1bvkQ8tkRd1E9muMtPqHePkoMDLudE3Gttnb2CyWGXhdJ2DHM7ueLMci7YGnlSMq04uFJqBBwh2BXmE5fIOrls6AqHtHQS63gnZ43pRDBrJLv0kSLGw== 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=v13E0JXPPtiDDbuJJ8tDxeHmRCiFlAoQxaIo5tKIM58=; b=RV0RZUslYiuImAM/ZF8DASG+I0bRm8VOvwVQLw08gSVa+8By/61pfAL2PksgvqtOKziJkoKnVnkAY9XPHNsHpHVjmU1UnSErmycVn7gnCSLE7RmmTHuHS/5IMovjwkcK2Gavh7g3im+LH756B+HIyRP7JfdOAVGqZ0TXfd0O5Fa5a8IObsWl40h7YI0QU8JxD1+ro3EjJ3r6K1pWQa1m3gl54BDmPwpC5Zqj2BL0XcipceMg/xUp7nRFyUr/g58Ejh+2ol89Y65z1UPxRmnVp5hQ7/sRrIPof/hvkP3zFuovIDTEfr5bHctK4GZfMBoYK2xR8u6GRNqXPPaAoAs7lw== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB7799.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:b6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Tue, 27 May 2025 16:54: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.8769.025; Tue, 27 May 2025 16:54:41 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires Cc: Kerem Karabay , Linux Kernel Mailing List , Linux Input Mailing List Subject: [PATCH v3 4/5] HID: multitouch: specify that Apple Touch Bar is direct Date: Tue, 27 May 2025 22:13:16 +0530 Message-ID: X-Mailer: git-send-email @GIT_VERSION@ In-Reply-To: References: X-ClientProxiedBy: MAXPR01CA0109.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:5d::27) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <20250527165417.24165-5-gargaditya08@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_|PN0PR01MB7799:EE_ X-MS-Office365-Filtering-Correlation-Id: 104ca5e8-3821-4868-755d-08dd9d3f2c40 X-Microsoft-Antispam: BCL:0; ARA:14566002|8060799009|19110799006|15080799009|7092599006|5072599009|461199028|3412199025|440099028; X-Microsoft-Antispam-Message-Info: VL2z7O4oblp20Yda175Cwj3R4kn4Hr1IJrxq9xLusRQLz0aDA/L0+aENObwESyRoJK0NPEiS3f+iPcjAY5E/oZdEX/QU8AcnW1Jfx5olvgcPx+9MaTVvHPJzPpH7v9UVoTmLyIOW9spt2RCNZQjyunvJ2be8tzGxN4WqGNdNz/7s3x41atZGWp8T3CmZsvvm9UXq/p5aefOYyxxuIs8BHoIMI22LMtoT/ZgDCy1qdhrOkNDt2Fpo8sbelqFH31lK8jCSQWoNL2SQhxW1i5MceVeVi92GnmuIDQrc9QRTpMPjpShok2PC6BbPEjlQyy2PmCVwjUP2ItZrmjbtXk9jO02Cjlh2XVRJBwrBdJiwaEtE0eGdbMZPHXv0HOhAerFlNAZJWUJlF/Ak8JkSm1eVA/LAzg1MSUZReaJlHCOWHlbdnqa2COZXWHAVjcpC9D5GB3DQaTpQSlf8G3LGhQUtYsi7mkkCI1JexfuKTbZDgB3FJy8CJ9FQjbC/a3Eb7nmQFZtlyraSIqL5gC7nZiTswZIY6NW0Zt5pJaOUjcfZtVpnjQ3/xbUXj7PMvsUB5H1MQe95l4vcKdOBzuQmh97yuj9GC9tHSLVKKOQSUHpd6wY0bFw++2okdgX+r9ac46WE9YBtM25WhgAuJRtW+89E/eZBjQFC/e0L4hgSGOgRfO1k3k9FU04q7ZhV1JpxhOEyLWrFyFc/hyavmBG5zAkElmXctA7cBrZ8yVTAsaifL4MzDH7ZPprbUo7jTINXwbm2rvS3zaH9UB8efJZ7jzEZ/seOG+LH3MH8Qlcrt6VM6rMw51oFbR7AjfZiH2oRgwCmXRsm7V0P/HLCrIewJ2VI5sEZ7lrQl7mx3Iy5o4uAuA6IHpfiJMI/S0HCNAlIY72qUgWTNhKNEy/J8MUPfl2aaj4LZF1Q272/kK2XWkVd35Dnys7dMvbRlvw/OeNQg4JP3YsU8H4qec0YmOmQ+1nn9k/lzM2tH+xbi9nF59EsfQObZlP4PUCS8Votdahm6jViRucCYi91yQsfEHiQzwXpNHpc+UZ8OPavNXHxOI3hPMuVI35m1F8c0IhIYXPO4p8JpmdgMvKUuIXhHrHVCB3GgU8JN67qmqpjzqoo2s/qq+4= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2cLPHx8stZ5jYptKVAY1vb16B3je1b9metLK+CQh+Wh75Bwm5UJQ2Fk9NIbL6ofOrPEIsKnLlj4mQXwAAWwoTUN9EfE4e9zktmJ/ZOTBfSqLt7pLWStgxToXogdrcL/ADhYzb2q+GRQozCdqUhWE6AB8/tWCRs5Sq9BYS1JTwDGO8+NLm++cm4MsaEujkqlIF0M2DXfglj1hJ5XGgccX107T3DMElRbMFk+z8LeTWvV/Nga4+hPrjYLSF8s6wcfbSVLCFkPET2qmRRpk9y6J8COt6/JCUnTE8AXPjtrC92sqarcfg/SldbBWPMNkXq4x9RoQAWX5UguYwoRS6xG7zkV+RgF64v4eHvyOTuRkI3YS21NOs00avUAzwYwQYKxU1Oz4wOnf2IMiRMSPZB3mZ3MqLHpKoJ3CLay8xUHmWZ8M6XoKvs9BZJGkTEq8PcxlCdQrreNPO23ilvYgO7xQIpm3faM6bbEOkXbS02Q16UFkKv1XEketJ1D8TCBfZHC3+nX9qPWQH5ogOpyyg6+9yC6rL8KJ2pkbO2eeqo1GZaIwmvrQYNi2HTWAb6AvP06xD3v7RE9CZ8YxmkFLCOTgCZ1UZGeRXG0JsZDQPg7UeiKSleqMTci1XabZaYxxG+UUrwvfo6oKIBSaQ2E6KEsIEff5reCaVCdvfqfj5DFkWE+i8574lFaWU4XMk35BiPqX3hh2bLSX/J8HEbYyXul95lpXV/daRdrNKQSnwyTCACJxO76wp+mCVWWRfEgjkpGU6/KumlX9dizlJoiKI7K9bRh84VkyzWKFM7aTPu9PQC4J2B7WIjE3mbmeBhBebk8k0ISh/1tXdKNRbs1zEUgQWesZBNHN6Nw7jPigH+YoDgQRuXpYFimWn1UXgLenIwE52iLrDYdSziBJseetJEgZ+wNdQRmpG4BHUvWNO9ELpgv+f7hYL/WlCI08OSl7jQt8BnYDyK5HrKw9iIUBpo51VtCELfDjwGQbsPX/r44OknToI6ZFk1Cm3s9mb5PUQ7SqluoIXltjBkSLoXBN2Clf2ev46tehMD/oZuZRzwzilmWHAX2gqhltnQDFsl8/v3o47BOF0zLRrrn/knaOFhZ+5JW0FFViJpph2SLgcxTNZQ52xwYgYl2KlxPU8pWjlxjoPY0YwZGLMQ8UvzTieP7oUqo+D5nFWzJnbnduxU2qK3W2O0nONe3VPsrUDiBFfV7Nuq3Exg+unRm/HfNHYr5Uf+5hw98MRXj5K/fmD53xQZ+KibiTdvBE+pW92w5GqpE9oB4JeKUo/DBRkoFSTPja/mGP/6k47yLp6jFBaBr/PKE= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-18ccf.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 104ca5e8-3821-4868-755d-08dd9d3f2c40 X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 16:54:41.1754 (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: PN0PR01MB7799 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 f71500d1f..81c02138f 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 Tue May 27 16:43:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 893047 Received: from PNZPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19011032.outbound.protection.outlook.com [52.103.68.32]) (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 7C26D283FD2; Tue, 27 May 2025 16:54:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364894; cv=fail; b=trwnhosCZ6Zvl7zIEogi+qgUZzxZRYMOdE4+CKMZELMy3+WmtrPYmbm+MCPPd8TapQKlZ0POPu+0liG0ywj6YZroZhWe6E6nhyIXipXetr1Kxqr7wuv3HKGj2fKPl45U/NKhe7/FBVeHiDaBrRdRma2cEjzx/37MkUXh3atabkI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748364894; c=relaxed/simple; bh=5FBbF0iZK6CBds/IbZvEvcRyjXM9iTAjuJ6W71u8zEY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=bknq+wJTzaklQ2J6cgAs6yNGWjyo+SI3PFI3/z1BZo2JMdiqODC8eyKaoW7oHwhRjQP+iKkfHo+XfRDMxUxLDuVVg9fP3pIi1L8+oDgziv3DHDrCimfSQop0mNoAk36+EhjcBbLjPfILk7aFyC5XkyxgeDz+9PCu8epdsxPemNY= 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=IxXnceBs; arc=fail smtp.client-ip=52.103.68.32 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="IxXnceBs" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qEAmEfq38kGczn+w1mn/PSlWFDf4+iJvjmQt1Td19sRR+CCDRp7jcs2QP2LfEfDN4Q7xGHzdfMe8m7Lw8V+HSxwHX0+uO6qs35Y5s6Ap8BAK2CCzrGfECFOdn/QORS9KPrvQI1520TvVrPTzCYs4FUK5scTk6p+3v1TG5RaT/DEPQDlatu8Fkpzy5n1CwXVdtqBeiLtmPUbi5b6OBDAZ5wLC2UgVJQbyrJnxEnSvc4rX8mWNg6JpXw2Qgc4gmC9rMIIoMP5UdMGDVNad03dFexv3AVgm2Y3tsxDRsHZR/HgQ8s7Lisnu9Gcs/99XBdB5qEKnTfjnEiu7Bvh41OJKEg== 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=9iOPsGbGQJUQdavfQJXSvUDnbYK0WIC1lX0NKCy2ZrA=; b=KOZrDANv+d31fidkfiHHIk7DPa+CA+iMT8H/eADyc5VLRGpfzOKWk++19QnSW45xbhooK0F0uv8R/XfAeCTZ+J1zxst9i/3+PJTF7dEix+5Id7PwTxqB6MrOeQm9kSB0OEOwo6CxpTNNkMnQIwRkM/IkyWklceEUEAjGWmVeWk1FB37i3MD5O1T/9zWPdc8RA7Gm37/0GTcIJ5cvpLiS8sXCxISFe1X4gskl928bdRy20NHjRFYkq0xYEhuElMBYEmRKk5PvuhEiKNSH6und5vCE8Z5Ea5mDh1zgHZ46/uGhvsQtsEYs29a/2j55xmHthxFKegRwJPKnlDnGBhmLgg== 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=9iOPsGbGQJUQdavfQJXSvUDnbYK0WIC1lX0NKCy2ZrA=; b=IxXnceBsLI6nICZN9mNe015GW+pjqBHvTQWwBsbg/ljPWJQ1pleRnrv7CcGnxLEo/mUJRlMj8CbOfRF2nO6CGaHiT909aLmGaPFXM1ltMWvKatw1KBVHmPb+LChyx6NxW/MqBU+yyNtyb8MIwRPoempSFwIPbWqZPnbZegpsyZ4PG4W7GFKL2v1fvAY5qwEe7PyciSOV4DBa2fARLIW67FeG3dGHamklAkDT5uBjREAL1M0osyUuWHo7EXTpMEgrYDG9s/m/aWohh5zGAJNKj3+yk19Ko4Mp+fAIRuIh+xb8MP9bdgDLVzGJiY2S55q+q3n8UJ65k6isPIltGXMV3A== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB7799.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:b6::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.29; Tue, 27 May 2025 16:54:42 +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.8769.025; Tue, 27 May 2025 16:54:42 +0000 From: Aditya Garg To: Jiri Kosina , Jiri Kosina , Benjamin Tissoires Cc: Kerem Karabay , Linux Kernel Mailing List , Linux Input Mailing List Subject: [PATCH v3 5/5] HID: multitouch: add device ID for Apple Touch Bar Date: Tue, 27 May 2025 22:13:17 +0530 Message-ID: X-Mailer: git-send-email @GIT_VERSION@ In-Reply-To: References: X-ClientProxiedBy: MAXPR01CA0109.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:5d::27) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <20250527165417.24165-6-gargaditya08@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_|PN0PR01MB7799:EE_ X-MS-Office365-Filtering-Correlation-Id: 34cd052c-4245-4c90-5970-08dd9d3f2d21 X-Microsoft-Antispam: BCL:0; ARA:14566002|41001999006|8060799009|19110799006|15080799009|7092599006|5072599009|461199028|3412199025|440099028; X-Microsoft-Antispam-Message-Info: YfGdAvRW0ti1R3NgsiH1tPgXiF+oalPRXtaZFVjzMcBeJinEmd4/iKPJT8V0NwyorhdGmm1QHbpkwPvq5HGGyq6S8Ko9CMQh0Xi1bv6SkhHfnBpzN/XTMxUdWA/9E+z+fPnz5LiK5w/Kercbh5iVYBBfyYkWjiFVPyM1rC0jQw2HMGslAg8EI60TxOF9T2Y+bSHpvgVZOcahVFWOudKc2vdUPmcXfmnftUHyQJbjsMOKUq9/oo7V/cwVYXlSl2gv9txC3F44llXOU3CbSQyGTQohc1kRx6cef6HQYkxoyrXYHMTXfDi0zsY2O7WmAtlcb56bUMEvDXoh7u52Aaq0UTqFCkmXSxv5XU3WJFm2+7edy/BGzcZF6qTeNpzlFN1EjjAvFdPHbUhdiX/FOcHYTy6cVol2LvSzJDCpDHy4Q7gJ2/MROWdx1ZDtHEKOBmnkyHZvjf5c9lRvtqagidlk+mekZJGkVPAWpM4QPHhk3/v8sEu+JJe/zKmeH7EGZoGspCn8UBVpm6shpvJwHXkhwFA0pJ2unZr+B+bvDTum68z0A+Uj/kikbdkcukYGOZcXU9iVjhLCbIB0ZPfmYtugoKHg536oncY1aYd6d+Ycxo71f8emFGXy3e++C4mas4UVp/uDWL85aJr7s16T9yF/s2/hZ2DvBcvpQeSjvTy485IIpzJsQ80h7rFlO0FCtTCXF1nOe8pEqO8PNwRiLczM9WqMw7s8dpw8eJKGA0G1Yt9e2/yU26LbQWDhlxo6lR6agmiWshGsOvQo+T4yHYAD9mVM4ZUWLhjS1Im5paVkWIEsQt0WMOgwrGm1CdZ7ym7l2lQs5EWn2neBdmPpm6VYUEv1v2cQDmPaGtcByfbyLJgAjNVTFiOj3shdGSq9p9gL5KOxmQPK9EqZLTHPHQI2kjg0/bk/1Ux4sIf/4HhLjU4cqR/NhOH97gOh0ZfbrEvcaITMtVe8IV9FAWyQyhMxnJO14HYWH3veGLUheXQCvD0fI7q0GLrOqKR+VbIRUd2V+erPAgZuoHJSMQCaHQUsAcZN5W8fSUsIL9UKyP+Q6vKC20CYs3eY2qx8cWfNFNM7sVSUqzu7AINx9E1lYNyjpSc8eIS2uEt3jMzL3WyViALjRZbSZ8KlgY0m86z6pDMh+o6PzyWUWO8g23tYofMZOw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: h7/Z+QgDXAVuiRWiAmA4y+JFB8SLGOdHbQefrS8oZSUCS5YNZ1qLTV6OTqfFoGF5MD9HXc77DjLZFDm/CxQ3MBxGwuA8EFUXPxkWhha+FLgKJhlRASgbM5+gZ3/FnU9C4/054QPx5wCnkpbyEsOdhPH62SOaa2uawnu0r3QWglJ5bZSe7jJNuGBINFACIx88fFGEjJeiKbBUQuHCqLGdnsvMRhyG6TwXxk71xAmkdAeJwueHqYWklluVgKEEDNI1B3E1WNQ+Z+x2z3P+7Ki/8A0XAOpdmqI1IXoN0X06XYFjfpU/QUHXitC+Y5wKc8ym+4pi+PEPGmjMjO8+KDLSNlr8J44QcSlpobu8wl3iIOCEGsdvxTwXULLEGhyprwRx3XwJEnls5uf/oGpR9Z+3pDRNurJPR4AUZ83ivEgVSr2ojrOZEWBlnbteIN+SbnSnjIQwFnAtWO/VXCUsoc3kDf9yZYBaB9jQT28b2LSU4+a84drX99vn91TqTfXBfBB3PqqHu1CcJ5W8cIfMRXGSKV+lNWHFCx8IviItCnYLAf9Qo+3Y3yST5BazgMNmfMmYHG0btZTROCHmZE3gzEFRyMKOyvjWMRuhLD7yal8cxZQ75IUUF5TtAdUG85J37OlN8UAgWU45VUYtUrfWItiRwML3KL1/TS0v06M7oOIFQJtUoUiZRgl+e89+ZkL8rnplZSk1zjaihcEzFVfbC6L7+gipvkhrWHkda/CxLEWTiDFW6tglT/A34d3uCviIWm16KkKAkH/M94QiOuAl2r1za+j4Kr/ydhXgP5K/dVKjdfqkfKr3KK0bD59Xy4etfktgwb96axc/GxaLcM3PdCgcWa/lUCWJuykwX48yffYmiMpkKjWt+iCQFmdVl7v0EH5txlHOP1LdQi0dHHHxNZghEK/p2j0UrbP5IfHuzckfL6smgeRYzGu0ef6N4VSH7jQu6RP5NcXnLAcFX4CaKqlvOyV2b9ux4+/DrP7yZtXz30pXq4KEGSR298G390p38gbhZUF0hmuxF1/ltBJ5N8akC2f5oz+YEQs6JUDgzoQuDgAhPETQbG49ABfBxdaB9FzHu1EH69zSVdcOsUMD4D255CQqoisOrJ61qKWF+TfQlNUADanev1izimX26Xj1kLR+F6j/3tsKnJ2OwKqbA69AN0HBfbghqxDEZN2rHX8I5MmW1yFpCEuoUa/duCFJlHEsca62Io3FUDPTsUuY6V26lwM/h4GEjhBFQ+yqFXDqjmvpKWgON3PSHHmer3UoCvXxBv7NGSOanE4kM2Z/RduZ7I+DJejj2bd8EbBhQ1ToSxQ= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-18ccf.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 34cd052c-4245-4c90-5970-08dd9d3f2d21 X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 16:54:42.6278 (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: PN0PR01MB7799 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 81c02138f..a1b251ea6 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,