* [PATCH] Input: Add newer Apple keyboards to hid quirks table
@ 2008-06-07 2:46 Matthew Garrett
2008-06-09 11:44 ` Jiri Kosina
0 siblings, 1 reply; 3+ messages in thread
From: Matthew Garrett @ 2008-06-07 2:46 UTC (permalink / raw)
To: jkosina; +Cc: linux-input, linux-kernel
The keyboards in recent Apple hardware are still not properly supported
by Linux due to them not being in the hid quirks table. This patch adds
the current hardware. Device IDs come from the Mactel Linux project.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
---
Would be nice to get these in for 2.6.26 if possible - I just spent some
time trying to work out why my brightness keys didnt work, before
finally realising that it was just the kernel being awkward.
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index 1df832a..5214b0d 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -69,12 +69,19 @@
#define USB_DEVICE_ID_APPLE_ALU_ANSI 0x0220
#define USB_DEVICE_ID_APPLE_ALU_ISO 0x0221
#define USB_DEVICE_ID_APPLE_ALU_JIS 0x0222
+#define USB_DEVICE_ID_APPLE_WELLSPRING_ANSI 0x0223
+#define USB_DEVICE_ID_APPLE_WELLSPRING_ISO 0x0224
+#define USB_DEVICE_ID_APPLE_WELLSPRING_JIS 0x0225
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI 0x0229
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO 0x022a
#define USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS 0x022b
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI 0x022c
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO 0x022d
#define USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS 0x022e
+#define USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI 0x0230
+#define USB_DEVICE_ID_APPLE_WELLSPRING2_ISO 0x0231
+#define USB_DEVICE_ID_APPLE_WELLSPRING2_JIS 0x0232
+
#define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a
#define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b
#define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242
@@ -644,6 +651,12 @@ static const struct hid_blacklist {
{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE },
{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE },
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
+ { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
{ USB_VENDOR_ID_DELL, USB_DEVICE_ID_DELL_W7658, HID_QUIRK_RESET_LEDS },
{ USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_KBD, HID_QUIRK_RESET_LEDS },
--
Matthew Garrett | mjg59@srcf.ucam.org
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] Input: Add newer Apple keyboards to hid quirks table
2008-06-07 2:46 [PATCH] Input: Add newer Apple keyboards to hid quirks table Matthew Garrett
@ 2008-06-09 11:44 ` Jiri Kosina
2008-06-09 15:22 ` Alexander Karpenko
0 siblings, 1 reply; 3+ messages in thread
From: Jiri Kosina @ 2008-06-09 11:44 UTC (permalink / raw)
To: Matthew Garrett, Alexandre Karpenko; +Cc: linux-input, linux-kernel
On Sat, 7 Jun 2008, Matthew Garrett wrote:
> The keyboards in recent Apple hardware are still not properly supported
> by Linux due to them not being in the hid quirks table. This patch adds
> the current hardware. Device IDs come from the Mactel Linux project.
Hi Matthew,
the patch adding these product IDs is already queued in my
'upstream-fixes' branch.
However ...
> + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
> + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
> + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
> + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
> + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
> + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
Alexandre's original patch is missing the
HID_QUIRK_APPLE_NUMLOCK_EMULATION quirk ... Alexandre, was this
intentional?
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Input: Add newer Apple keyboards to hid quirks table
2008-06-09 11:44 ` Jiri Kosina
@ 2008-06-09 15:22 ` Alexander Karpenko
0 siblings, 0 replies; 3+ messages in thread
From: Alexander Karpenko @ 2008-06-09 15:22 UTC (permalink / raw)
To: Jiri Kosina; +Cc: Matthew Garrett, linux-input, linux-kernel
Hi Jiri,
The Macbook Pro 4,1 has no numlock key. I am not sure what
the HID_QUIRK_APPLE_NUMLOCK_EMULATION flag does.
On a somewhat related note, the function key secondary functionality has
also changed in the new Macbook Pro/Air models; this requires the
"powerbook_fn_keys" lookup table in drivers/hid/hid-input.c to be
updated accordingly. The new key layout is detailed here:
http://support.apple.com/kb/HT1117
Regards,
Alex
On Mon, 2008-06-09 at 13:44 +0200, Jiri Kosina wrote:
> On Sat, 7 Jun 2008, Matthew Garrett wrote:
>
> > The keyboards in recent Apple hardware are still not properly supported
> > by Linux due to them not being in the hid quirks table. This patch adds
> > the current hardware. Device IDs come from the Mactel Linux project.
>
> Hi Matthew,
>
> the patch adding these product IDs is already queued in my
> 'upstream-fixes' branch.
>
> However ...
>
> > + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
> > + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
> > + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
> > + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
> > + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },
> > + { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS, HID_QUIRK_APPLE_NUMLOCK_EMULATION | HID_QUIRK_APPLE_HAS_FN },
>
> Alexandre's original patch is missing the
> HID_QUIRK_APPLE_NUMLOCK_EMULATION quirk ... Alexandre, was this
> intentional?
>
> Thanks,
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-06-09 15:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-07 2:46 [PATCH] Input: Add newer Apple keyboards to hid quirks table Matthew Garrett
2008-06-09 11:44 ` Jiri Kosina
2008-06-09 15:22 ` Alexander Karpenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).