Re: [PATCH] HID: quirks: fix support for Apple Magic Keyboards

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

 



Hi Natanael,

On Wed, Oct 17, 2018 at 4:52 PM Natanael Copa <ncopa@xxxxxxxxxxxxxxx> wrote:
>
> Commit ee3454924370 ("HID: add support for Apple Magic Keyboards") added
> support for the Magic Keyboard over Bluetooth, but did not add the
> BT_VENDOR_ID_APPLE to hid-quirks. Fix this so hid-apple driver is used
> over hid-generic.
>
> This fixes the Fn key, which does not work at all with hid-generic.
>
> Fixes: ee3454924370 ("HID: add support for Apple Magic Keyboards")
> Bugzilla-id: https://bugzilla.kernel.org/show_bug.cgi?id=99881
> Signed-off-by: Natanael Copa <ncopa@xxxxxxxxxxxxxxx>
> ---
> This should be backported to stable too.
>
>  drivers/hid/hid-quirks.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
> index 249d49b6b16c..a3b3aecf8628 100644
> --- a/drivers/hid/hid-quirks.c
> +++ b/drivers/hid/hid-quirks.c
> @@ -270,6 +270,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
>         { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO) },
>         { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_JIS) },
>         { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI) },
> +       { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_ANSI) },
> +       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_ANSI) },
> +       { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_ANSI) },

NACK, this should not be required with kernels v4.17+ IIRC.
If it doesn't work on a recent kernel, please raise the issue, but I
am actually chasing down the new inclusions of these when we add new
device support.
There is even a high chance that we remove the list entirely as this
would tremendously help the distributions to just have to ship
hid-generic in the initramfs instead of a bunch of random hid drivers.

By the way, if the driver is not autoloaded by udev, it is a problem
in udev likely.

Cheers,
Benjamin

>         { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
>         { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
>  #endif
> --
> 2.19.1
>



[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