From patchwork Sat Mar 29 09:36: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: 14032641 X-Patchwork-Delegate: jikos@jikos.cz Received: from PNYPR01CU001.outbound.protection.outlook.com (mail-centralindiaazolkn19010004.outbound.protection.outlook.com [52.103.68.4]) (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 44918188A3B; Sat, 29 Mar 2025 09:36:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.103.68.4 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743240982; cv=fail; b=XNJSYExDHg0lHKAANV7nVmDKJ3phDAs6XPSuMWERyIw/NFic7RLAxM2OdZGc9AW9605Yw2pN9+Wr6o7sJfMdZEpT8mOqYNoaXr5DahogQk8SEImnM04HyqXWyv4V96iWAsLZs9ohzIUQML/oJBm/0YwsIPlTq+DooVaqAaBBAaU= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1743240982; c=relaxed/simple; bh=b37/FPgu82P/p+dt7dm6jL8PHu/l3c16LCQ7H8Wt1xs=; h=Message-ID:Date:Subject:From:To:Cc:References:In-Reply-To: Content-Type:MIME-Version; b=em1kFQGUhhixYPTOymm3kukLtR5len/Tq/BsA1xpSJ7p0yadw3TW2KNbCexOlM1f7O7A7gF6890zaJAL2qhKL63HL0orAPe2tkjKbpv/lwcwCv+JAF5G78rLJ2KWUday9PEZufvs4vs6n9Wcce9X9/T8/IYXeLN6QUOduRCuVEs= 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=S5PKz1Qa; arc=fail smtp.client-ip=52.103.68.4 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="S5PKz1Qa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=q9s7hOwtP/DBvnSGqMvHzqHyBk+KCv9D1vIBwgvrhscyWGMc3uX5N1bC2ojRAs3f2LGTF8zDtMx5UjRceR86SQAZBpqeeTs5vMc9b3izCYUfNCAk8cWYj+9fRnOXfLNvBh/fO+XCjXeWxRW9huD6VOwrcfULIik/T994LR4KtEvA9QtEujM4H/YxJsv3Kig+EK0X1ThD8hKTbYLY3iLYS7LJIp4vJtmRAB2gaLxl2Hu2aS4SRaawkcJjLA8EiS5PhVgAM6YFRYacxJEq+iIe3jIlKjDZeVoNUO8FlHhZEWd932HZPOIHfZgS+2sH5QPcvs3gl4bX57JhkjTKrLeWeg== 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=MNC7MN9Y10OcKnn4KzodRFpVn3mMlPo87kxfSqxr340=; b=tKaGRjCO7nAZyxyxazqh4X5RSox9/37tGj5BqXGhouX7mekOr7mh1TKj0P6nUw7H3l0eooNnaxofH1AB35QafJ74CNwJMvfxzVIo4kj4JJTPVEk1tQsek88dxdX4DrJZW8StJVVTPChD5xQTbywlmMdSRqI7ZLgSwf0DHsScM4IL0R924Aq46bonIyhjhEBXuCMXfXAd2XEwhebZ8JACWrnM5IoZoybx6yrhSaTtp/x3TwxpKDg0ublZFEkGx/MUt5xgU3qUbt5if+tASVNwTSc52bMzgfdw/7fxDt7klYK/Jzaag+C7z1i4Z8QxLFB3XxAiJBa7aN/a8Oky6MrEMg== 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=MNC7MN9Y10OcKnn4KzodRFpVn3mMlPo87kxfSqxr340=; b=S5PKz1QabOkubUPB4JPQZiNhZigNEjJLVMubSSRdoCJ+vleouYv7z7V7XxswJm5s1glWao3UwXpuEkVk0NJKVqsW1h87KDxFnmZJUl5NmMdZZzZjKlQ/G6YEya1F5YwUzkU4dWZALvP2hk+9mIMka6bL48t9GSy3RfOLoevlgzM3G9UyppIK8sP2TEPAFJn0UyuaGb5NNgEhF7Re9GsNiiR9RoX+shhw6jgWBBOIhXLvT8/G0sm4g3hHMtv2T0nYOIWc0jG7rzS7uVshTV1uysp+OOuL9FTsou6AMysXTrjPMmpM83Ea8K5xKcKwL8b6HWcZ+EfDR8FrOkh7ezYO+Q== Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) by PN0PR01MB10042.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:1e9::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8583.27; Sat, 29 Mar 2025 09:36:15 +0000 Received: from PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77]) by PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM ([fe80::324:c085:10c8:4e77%7]) with mapi id 15.20.8583.028; Sat, 29 Mar 2025 09:36:15 +0000 Message-ID: Date: Sat, 29 Mar 2025 15:06:13 +0530 User-Agent: Mozilla Thunderbird Subject: [PATCH v5 4/5] HID: apple: Add Apple Magic Keyboard A3118 USB-C support From: Aditya Garg To: jikos@kernel.org, jkosina@suse.com, bentiss@kernel.org, benjamin.tissoires@redhat.com Cc: g.sokol99@g-sokol.info, linux-kernel@vger.kernel.org, linux-input@vger.kernel.org References: Content-Language: en-US In-Reply-To: X-ClientProxiedBy: PN2PR01CA0252.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:21a::11) To PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:f7::14) X-Microsoft-Original-Message-ID: <8f924e4b-6d8e-418d-8cc7-e723d19ea7cd@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_|PN0PR01MB10042:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e7dca9d-c98f-4136-c3e3-08dd6ea526cb X-Microsoft-Antispam: BCL:0;ARA:14566002|19110799003|8060799006|15080799006|7092599003|461199028|6090799003|5072599009|3412199025|440099028; X-Microsoft-Antispam-Message-Info: =?utf-8?q?3Bt6TLiMKsTJj0vDQr8w1zjsMRUwIez?= =?utf-8?q?ngliMgaMYz0z/21HPkiOQ3ReQz1xcHo0kUb5u0Wcp2dKjscvlFZGFuZkhDdkAMikg?= =?utf-8?q?jvVEdD/H9Sigxhepcun2NiXgv2K+mq8t5BePq8tcbUJS2x1uwaHsaAmeS1BXs8t9t?= =?utf-8?q?L5gyu3HRuh77SE1QFJbOTemK5Xo6zcs36LK4D8AZOQY0ZNuMnVzuxPBTwVytc/lde?= =?utf-8?q?QDnSdunpXMinNdYLZWaVakaVX7PGaA1tR5TBkQNulp25WTT8r/bUx9YSIn3uRdpVP?= =?utf-8?q?7/cXehwI/TVq+KXhyMQnGjZKiFInpo90L4J93bib0cuYHbwTrgUJINe0YFigaOole?= =?utf-8?q?PFgC8rErymJodIo/w0V8yq+1ENuEW56477oAtxzgASQiT3TGThXtSP1/7A7JtwLVa?= =?utf-8?q?D+5fT/P+2+VT+LAalEdME2x0icxAX66z+c1mECweL57NMEsFKkm99B0kmZ5NQ7Vht?= =?utf-8?q?7CwYKirh8Od6OFvt7Xp9jSY5DixF6TN03IpjSMKuXtElwMeKo1NoS1PZSn90dMXLN?= =?utf-8?q?snEWr5zgQSklHa5y/Wy5F5lfJemqchg25Q7eBHIOaXHtQmHXxlRI3hwRiD7YGfMmV?= =?utf-8?q?zr/kGW+1/Sq9aSpHfe6K1N6VEq36Zg0kRMbr1z+qAWLf1KqPTzA+nCLiFG8GWPS7i?= =?utf-8?q?zhBmZY+HwttPloCKIoq5xHBNwK+uTn042qsjBE6so56Jl9Evk6CGaLWG283pcLUgB?= =?utf-8?q?KHrAWgGIFJVCmi1vaUH35uB4LPK03p+0dTI3l3lXxeWeVDIDd9dVhj2zNcwTCj3xR?= =?utf-8?q?zg6flEwSVv/ZOalnWZ7cQFRhHiKtyg1UqOjZlTtdBKXK7e4x8cClJuOh419e35/b7?= =?utf-8?q?OX3drJqs8wHiU4TiNspoIU577CqZ8Hdfv1zsNZd2SaQXv2v/TmrYkV/3MTG9D2T+A?= =?utf-8?q?DFGglgDptWzhTDqWHuhFECopZ9rmfwJSIOZnJvYxcCDGf4/g/uKLvWEt5eUMs58Hp?= =?utf-8?q?ztSFA44hymIf3pxPjOEE7hUFwhUaDuIJoqCNqRU+6wFrYtfe3FMA0/CX15fecsh2L?= =?utf-8?q?yLBqSMd8fTA8/MZ9+FBXuKzpF+b7P5bFuDuzgTgAh2afUZurG2JATqgHws580Hecb?= =?utf-8?q?kXAxexCa/ueLRuinIBaSBpEftAmxhtR0+Vmlig=3D=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?0WfunPNSTpg+ep3eZVszb1tLWgsd?= =?utf-8?q?9CR5hbr0Sma74g4YXXoXLzvMVt/Y9/z12jXBraKlm+T7XMniN4fg33sBQYSatPruy?= =?utf-8?q?TML+Tq3h/oLCKMni3eRfOmsCOzbjRO31y8dxhdQK9KqSK73Q02/suwUsUMs5VI4KX?= =?utf-8?q?DWYWWy2AT6cMr0g040Evo4aUT1gt10SSzuKltb9D5G/ke+/e2FzVy3agu4IxtaG9k?= =?utf-8?q?vBSaREgQqiXO0iH6uUx3gDyrpPsrFU3o+sPvsTrkOw1ksWCT2aOqtJs7ncokpYFdl?= =?utf-8?q?43E+4uMrPtxbNNQ0wzatmPekJ/E3a11+tfhkFHTghiMEQ+4my2rmpiCX5fu6Lu9lj?= =?utf-8?q?GbjOhOv6JRK9u7af1fcgHp6+EeiZPkqElksQW39Kn+WZ+Ff/G7yt9o3x18P/zZpIv?= =?utf-8?q?/lnJGaCplzvWD91aTIyGDUfmcUsRxqa75AWaKn8/3QPD81g8cVsDxjKXl9bBdqfkY?= =?utf-8?q?NySrBZ1st7blxCjlhkMh+8B14EzVkGnUlTNheszWqZM9xP5VwdZc5tXwvK3HxzQZ2?= =?utf-8?q?OOJNUhtHynHN+gMCSsLOtHW62aTITxbQQyEyVlRy6nygIMFYbuU5VRe9eSl0gtqF3?= =?utf-8?q?9eTn0YhYsoCyPtZ6QDuLGyNFCv+9RnFv4YqlXTYbQ5RFBno09zdf65mnIvukus2y7?= =?utf-8?q?hTNdeo1QOc2l0y0jBmZmD5ljgW8yiUz0z3vxfkY8APaJURVYcX336pV7qomXFDNO8?= =?utf-8?q?hIJ/BzoQrWIb9qENq9cPtSAc7AqUP6vtX7nQOagO6l9zsQUeptqiQscgbqfKUPo7N?= =?utf-8?q?UEYdYR9SaqC2W8smyPsIRQmFcbqvzcVo2/ThzM/95IsQPlPP6tgDZKQaIV8l5Qh9R?= =?utf-8?q?aPez0tDztmmh9AZN6kqUONxqPdi9g6jZsFgLbdZ3HtrCgQOQOCfX6fucWmGfwHQN2?= =?utf-8?q?lFpw5fV+42GM5FQ/I32azMsRlOXg7tJ3c6AUpSNh9ePMQnSHC8M3ZRh9mAQqMbivR?= =?utf-8?q?ZzVjPoOs/lXEslquDfW6Nw1UheVI1iZ+fRpURUrS+naIcH4eJkt4kwYWTd0GmupmU?= =?utf-8?q?1aS+euP3tz5jvLu5j8dVJAlWgKfxwGpQNozdhfTdW6GZ7qsPXl/i8u0JCe4mZG6KG?= =?utf-8?q?emtuO1WsRNqphAyKXwH/yNaHwGkUz6H1VmQTL/vmtsfXZJrawdWYiSmsIa0rdttbg?= =?utf-8?q?pkiHoW0rYEQMUzATaZKeyxwEdp4oYtalNTseASYVE3ShZoYqTFNIuGbNpcY594WjM?= =?utf-8?q?EAZvuwfB3GM+InVBAzDoyzskUK+NZnGvh3wEpuGByOfVAi68oRnelJ/cfpr7DX1EJ?= =?utf-8?q?1EuKCOsnldH/byf2?= X-OriginatorOrg: sct-15-20-7719-20-msonline-outlook-ae5c4.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 0e7dca9d-c98f-4136-c3e3-08dd6ea526cb X-MS-Exchange-CrossTenant-AuthSource: PN3PR01MB9597.INDPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2025 09:36:15.8081 (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: PN0PR01MB10042 From: Grigorii Sokolik Add Apple Magic Keyboard 2024 with Touch ID device ID (05ac:0321) to those recognized by the hid-apple driver. Keyboard is otherwise compatible with the existing implementation for its earlier 2021 model. Signed-off-by: Grigorii Sokolik Co-developed-by: Aditya Garg Signed-off-by: Aditya Garg --- drivers/hid/hid-apple.c | 21 +++++++++++++-------- drivers/hid/hid-ids.h | 9 +++++---- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index fde438bee..e95a54113 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c @@ -165,7 +165,7 @@ static const struct apple_key_translation magic_keyboard_2015_fn_keys[] = { { } }; -static const struct apple_key_translation apple2021_fn_keys[] = { +static const struct apple_key_translation magic_keyboard_2021_and_2024_fn_keys[] = { { KEY_BACKSPACE, KEY_DELETE }, { KEY_ENTER, KEY_INSERT }, { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY }, @@ -482,10 +482,11 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, table = magic_keyboard_2015_fn_keys; break; case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021: - case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024: case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021: case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021: - table = apple2021_fn_keys; + case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024: + case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2024: + table = magic_keyboard_2021_and_2024_fn_keys; break; case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132: case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J213: @@ -690,7 +691,7 @@ static void apple_setup_input(struct input_dev *input) apple_setup_key_translation(input, apple_iso_keyboard); apple_setup_key_translation(input, magic_keyboard_alu_fn_keys); apple_setup_key_translation(input, magic_keyboard_2015_fn_keys); - apple_setup_key_translation(input, apple2021_fn_keys); + apple_setup_key_translation(input, magic_keyboard_2021_and_2024_fn_keys); apple_setup_key_translation(input, macbookpro_no_esc_fn_keys); apple_setup_key_translation(input, macbookpro_dedicated_esc_fn_keys); } @@ -1165,10 +1166,6 @@ static const struct hid_device_id apple_devices[] = { .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY }, { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021), .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK }, - { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024), - .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY }, - { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024), - .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021), .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY }, { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021), @@ -1177,6 +1174,14 @@ static const struct hid_device_id apple_devices[] = { .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY }, { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021), .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024), + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY }, + { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024), + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2024), + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK | APPLE_RDESC_BATTERY }, + { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2024), + .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT), .driver_data = APPLE_MAGIC_BACKLIGHT }, diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 288a2b864..8682e1b11 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -162,6 +162,11 @@ #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_JIS 0x0257 #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2015 0x0267 #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2015 0x026c +#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021 0x029c +#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 0x029a +#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021 0x029f +#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024 0x0320 +#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2024 0x0321 #define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI 0x0290 #define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO 0x0291 #define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS 0x0292 @@ -183,10 +188,6 @@ #define USB_DEVICE_ID_APPLE_IRCONTROL3 0x8241 #define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242 #define USB_DEVICE_ID_APPLE_IRCONTROL5 0x8243 -#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021 0x029c -#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024 0x0320 -#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 0x029a -#define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021 0x029f #define USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT 0x8102 #define USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY 0x8302