Re: Apple bluetooth keyboard

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

 



Phil Endecott wrote:
I have the bluetooth version of the Apple aluminium keyboard and I'm having trouble getting it to work right.

I'm running 2.6.25 and I can see that it has some quirks for these keyboards that should do some of the things that I want. (Specifically, HID_QUIRK_APPLE_ISO_KEYBOARD and HID_QUIRK_APPLE_HAS_FN.) But it looks as if they're keyed on the USB vendor/product IDs, which presumably don't match my bluetooth device.

Can someone please explain how input quirks should be applied to bluetooth devices?

I believe I've worked this out now.  In summary, this entry:

/* Apple Bluetooth alu ISO keyboard */
{ 0x05ac, 0x022d, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD },

and presumably these untested ones:

/* Apple bluetooth alu ANSI keyboard */
{ 0x05ac, 0x022c, HID_QUIRK_APPLE_HAS_FN },
/* Apple bluetooth alu JIS keyboard */
{ 0x05ac, 0x022e, HID_QUIRK_APPLE_HAS_FN },

need to be added to hidp_blacklist in net/bluetooth/hidp/core.c; but I note that this moved to drivers/hid/hid-apple.c in Jiri Slaby's patch "HID: move apple quirks" posted here on 2008-05-16. (I'm not posting this as a proper patch because of this move; I haven't applied Jiri's patches to my 2.6.25 tree and I don't think it would be useful to post a patch that would conflict with them. Jiri, presumably you'll have no trouble adding those entries to your tree, right?)

I'm still unsure how all of this works though. Those are USB vendor and product IDs. Does bluetooth "borrow" the same scheme of vendor/product IDs that USB uses? I got the IDs from the table in drivers/hid/usbhid/hid-quirks.c, but I can't see any way to get find them from my hardware; "hcitool info" doesn't report them. Were the entries in drivers/hid/usbhid/hid-quirks.c actually useful before? Perhaps they would be applied if you had a bluetooth dongle in "HID proxy" mode. If bluetooth devices do all use USB vendor/product IDs, maye the better solution is to look them up in a single table rather than splitting it into separate parts for "real" USB devices and bluetooth devices. Hmm, maybe that's what Jiri's patches from 2008-05-16 are doing....

Anyway, I now have things like home/end/pgup/pgdown and the keys to the left of 1 and Z doing the right thing, which is great. There are a couple more things I'd like to change though; does anyone have any opinions on either of these:

- I have no delete key, so I can't type ctrl-alt-del! (I have to keep another keyboard plugged in just for this!) I'd like to use the eject key, which is immediately above the backspace key, for this. (What do Mac users do?)

- The FN key and the left Ctrl key are the same size and the keycaps can easily be exchanged. The order of these keys is often something that people complain about, e.g. if they're used to pressing the bottom-left key on their desktop keyboard for ctrl but now find that it isn't. Often there is nothing that can be done about this because the logic for the FN key is inside the keyboard and not fixable in software, but in the case of this keyboard I believe it could be changed in the kernel. Actually I'm not too bothered about it because I use caps lock as ctrl, but maybe other people would consider it a useful feature.


Cheers,  Phil.




--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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