Comment 10 for bug 207127

Revision history for this message
Alex Karpenko (alexkarpenko) wrote :

Ok I've figured it out. Working from the discussion here: http://<email address hidden>/msg01343.html

We need to add 3 new device IDs for the new generation macbooks (the id varies depending on whether the keyboard is ansi, iso, or jis) for the apple vendor ID, which is: "#define USB_VENDOR_ID_APPLE 0x05ac".
I propose to add the following to hid-quirks.c

#define USB_DEVICE_ID_APPLE_GEYSER5_ANSI 0x0230 /* i'm guessing this is correct, i need you to confirm this */
#define USB_DEVICE_ID_APPLE_GEYSER5_ISO 0x0231
#define USB_DEVICE_ID_APPLE_GEYSER5_JIS 0x0232

Corresponding entries will have to be made inside hid_blacklist[] in the same file (just a copy&paste of the GEYSER4 entries). This way older Macbook models will not be affected, and the new ones will work for all those device IDs.

*** What I need from you: execute "lsusb -v" at the shell. And report the output for the block that contains:
   Bus 005 Device 003: ID 05ac:0230 Apple Computer, Inc.
...
      bInterfaceProtocol 1 Keyboard
...

Note your ID might not be 05ac:0230. I've attached the block for mine for reference. The important line here is the device ID, and country code. For me it is:
        bCountryCode 33 US

I'm guessing Scott's line will read:
       bCountryCode 13 International (ISO)

or something similar. Once I've confirmed the device IDs with your help, I'll try to make a patch and submit it. We should also probably submit it upstream as this is not exclusive to Ubuntu.