[PATCH v2 6/6] usb: kbd: Add probe quirk for Apple and Keychron keyboards
Marek Vasut
marex at denx.de
Sun Mar 17 17:21:26 CET 2024
On 3/17/24 12:07 PM, Janne Grunau via B4 Relay wrote:
> From: Janne Grunau <j at jannau.net>
>
> Those keyboards do not return the current device state. Polling will
> timeout unless there are key presses. This is not a problem during
> operation but the inital device state query during probing will fail.
> Skip this step in usb_kbd_probe_dev() to make these devices useable.
> Not all Apple keyboards behave like this. A keyboard with USB
> vendor/product ID 05ac:0221 is reported to work with the current code.
> Unfortunately some Keychron keyboards "re-use" Apple's vendor ID and
> show the same behavior (Keychron C2, 05ac:024f for example).
>
> Reviewed-by: Marek Vasut <marex at denx.de>
> Signed-off-by: Janne Grunau <j at jannau.net>
> ---
> common/usb_kbd.c | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
>
> diff --git a/common/usb_kbd.c b/common/usb_kbd.c
> index 8cc3345075..43c7668671 100644
> --- a/common/usb_kbd.c
> +++ b/common/usb_kbd.c
> @@ -31,6 +31,10 @@
> #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 0x029a
> #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021 0x029f
>
> +#define USB_VENDOR_ID_KEYCHRON 0x3434
> +
> +#define USB_HID_QUIRK_POLL_NO_REPORT_IDLE (1 << 0)
Use BIT(0) instead of (1 << 0)
With that fixed:
Reviewed-by: Marek Vasut <marex at denx.de>
More information about the U-Boot
mailing list