Re: [PATCH 2/2] HID: hid-apple: Apple Magic Keyboard a3118 USB-C support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you so much. Here is the fix:

---
[PATCH] HID: hid-apple: Apple Magic Keyboard a3118 USB-C support

Add Apple Magic Keyboard with fingerprint 2024 model (with USB-C port)
device ID (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 <g.sokol99@xxxxxxxxxxxx>
---
 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 d900dd05c..ecdfbda66 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -482,6 +482,7 @@ static int hidinput_apple_event(struct hid_device
*hid, struct input_dev *input,
  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_FINGERPRINT_2024 ||
  hid->product == USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021)
  table = apple2021_fn_keys;
  else if (hid->product == USB_DEVICE_ID_APPLE_WELLSPRINGT2_J132 ||
@@ -1165,6 +1166,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_2021),
  .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_MAGIC_KEYBOARD_NUMPAD_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_NUMPAD_2021),
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 7e4006249..d59c28495 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -186,6 +186,7 @@
 #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_FINGERPRINT_2024   0x0321
 #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
-- 
2.48.1

---
 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 3c3f67d0bf..daf4c505e7 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -475,6 +475,7 @@ static int hidinput_apple_event(struct hid_device
*hid, struct input_dev *input,
                        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_2024_V2 ||
                         hid->product ==
USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 ||
                         hid->product ==
USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021)
                        table = apple2021_fn_keys;
@@ -1155,6 +1156,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_2024),
                .driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK },
+       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE,
USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024_V2),
+               .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_V2),
+               .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),
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 4f583d6f2e..953850f043 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -185,6 +185,7 @@
 #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_2024_V2   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
--
2.48.1
On Thu, Mar 6, 2025 at 9:05 PM Aditya Garg <gargaditya08@xxxxxxxx> wrote:
>
>
>
> > On 7 Mar 2025, at 12:24 AM, Aditya Garg <gargaditya08@xxxxxxxx> wrote:
> >
> >
> >
> >> On 6 Mar 2025, at 12:30 PM, Grigorii Sokolik <g.sokol99@xxxxxxxxxxxx> wrote:
> >>
> >> Add Apple Magic Keyboard 2024 model (with USB-C port) device ID (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 <g.sokol99@xxxxxxxxxxxx>
> >> ---
> >> drivers/hid/hid-apple.c | 5 +++++
> >> drivers/hid/hid-ids.h   | 1 +
> >> 2 files changed, 6 insertions(+)
> >>
> >> --- a/drivers/hid/hid-ids.h
> >> +++ b/drivers/hid/hid-ids.h
> >> @@ -185,6 +185,7 @@
> >> #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_2024_V2   0x0320
>
> A3118 is the one with Touch ID. Name should be USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2024 to be more clear.
> >
> > It’s the same ID as USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2024, why are you adding this again? Typo?
> >
> > Also, please use switch case, you can submit your patch as a part of:
> >
> > https://lore.kernel.org/linux-input/A50C1CF0-B927-4FCF-828F-1F5F79BA3762@xxxxxxxx/
> >
> > Just resubmit those 2 patches along with your patch and make a v2.
>


--

Thanks!
Kind regards,
Grigorii!





[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux