Red Hat Bugzilla – Bug 483168
Apple Wireless Keyboard does not work as expected [Patch included]
Last modified: 2009-02-19 18:34:35 EST
Created attachment 330411 [details]
Handle the Apple Wireless Keyboard as a Bluetooth device
Description of problem:
My shiny new Apple Wireless Keyboad (German layout) does not work as expected:
1) The 'fn' key does not work. Therefore I neither have a 'delete' key (fn+backspace) nor the 'page up', 'page down', 'home' and 'end' keys (fn + arrow keys). Special keys like 'volume up/down' do not work too. There is probably a lot more.
2) The '<' and the '^' keys are swapped.
The kernel already tries to handle the quirks of the keyboard but fails because it only handles it as USB device not as an Bluetooth device which it actually is. I attached a trivial patch which makes the kernel handle the keyboard in the same way as it handles Apple's wireless Mighty Mouse (also a Bluetooth device).
Version-Release number of selected component (if applicable):
Always when Apple's Bluetooth keyboard is in use.
Steps to Reproduce:
1. Connect to the Apple Wireless keyboard via Bluetooth.
2. This bug is not keymap dependent. No matter which keymap you choose, the 'fn' key will not work.
All keys are working.
Kernel 2.6.28 works fine. The bug was fixed while the HID part was reworked. See http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.28.y.git;a=commitdiff;h=ee8a1a0a1a5817accd03ced7e7ffde3a4430f485;hp=fde5be353e872fe6088d2b1951e56cdfda2042ff
Added patch to F10 kernel 18.104.22.168-170.2.23.
if you want to send this to kernel.org's stable team and haven't hit the send button yet: This looks like a rather straight-forward backport of the 2.6.28 code which you quoted to me. I wouldn't expect acceptance problems at upstream if you add an appropriate changelog to the patch. I suggest you add almost your entire comment #0 as the changelog (problem description, and pointer to the corresponding 2.6.28 code). Also cc Jan Scholz and Jiri Kosina when you send it to stable.
I just submitted the patch to upstream.
2.6.27-stable commit 3485b0888a78a481a97b4eac28c50906101b6ceb