[SOLVED] Fn-keys on Macbook Pro 4,1


After puzzling for quite a while on how to get the Fn keys working on a Macbook Pro (4,1) in Linux (they work fine in Mac OS X, of course), I came across a forum thread today that presented a very promising solution.

Traditionally, the problem with the Fn-keys of the Feb ’08 edition of the MBPs was that they simply didn’t work. Not even with pommed.

The issue seemed to be an erroneous hardware ID listing in hid-quirks.c, under drivers/hid/usbhid/, where the Device ID for the keyboard was listed as 0x021b instead of the proper 0x0230, as shown when doing an lsusb. (More details in this bug report.)

The fix in the forum post describes how to dynamically load the usbhid module, with the proper Device ID passed to it as a parameter.

Thanks loads to _alex_ and his wonderfully elegant solution, described below:

The fix described is for an Ubuntu system, but there’s no reason why the concept wouldn’t work on any other distro.

  1. Edit /etc/modprobe.d/options
  2. Add the line below at the end of the file:
  3. options usbhid quirks=0x05ac:0x0230:0x00000800,0x05ac:0x0231:0x00004800,0x05ac:0x0232:0x00000800

  4. For Macbook Air users, _alex_ recommends this line:
  5. options usbhid quirks=0x05ac:0x0223:0x00000800,0x05ac:0x0224:0x00004800,0x05ac:0x0225:0x00000800

Following the changes, you should be able to restart your machine and have your Fn-keys working, no additional configuration required. On Ubuntu, the screen brightness keys (F1 and F2) and the volume keys (F10, F11 and F12) and the Eject key (beside F12) work fine.


No Responses Yet to “[SOLVED] Fn-keys on Macbook Pro 4,1”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: