From this I gather that 0x022c (already working) is the US model - which would explain why you don't see many other people complaining!
But if we fix 0x022d for ourselves then we should also fix 0x022e for the Japanese.
net/bluetooth/hidp/core.c should probably use the symbols defined in hid-quirks.c. I don't know how these files relate though. Note also that the ISO keyboard has its own special quirk, HID_QUIRK_APPLE_ISO_KEYBOARD. I'm not sure what this affects.
I can confirm that this change works in 2.6.24-19 with a UK Apple Wireless Keyboard.
Very similar issues are dealt with in /usr/src/ linux-source- 2.6.24/ drivers/ hid/usbhid/ hid-quirks. c:
#define USB_DEVICE_ ID_APPLE_ ALU_WIRELESS_ ANSI 0x022c ID_APPLE_ ALU_WIRELESS_ ISO 0x022d ID_APPLE_ ALU_WIRELESS_ JIS 0x022e
#define USB_DEVICE_
#define USB_DEVICE_
From this I gather that 0x022c (already working) is the US model - which would explain why you don't see many other people complaining!
But if we fix 0x022d for ourselves then we should also fix 0x022e for the Japanese.
net/bluetooth/ hidp/core. c should probably use the symbols defined in hid-quirks.c. I don't know how these files relate though. Note also that the ISO keyboard has its own special quirk, HID_QUIRK_ APPLE_ISO_ KEYBOARD. I'm not sure what this affects.