From patchwork Tue Mar 25 11:05:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14028347 X-Patchwork-Delegate: jikos@jikos.cz Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6DD082566EE; Tue, 25 Mar 2025 11:08:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900893; cv=none; b=LysOdEASwBRkuDk17A7M+XHBKiAoWG3TmlPLxZznyF8MAQMo0oKhygjv4QiuAw6LxuH7V/sFPseQ/j+Axzzd+kWI5o3bX151PuZky4L3HHVi8tXz7e+/Vy9norXxIY6TzZd68IvcPMjv5wdJ/UU5gsfSDehEIGlgzGiw9gYGaTE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900893; c=relaxed/simple; bh=Dw+fYQ8ICtK3GHaI2BfzIfiP6RgOGIwBHKH8+SCDsPM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rwBHGkFQi1B9bQ7MtzJkSFpuHiAKzDv+ZlRHtZ8omTXuyCDUTsX1iK9cwqo2TcsrEj7kNGR2SRbUKuhiWKE2fJpb2oBmVZl5hc3Ctg6zRN1NXgQgXhwmc6O0LBPI0kdvi/tqwLlbwZB0XTtYFgKUGabzC36sxuQdZ7AshUnguIo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lY1mCGKl; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lY1mCGKl" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-224100e9a5cso104343255ad.2; Tue, 25 Mar 2025 04:08:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742900891; x=1743505691; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OsDB8xid94rpoG1NCkWeFF6azdqml4lQDa8tqLtmM+0=; b=lY1mCGKl2k6/JamtDX5KxzPzl2NrVcDRBAGA7F58VtJ05P8eR+NSbiLhM3JDBU4EWU 0L2+1wekue5jXyW5CaoNT/SrDT3V+A6KGBi09SLM/BwPh/ZQL8TgHcI2veo0otko+pxz y73x8QrtbRN+LPs7yBeDQZB4ctMixmWTkPm/vTtb/aZqpi7AdsihiOcB7e4UqUhpfsl0 ATQMNlCsWU1PL9157wCbeYQyx6sV41ZSrn9+HXMJFIWuL0TaSAZvev/kRFSXNFQpFLYX uRiN21R5Vp7l0peB9F4NmGwBQ44Ltc1m3AFkaXkLhOYSsMdceISyuWtVBg2z1nfP43jJ Se5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742900891; x=1743505691; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OsDB8xid94rpoG1NCkWeFF6azdqml4lQDa8tqLtmM+0=; b=CEH1sGRSffrG3Pt7GEA+XFHeF6Ve6RUYCvV9jWXZOvyvoLQXqd19NaxfZxN9iSb+BW rZ9qRkYbRhZBNnMCM/kWW3QTZOrKJtxWjhrEBSc7qHi3E6r7E3xKgBwvpe4DijGsKrLf namfA92EQqVIhlTmu5N+bOFVu2B3If6dOJmnwodztGVZZ2vlwlgjphVWDEuYk/ORdXmW o+r6Spo2lOTvAA52ZGmvPczpGvm3bCAZIrpZMG8ebjpeh+fywWBR/Oz7lO+1HKIYmCy0 IfaRm66TACDpXDlzsDM1bfBz/udh7Nnh2/1wkd3ZFza5B0HuqJdsIjPX5NRi1iCHqjFQ zerQ== X-Forwarded-Encrypted: i=1; AJvYcCVsZmUk/HPB32oZ7DhfWDrWHcE8QayXYlwpPTiK0XLLR3bC2RTu/T8IweoEeTaVQr72jwWc1pvfiVnxDncE@vger.kernel.org, AJvYcCXKkzh37J5ItOaYZGR+L4iJNmy4tP7xTAc1SjBkdrn3yU3WSreX2b9So5HkrnySgl9UJ6QwBYOBGXfFZA==@vger.kernel.org X-Gm-Message-State: AOJu0YzZ7foQ+Oukpc1EA8JjrFWTZdoQ7m9SeA+0gq6lbacsdQ6nihef 9v7FWz35MgkCxt/3nhT5ix7IDRggpL46nqA27GVn493HZFhG3dLI X-Gm-Gg: ASbGncts9u3cqAeXlIneFisQW8Jt/Pg+zAaA+++XMEG9lcHC8UvxLFalL+LXZKPeSEc NHW1HGO3z3iv/koVhNWVTeCH+ShHhqnH1R87olxcRzSvqL4G6Y3/tCtkwl0cC6lhI0ClNTkzF21 ghA230mPcurjBpScHTFLmECYTZSGaNXsnb+wIrw5Oi6NXq5awfS3aA4ZmDFCnizqWc2gLe0dQR7 CburBjF71/l2lWJ+XW4JjBlBpex+RXwozAfChpkKVtpeW66n7Iqbbh363GRolpjX81iY6iwx7dd EAiYOGCFZfO4Ipy2ViFDLK57EQnyTFX2mfwstlCr+36uAQZjtqHR33LZ39ypxMnRR7Ox+a1T+sx cAaBdmUoKVuIm8YlfSQb6jv/MybBYMxX8oPns2nVjHI7iww== X-Google-Smtp-Source: AGHT+IHc+ZII8EOEW0S7Jo/xArzooNn8yY9wrMSuWQcSDMAJuNffQ/NnlM6qPF04UZDE1TJnzwjsbw== X-Received: by 2002:a05:6a00:14c4:b0:737:6d4b:f5f8 with SMTP id d2e1a72fcca58-73905a3b2dbmr19516295b3a.17.1742900891370; Tue, 25 Mar 2025 04:08:11 -0700 (PDT) Received: from codespaces-3dd663.dxrpqgqhlb3ehogrxrezr215ye.rx.internal.cloudapp.net ([20.192.21.54]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-739061592b9sm9787667b3a.152.2025.03.25.04.08.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:08:11 -0700 (PDT) From: Aditya Garg X-Google-Original-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, gargaditya08@live.com Subject: [PATCH v3 1/5] HID: apple: move backlight report structs to other backlight structs Date: Tue, 25 Mar 2025 11:05:23 +0000 Message-ID: <20250325110754.28359-2-gargaditya08@live.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325110754.28359-1-gargaditya08@live.com> References: <20250325110754.28359-1-gargaditya08@live.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The apple_backlight_config_report and apple_backlight_set_report structs were incorrectly placed between the translation tables. Fix this. Signed-off-by: Aditya Garg --- drivers/hid/hid-apple.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index d900dd05c..93b990603 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c @@ -89,6 +89,19 @@ struct apple_sc_backlight { struct hid_device *hdev; }; +struct apple_backlight_config_report { + u8 report_id; + u8 version; + u16 backlight_off, backlight_on_min, backlight_on_max; +}; + +struct apple_backlight_set_report { + u8 report_id; + u8 version; + u16 backlight; + u16 rate; +}; + struct apple_magic_backlight { struct led_classdev cdev; struct hid_report *brightness; @@ -152,20 +165,6 @@ static const struct apple_key_translation magic_keyboard_2015_fn_keys[] = { { } }; -struct apple_backlight_config_report { - u8 report_id; - u8 version; - u16 backlight_off, backlight_on_min, backlight_on_max; -}; - -struct apple_backlight_set_report { - u8 report_id; - u8 version; - u16 backlight; - u16 rate; -}; - - static const struct apple_key_translation apple2021_fn_keys[] = { { KEY_BACKSPACE, KEY_DELETE }, { KEY_ENTER, KEY_INSERT }, From patchwork Tue Mar 25 11:05:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14028348 X-Patchwork-Delegate: jikos@jikos.cz Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 396D3254AE7; Tue, 25 Mar 2025 11:08:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900897; cv=none; b=eoJ/7iMpWRGPktQ+3bK+hqEVc+nfsvCQ58wjjxLM5gXehEZen8RFd7QPy1HJYt8RaM5zloxp75eWo9eLk2GDv/39Vj0b6wU+E9MaL3cNVTP+0Dnjvihpvj0nJAC91lxrruLU+OTM3sHstQCOAyZXpMHlGybCEcKUzNGZp6hYjBA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900897; c=relaxed/simple; bh=QiGGPiPaTAQyJwY2YB+Zw35QB/Tg6BLtCKMSV6b1nXE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tEd8T1/HrjnraYRVv8/6TjW5yHUUOoBstIRbV2g/F/wTFOKtvYpNWdIG4ieuvG3yCfXW8B59LIPqq+sSM12x9mLVwBuHgxaq/cZt0GcTIQApQLadi2gGtVEl9ruXf4GYLS7OT+EVySjzJV4UzmMbHq1OM9h5nN7URZfXE1s5HBk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=D9Mke/9j; arc=none smtp.client-ip=209.85.214.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="D9Mke/9j" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-227b828de00so39642455ad.1; Tue, 25 Mar 2025 04:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742900894; x=1743505694; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OuKJw1yYL8TZJjvYWc7MuadUYy3/+c5wxi74JAGlK2A=; b=D9Mke/9jKMy/0QJ24JPQqArhMwjYCfpVgB1X6DAwvw66thpBpVGo9Lo0VT/qX1OUr3 XRc8tR4CuXTMRKGIW+JqPmnWon9G1gVoQ4bR+dNmuvZKImuLRowIpe+9GWjcL5B1dIC9 vlF1MYA6DdCxFCPSJc/pCxgNQeCM8IzddQ0W/fhSnJILbg1pCYF5Sf7hhutYZPSdZRDo 0b84c4Fv2eh0M1lugJ/sqeJDR491hKXtg8x7vPdf0uEoFjZ2nFumRzTwWfFaLCyL6M0Y OINijORK0/fekYgT3UQjkyrkSWBXQVYoI9lRdFjE0ARzr9IblYfIp31B3c4iBzVjg/uV o3mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742900894; x=1743505694; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OuKJw1yYL8TZJjvYWc7MuadUYy3/+c5wxi74JAGlK2A=; b=bdqh0kEVUs+LQbiva9a3BQZ2uO3kds+hkfNMhd/SOcG/u9X8dzuTDH4t11QEBllp8l 5h8yRlNl7cXx2pUFBEXzYkRA3oeva21BFjt3exaUDlyVziXSK5hsTlk/kbzNvzHjWdLg 5MPSFLcbVq6XnOTCxSZcE1f2ejIKX9c9OeGytC2UuHNPoCnvFmqN1sESzxmo1oX1KHiZ 0YWvksdf1jAb2EFQkzhtdP+tof1GuuXYnNNj+LE2lGFAN5CpgLH2s66/RKEocCkSEQRX DZEGORY88bGBB+tlH/EU43qJo/NnRAKYLP/4y1dhLstG18tOoF5qTCkzMTuD+a6gjpf6 CZhg== X-Forwarded-Encrypted: i=1; AJvYcCVI4LcdGS7LtwmUv3KLjwUQMLX06nq/MOIin+7xSovsuraklkMsmz7rHqNAGYgfEXbTKaUMkzl3o5Qb6g==@vger.kernel.org, AJvYcCWOeKpxL5HMcmCJOjzAv6loXjzjz3nCGBMbAy6Y/6fVGp3lbnLkWCAWEkNxTeHFQI1HUeg01auHg1nFrvJV@vger.kernel.org X-Gm-Message-State: AOJu0YzK5b7Xpik+IYa5gpuguKo82JjeIJSJUqhcP+yOKCCuKho1d4ED xm4BzXWrh57TLtndJjDQUVsGXtToHvI+OOOEwVq8DIT56XQt7f76 X-Gm-Gg: ASbGncvmQhPF6H8sLtpQjsflUvp7JtejsvziUDJC6A18ErJkrNZ3xeR7sgNr1vu4eFV WaHCdEOLYK9CRFo/vgXYjb24ZUtofWhDZ4wr43vDhVRu4QRFQe+1/OXpNgpt8jWevqGcWwbVkuH 2Mi+cE9+DdQbE/YK1lMk+w+nnGD9kDzg8k3yT4rt4BjFwL8ivv8nwoq3Fv+/NWD5wvvuLGWIoy3 x2fvM7J6CX4pnVIc0arN5yCMEaEYbc5sj8SxkmU1+NmeR3X4E9mzkPE210vZrhEavQt8nzSJvvT x4y5jso2wrNqjLN5/LUYLxmZOHAQJmU/7hDOyXZywgS97oRwssAZKBrvZ+eIC2GVSldHMd5RQLv FvDFkbJX6yNlI8A1Fu1dy52qKRaTnTJb9z97gXkHXHOZipA== X-Google-Smtp-Source: AGHT+IH8QLL6ukz41/+7f/CsS32egThAdpUlenpQF9DP6HzoSL7VDoZMcHeDfRjgeEWew2QF2mHThg== X-Received: by 2002:a05:6a20:2587:b0:1ee:e46d:58a2 with SMTP id adf61e73a8af0-1fe42f25e5bmr25079430637.3.1742900894196; Tue, 25 Mar 2025 04:08:14 -0700 (PDT) Received: from codespaces-3dd663.dxrpqgqhlb3ehogrxrezr215ye.rx.internal.cloudapp.net ([20.192.21.54]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-739061592b9sm9787667b3a.152.2025.03.25.04.08.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:08:13 -0700 (PDT) From: Aditya Garg X-Google-Original-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, gargaditya08@live.com Subject: [PATCH v3 2/5] HID: apple: use switch case to set fn translation table Date: Tue, 25 Mar 2025 11:05:24 +0000 Message-ID: <20250325110754.28359-3-gargaditya08@live.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325110754.28359-1-gargaditya08@live.com> References: <20250325110754.28359-1-gargaditya08@live.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 There has been a continuous increase in the number of devices requiring hid-apple driver during the last few years. Moreover, unlike previous releases, the PIDs of the newer devices released cannot be combined in a specific range, thus filling up the if else if statements with individual device IDs. For such large table, its now more suitable to use switch case instead of if else if for improved readability. Signed-off-by: Aditya Garg --- drivers/hid/hid-apple.c | 73 +++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index 93b990603..3d7befe0a 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c @@ -465,42 +465,51 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, asc->fn_on = !!value; if (real_fnmode) { - if (hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_JIS) + switch (hid->product) { + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO: + case USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_JIS: table = magic_keyboard_alu_fn_keys; - else if (hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2015 || - hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2015) + break; + case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2015: + case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2015: table = magic_keyboard_2015_fn_keys; - else if (hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021 || - hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024 || - hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 || - hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021) + 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; - else if (hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132 || - hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680 || - hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J213) - table = macbookpro_no_esc_fn_keys; - else if (hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J214K || - hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223 || - hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F) - table = macbookpro_dedicated_esc_fn_keys; - else if (hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K || - hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J230K) - table = apple_fn_keys; - else if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI && - hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) - table = macbookair_fn_keys; - else if (hid->product < 0x21d || hid->product >= 0x300) - table = powerbook_fn_keys; - else + break; + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J213: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J680: + table = macbookpro_no_esc_fn_keys; + break; + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J152F: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J214K: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J223: + table = macbookpro_dedicated_esc_fn_keys; + break; + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J140K: + case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J230K: table = apple_fn_keys; + break; + default: + if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI && + hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS) + table = macbookair_fn_keys; + else if (hid->product < 0x21d || hid->product >= 0x300) + table = powerbook_fn_keys; + else + table = apple_fn_keys; + } trans = apple_find_translation(table, code); From patchwork Tue Mar 25 11:05:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14028349 X-Patchwork-Delegate: jikos@jikos.cz Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D731B2566EE; Tue, 25 Mar 2025 11:08:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900899; cv=none; b=BPopCmtS/mYRu/ogV9cnQAeJh1fRRNwytfBvbUt+6NW7fhHV3oY7szC2UlNnSnGhcGNVYIFBfH5B+m5+7koNJAPrTujV9lKaMPGU6dZtPFQfpLkdxG5L/1GZj1Dx5EwVQih7OsfP13urChFGU9aeYRwti8XR9xeFuGTY/XWBK8Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900899; c=relaxed/simple; bh=wsf6HQ3e9ANkj1wavedwTlk4WkJIb+tXkAOYeXEKyrU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eEzXM+ehWiYvG1eoa3h8gBdnVtNbbAbWfOIo2WzEjSZkqxkX92DvaJivJgZw3yNRFS7hxAzutBUaHcNV42l05jOpH8Uo5GZ3hm68+kBiw7ZoHJAlI0tCLZawK6ZDgFNzwMtmo04bgZSvCjwi6EotaAaVLpdkN+/r5Sx8JZJQBCk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=E/DFD+DE; arc=none smtp.client-ip=209.85.214.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="E/DFD+DE" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-223fb0f619dso108476435ad.1; Tue, 25 Mar 2025 04:08:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742900897; x=1743505697; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YhivfD4EuQErtuhsFEEmuwqN+9F7EVr8Uz1K/b/I6E8=; b=E/DFD+DEAPKOkiS82slgQn241YEvKDvsPUwRNMMVkvYxrhu9merHBKlp9NAwbVIYKp kAePGrJ21p8mHdeKrutoURZ5WUP/GF493/lOsn0z4bMGONgPrgQo2owL+d1oQJgDvXJB uNa7ZH7z1R4izXSGmqUDl50b/RFeyl/SlxJVbE1r7iTm5J94D+97C5y89+HfuycSjOaK n4s3zWbGfrjtUJmbtv3IhlllizhTn7A7AV4RXi7/fQWvt8ZJmHqDwH3FHO7RnBOlGQ7Q PpvqD98aC3qmoegXlOvpXduKIHAwLsyq19SwrncnofaM595vwq+cIA5USJTjykvrTTfE bcxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742900897; x=1743505697; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YhivfD4EuQErtuhsFEEmuwqN+9F7EVr8Uz1K/b/I6E8=; b=ljBATaRYsoDIZa8B58ekNTYrZSRnTxrI+bm//6ElCucThkSof+dgqA2PsLtSsFS5jy XBWFYzWPDMz0KWYirwxHS6SexeY89BcVb5yaIvazOPJd5wEvZCGQ/Bc3tmej35W1tzRp 1eiF08VdxuXdqxel7QajIQBaEYPH8fka1Njk6yFdbldSfwhH0E/E9n7AyEXOpTQSdNNP boHtq7mObVhPUbGtlSavIlsKQil0kXAG4Q9XNFN7flF6miLD+6GzaFHuH4LEBqUl4jll nC5txPbdyeKGD/I7uLiUnOIavdBm1h1jWfkUrC3tbiVeS8ivqvExIDM3VEQJk+j5RU5m 2+rg== X-Forwarded-Encrypted: i=1; AJvYcCViEnWX9uSfDn09RX4VLMTo+UYxXLBJZwtmcJaHKAsZBF0Y0MpBETQzSAXqpG+CbFZXNRBht78i3gtw8g==@vger.kernel.org, AJvYcCX6ReV24Xt5EuGrJBdJF+tfn3RtaqZisUhGKqcv0hjS5OQfcWmDh6kN3IRBClGvdIBpx3f9uBh1lMOPLSDw@vger.kernel.org X-Gm-Message-State: AOJu0YwNeYCMCqoyPspgGDkdRdiftgc9FsZ9JUEMbayUYGREiyBD+yhZ SPJf9LW5t5n7BEkSl4P52A/LEDvwoQFVXU6BwecQnUhOwXbtZ36q1Zfm4E2tSyg= X-Gm-Gg: ASbGncugnWK0ziOZCV8LLkB+EM5uqZH91k5uh42v4Uo5gulUm5HA2OybqVBLWizVeKW h5AYLIMM8mS6zvN2YV5tD9+YvqkPz94PPkDpZ7S6jUvuJvox/Eq3UJMXjfoHpqWj6XUtnMjVdV3 nm1wtaFWg8gIYhyLIPiiMOlhJKSZpYUR76VT9Id+CwenUumiYXvNa6z04zKxlAih1hbeWLLmTy6 rUB5zQWokTWAxVX0KTC/8gIBpD1ccCx5/S4CPlSC9WUy+3JJTsmoF7TLBWZXzIT8HcWHbqEbZg7 0CKVsGc/Xp0bF6wfr76G39QyW1sZF+4Zy+jJmu1Ay7voRT4MaI+sxR1TkPXe9W/E0hXyXvhWVmI qH4wDOzN/ez90J1RB52V/dKlzIaceOg6g8GMUcukl8FSu0A== X-Google-Smtp-Source: AGHT+IFAEj5uu/zcfGHVZlAFWlin3o60E9QxXNcBZxqcl7bVTv1Q5Kvgnkidn6vc4i6BPtUSjE2DPw== X-Received: by 2002:a17:903:22c7:b0:224:2717:798d with SMTP id d9443c01a7336-22780e44079mr243169665ad.50.1742900896945; Tue, 25 Mar 2025 04:08:16 -0700 (PDT) Received: from codespaces-3dd663.dxrpqgqhlb3ehogrxrezr215ye.rx.internal.cloudapp.net ([20.192.21.54]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-739061592b9sm9787667b3a.152.2025.03.25.04.08.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:08:16 -0700 (PDT) From: Aditya Garg X-Google-Original-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, gargaditya08@live.com Subject: [PATCH v3 3/5] HID: apple: remove unused APPLE_IGNORE_MOUSE quirk Date: Tue, 25 Mar 2025 11:05:25 +0000 Message-ID: <20250325110754.28359-4-gargaditya08@live.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325110754.28359-1-gargaditya08@live.com> References: <20250325110754.28359-1-gargaditya08@live.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 The APPLE_IGNORE_MOUSE quirk was not used anywhere in this driver, so can be removed. Signed-off-by: Aditya Garg --- drivers/hid/hid-apple.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index 3d7befe0a..fde438bee 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c @@ -30,7 +30,7 @@ #include "hid-ids.h" #define APPLE_RDESC_JIS BIT(0) -#define APPLE_IGNORE_MOUSE BIT(1) +/* BIT(1) reserved, was: APPLE_IGNORE_MOUSE */ #define APPLE_HAS_FN BIT(2) /* BIT(3) reserved, was: APPLE_HIDDEV */ #define APPLE_ISO_TILDE_QUIRK BIT(4) From patchwork Tue Mar 25 11:05:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14028350 X-Patchwork-Delegate: jikos@jikos.cz Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9D9DB2571BF; Tue, 25 Mar 2025 11:08:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900903; cv=none; b=nqMDjk8UZ3X61uMxZ3GbtFIjnIDHqRUz5Xh9QYBf03DHcO1vA0bebT9+bANWJOsoH+XixleoGqLOSaa1xVoOgu5uj9wpBqz2m5e9Da5R2AIPXt+m9RKwFnhVHJiStv3m4bxTjobnjnHFiVE0rVINSSpcTdut+li+rMgVE5k9fFM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900903; c=relaxed/simple; bh=dSzU1RT2RVlJ75z/U3K83JjoResu+3Vz2eZrTVbI8bY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gkE5JwYGZH9AZlP1YMoFsBp+4UkjSV2fCKaLdw41285RMMoyvuOn2dmDCFrwk5SiG2Znejtsng/tahX9pIQZ5LMsXsorbXL0TU34loRgV6NVS+D8I2B3BnElwSPOOx+cQpP5e8TDRjPzkWQ8whiz9EzA16xByzfL3c7RjpZEVOY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=cegITY20; arc=none smtp.client-ip=209.85.214.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cegITY20" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-227aaa82fafso50095865ad.2; Tue, 25 Mar 2025 04:08:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742900900; x=1743505700; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BXCl3WWGod0Kz7gpDOq3MqT6WRAUowr29PSlspMmRgY=; b=cegITY20gUquJcmf05LWH/LauJOQR0zlf57lBl6kHZwKGbVzhPgNfRypB8gXcMew+U mAcRGjl7chPC9PHtPEVPvox/1watGmmS3t8kbH9ATRhH/y+041fnQmv1jT2Kcm8krkmn dWeKujXSyHXUN/3BT7GoEplXplUYhrOJhCPvA5tJSfuyBycyV5qu+TDwHbJjALDLXFJD hEQTmQ6i0fAXUp1G0ZPUsr0LxXTnEcr3xsTxwO3TpnUGXuNMnWCu+udQOBCzyeQ4ejK8 Gk0mjdo2uFpzfjk7BONCBx3wcNkHIax/D1KcFDAdOmNZFb7emuG5c/NSSkL55eStkL0d WCPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742900900; x=1743505700; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BXCl3WWGod0Kz7gpDOq3MqT6WRAUowr29PSlspMmRgY=; b=GK+B+njqwAg/b2tIpJCtTtIz7ulfpGmUhJJWW5T9NPkleMR3+3HvL9HmuLW4tpfU+n zwD25ae9J7LMwwulfc74LzN+SXc25+InyRYtdCFUcHDwI4Eq9ngDUZZOlnf3f5vyx9EO tVR7ocgTmDaVXqRXeQPYaNWaVoWelMLABKk3Mu0lsUR0BIDCrspximkjSxhHs4y8rQPA 2d3+oTG1gAco9UXgLZulKnHxdBzPu35D2jIoA+Zyu2ORJ85JDovDTc8cTZIzlpqfnan6 DXSFs7T2DZpaN/HmO7InUX3ZRQBDmP01qFWuaOYrmudLUFBy8qgBihpQyVFFNtdYD/oJ MjrQ== X-Forwarded-Encrypted: i=1; AJvYcCVdMMXYb4d27gnss8Oscfui2zWkgqdAvBLNIQsElwZTZjffW45i31o9Pa8DGSzXrk6RwAWq3atWw203VA==@vger.kernel.org, AJvYcCWyx8zwbTAN6LtOSZKoUSXx+SFWR/l2DAFLQSb2ITf79cnpu/Fseu5FD6QDoLnXNV3GSXzsFYwMkhB5R0lk@vger.kernel.org X-Gm-Message-State: AOJu0YyJVPW5NusVrbfp2srQ0AFsJlD5+H2e4pF0jUb1UYHrlHCq7c2G SRgTDL3CKqm4O0WRMOf8PKWN+/A9vsxFywDZkuKh68q5AZmYnT1v X-Gm-Gg: ASbGnctqq/nWN9+x8x3yW5SlfvKxbkq3X3OVWIjI3X3rTJ20mCC2YzhUxesbSn1jX/8 8RMW5A7zq261DdkHCiiHYKLJybVuLNJGgQH2gidPWjw0CGdBBNvnoEljGE8QyoP5ZR7OmQTKQXd f7h7aZ64Fv6LA2MgLbZ0cE7h7Fpev48CalosaE3LXYe3UMr62V6SGDQ7nH0jMS2K9SMsXKoUBlV 5sLIxymCOTVoAsvdPaCbke1G2mVRrEugdGaCOyQjk6I5OMF0iD2v4Ba2kmikLe7ToFuAwuzNOO9 VPuMmwN8RNVkmLc6fEDMcDUJfaOhMgPrtiUem+RjtdmcYdHOwE0nIHkgUutCXDb5e+zSwx3+gXA 4kqm/wb7sw3e58LkPf5z+i47W3NtHwEWirERDFKVW66GXvwGQg2qEIa0W X-Google-Smtp-Source: AGHT+IFobGjpv4nZgk4eoCCakCryK+v9+D7q9swa46QCpQcL9TTKvKmwBD1WzYbYRODSPLXOCcAUcQ== X-Received: by 2002:a05:6a21:1085:b0:1f5:7873:304f with SMTP id adf61e73a8af0-1fe43300f45mr34740607637.37.1742900899717; Tue, 25 Mar 2025 04:08:19 -0700 (PDT) Received: from codespaces-3dd663.dxrpqgqhlb3ehogrxrezr215ye.rx.internal.cloudapp.net ([20.192.21.54]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-739061592b9sm9787667b3a.152.2025.03.25.04.08.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:08:19 -0700 (PDT) From: Aditya Garg X-Google-Original-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, gargaditya08@live.com Subject: [PATCH v3 4/5] HID: apple: Add Apple Magic Keyboard A3118 USB-C support Date: Tue, 25 Mar 2025 11:05:26 +0000 Message-ID: <20250325110754.28359-5-gargaditya08@live.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325110754.28359-1-gargaditya08@live.com> References: <20250325110754.28359-1-gargaditya08@live.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 7e4006249..7f2976639 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 From patchwork Tue Mar 25 11:05:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aditya Garg X-Patchwork-Id: 14028351 X-Patchwork-Delegate: jikos@jikos.cz Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 74D862566EE; Tue, 25 Mar 2025 11:08:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900904; cv=none; b=UtlPDsJGf/Y2yvG1RRE9iDAsLs6r86Jxi678f20KYcAdJqeDxJaf577A/aT7+8lYzabYBGPsfa0WBpnQ1xxIpV1EIuKDmAf1/+3j5tdJalyjZmjfWmpszechYZUbbQKxn5mjYWytPVwvqcHu/qWY6RUj9OQfmbGlGJQBqe4AMPY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742900904; c=relaxed/simple; bh=LyZ7Ds1GgfPH7txnaX5X2SHpowwbn5FMPsKuuSF1ER4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TmCHODXnvIZ9ubiikaGzIFJmOlrzV6rCjbP6ITO0ktIiRvCHBvWbdQCNtrh+13kqq4iQQHyKxf3n8vJysAyCrXBUWZY8jSn6CnvEjmNOJQ3IKONu55KfTLOu6jP5ZLChB3J+vS1+nGYGT9kOpKh+W34svfu6Yvt4ZPKLNTtQelg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Huoc6BXr; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Huoc6BXr" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2240b4de12bso36319535ad.2; Tue, 25 Mar 2025 04:08:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742900903; x=1743505703; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2gkQtA6BSk/mRKzla3JHVlyl9UsPkc1mDthDlBu+rnk=; b=Huoc6BXr8IBgckIteEyUYX4gu8UEebt7N/xZMmoDekix1f3oouKfJg5NSTkI8AShNT bIVoQHfDDcdz/jlbQnLYtDPzhrRrozQjjnkDB+u39+u+EGypdjaU49SdyTcL35RD2cGD ynOGN9SQ6zYnMbTmnaySfjasOn/B9P+nH4UdX/mWkLDvMfeArTuD+1TTMGywLQpZjo3q hXZrEchDCHSrkduy0t4ZVSfK7rndSCDRLPfpuUX5Q0ML5JYSY1phldVj1CM3n/CqyXDN M+25ZNwcUKWCcOklQLMn7ILV3lW0xis60lAtW/gLDc1lEALyw51CHFqCM6rl+EBBhi3L bAxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742900903; x=1743505703; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2gkQtA6BSk/mRKzla3JHVlyl9UsPkc1mDthDlBu+rnk=; b=a3W6xnYqduKKrEV3UgDv+ygTZ11NWBCmmcmED/p/Qnw6DwAmx6EzqQWdnqnrwrf7IM bsR0GIKgjhpJnv2DZqr1b+ZOP1ZmpkgE7+MnmPoy1dSh5ajAZSkrsdiEPepVjfYuzXBU giPSgsJDDsLTGYeQDLc9HiDlmFdYdsZME7G3IQQvURoQEFVwQHmO6y0VOmalwCCIkj5f u+DWILx/NUWgpWCPciM8eeM0Da7f/XJy2NlyObq2cq7gJp99IgTRkLxhmm4EaZdy0wj+ h5ahOUq6T+ZDwmtOfnU+OM4JOtm9iWw9PSo1LJl+p+UlTGz2wrKhB2lnYTByhmoeUSk8 Mttg== X-Forwarded-Encrypted: i=1; AJvYcCWt7Wf7CKvk+XBDNt+b2crq2ionuYLxcFKgUr4wQkGYSEvuM1vum9cZlXMm44LM8bKO8nouad9uXFVUg2yp@vger.kernel.org, AJvYcCXpE2enKSHGDgjvTiS0xQvM3QJJM3OWZg+ImYd85hjOuvZyqwWgvehV/ZD5njgI++yQAIwfolwwKW4C8w==@vger.kernel.org X-Gm-Message-State: AOJu0YwD956Hd+OQtT3d2Y3GyNoqvLbpJ3Pxdpj0MaG+YF586xNnWsBG M4id9MMN/lG6fSEeqBOxJ8OsKqi4uXzzgu7Vp2FndMqFOf8duRmGuaIA6Mu0SFA= X-Gm-Gg: ASbGnctHL3WHfdXE9aRp6I7crosyHvlmeUosyOVFAxMV4SZJ4Em21IBQlITSquAisag oOgbT1pghgaqefjETTfp+C1o4cq5zPSY2OK/1cIx9FyLF+jxKiO2kA5F+rUqzGrXSQbfQlDWCT+ AOJ01G1MLTEQIgrVgM7kKkXmlinu4d0U2gBOkVyvxpZ5h4qx5cldyv4d+dBQxtfRBF9kkrE4f4H 7xo+9GW4ySPFaUaaEOtiLjiYghQDtxlsyKl4Bf7zkJcUVZXsRd6j27delNeXrxYmiEJOeMTcNPQ MOjTGIB89Q2sQo3yW0vjwNCDPDaBgXaum6Om4WAmqf980WowLZvFgA1VpxErUB+DKEXUGdptCBW GoYlavvSbS7s8fR7BOxkSzuYuOqG2tQi5988+OTSQXdgOHA== X-Google-Smtp-Source: AGHT+IGa9t3IskA+J5tIjYqnIplK5sNodQOqUyNl7PVOst5jRQcbIW5LxLkL3kvVXHugMBvVHuxNWg== X-Received: by 2002:a17:902:cf07:b0:224:1234:5a3b with SMTP id d9443c01a7336-22780e31515mr248484255ad.51.1742900902551; Tue, 25 Mar 2025 04:08:22 -0700 (PDT) Received: from codespaces-3dd663.dxrpqgqhlb3ehogrxrezr215ye.rx.internal.cloudapp.net ([20.192.21.54]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-739061592b9sm9787667b3a.152.2025.03.25.04.08.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Mar 2025 04:08:22 -0700 (PDT) From: Aditya Garg X-Google-Original-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, gargaditya08@live.com Subject: [PATCH v3 5/5] HID: apple: Add Apple Magic Keyboard A3119 USB-C support Date: Tue, 25 Mar 2025 11:05:27 +0000 Message-ID: <20250325110754.28359-6-gargaditya08@live.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250325110754.28359-1-gargaditya08@live.com> References: <20250325110754.28359-1-gargaditya08@live.com> Precedence: bulk X-Mailing-List: linux-input@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add Apple Magic Keyboard 2024 with Touch ID and Numeric Keypad device ID (05ac:0322) to those recognized by the hid-apple driver. Keyboard is otherwise compatible with the existing implementation for its earlier 2021 model. Signed-off-by: Aditya Garg --- drivers/hid/hid-apple.c | 5 +++++ drivers/hid/hid-ids.h | 1 + 2 files changed, 6 insertions(+) diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c index e95a54113..0524893f7 100644 --- a/drivers/hid/hid-apple.c +++ b/drivers/hid/hid-apple.c @@ -486,6 +486,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021: case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024: case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2024: + case USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2024: table = magic_keyboard_2021_and_2024_fn_keys; break; case USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132: @@ -1182,6 +1183,10 @@ 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_FINGERPRINT_2024), .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_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_NUMPAD_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 7f2976639..88925cb13 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -167,6 +167,7 @@ #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_MAGIC_KEYBOARD_NUMPAD_2024 0x0322 #define USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI 0x0290 #define USB_DEVICE_ID_APPLE_WELLSPRING8_ISO 0x0291 #define USB_DEVICE_ID_APPLE_WELLSPRING8_JIS 0x0292