diff mbox series

[v2] HID: apple: Report Magic Keyboard 2021 battery over USB

Message ID 20220208185009.49100-1-jose.exposito89@gmail.com (mailing list archive)
State Mainlined
Commit 8ae5c16c9d421d43f32f66d2308031f1bd3f9336
Delegated to: Jiri Kosina
Headers show
Series [v2] HID: apple: Report Magic Keyboard 2021 battery over USB | expand

Commit Message

José Expósito Feb. 8, 2022, 6:50 p.m. UTC
Like the Apple Magic Keyboard 2015, when connected over USB, the 2021
version registers 2 different interfaces. One of them is used to report
the battery level.

However, unlike when connected over Bluetooth, the battery level is not
reported automatically and it is required to fetch it manually.

Add the APPLE_RDESC_BATTERY quirk to fix the battery report descriptor
and manually fetch the battery level.

Tested with the ANSI, ISO and JIS variants of the keyboard.

Signed-off-by: José Expósito <jose.exposito89@gmail.com>

---

v2: Rebased on master, it was for-next
---
 drivers/hid/hid-apple.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jiri Kosina Feb. 16, 2022, 3:50 p.m. UTC | #1
On Tue, 8 Feb 2022, José Expósito wrote:

> Like the Apple Magic Keyboard 2015, when connected over USB, the 2021
> version registers 2 different interfaces. One of them is used to report
> the battery level.
> 
> However, unlike when connected over Bluetooth, the battery level is not
> reported automatically and it is required to fetch it manually.
> 
> Add the APPLE_RDESC_BATTERY quirk to fix the battery report descriptor
> and manually fetch the battery level.
> 
> Tested with the ANSI, ISO and JIS variants of the keyboard.
> 
> Signed-off-by: José Expósito <jose.exposito89@gmail.com>

Applied.
diff mbox series

Patch

diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
index 24802a4a636e..ce88f8645155 100644
--- a/drivers/hid/hid-apple.c
+++ b/drivers/hid/hid-apple.c
@@ -748,7 +748,7 @@  static const struct hid_device_id apple_devices[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY),
 		.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021),
-		.driver_data = APPLE_HAS_FN | APPLE_ISO_TILDE_QUIRK },
+		.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_FINGERPRINT_2021),