Thursday, May 19, 2011

Support for Aluminium Keyboards packaged, code-named apple-kbd

After many episodes, the support for Apple Aluminium Keyboards is finally becoming user-friendly. All major distribs now ship a recent version of xkeyboard-config, so there is no need to mess with XKB patches anymore...

To complete the user experience, I'm happy to introduce you apple-kbd, the collection of helpful goodies you need for your Aluminium Keyboard under Linux. Here's what you'll get with this package:

Automatic keyboard detection under X
At boot time or when the keyboard is plugged in, apple-kbd auto-updates the system-wide XKB settings so that the X server sees the Aluminium Keyboard and enables all its keys and its geometry.
Key style preferences
apple-kbd lets you remap some of the keyboard's keys: you'll get back the Insert key, the antique Print, Scroll-Lock and Pause... You can also set the precedence of functions keys over multimedia keys.
User-friendly installation
Both auto-detect and configuration features are available in a single, easy to install package. If you're running Debian or Ubuntu, there's even a package for you which comes with interactive configuration thanks to debconf!

Tuesday, January 11, 2011

Apple Aluminium Keyboards with udev, Xorg server 1.9

It's been a year now since I published my support for Aluminium Keyboards. Since then, my XKB patches have been accepted in XKeyboardConfig 1.9, with a few modifications:

  • The multimedia keys can always be accessed by combining Fxx with the 3rd level chooser (this was option alul3media in my original XKB patches)
  • There is now a single XKB option alupckeys to emulate the behaviour of a PC keyboard, i.e. to enable PrintScreen, ScrollLock, SysReq and NumLock (options alupcfkeys and alupcnumlock in the original patches)

Meanwhile, Xorg server 1.9 went stable, becoming more and more pervasive. As far as input hotplugging is concerned, this is a major revision for it dropped HAL in favor of udev: input discovery is achieved via udev and XKB settings for devices are fetched from the udev database.

I have thus ported the support for the Aluminium Keyboards to udev. As before, a configuration file controls the XKB settings to apply, as well as the remapping of the "fn" key to "insert", if requested.