Getting Apple Aluminum Keyboard Working with Linux
Over the weekend, I stopped by the Apple Store in Naperville to pick up two of their small aluminum keyboards to use with two machines at work that used to share a keyboard/mouse with a switch-box, but last week were "split" so that I needed two keyboards in a pretty small desk.
For this desk, I need to get rid of the numeric keyboards to save the space. Just have to.
So the question is "How do I make it work with linux?"
Thankfully, xmodmap is going to do everything we need, and all I need to do is to get the keycodes from the keyboard and put them into the .Xmodmap file that I've already got to swap CapsLock and Ctrl.
Open up a terminal and type:
$ xev
What you'll see is a new window with every X event getting printed to the standard out. Lots of information there, but in addition, you'll see every key press and release - and therein you can find the keycodes.
What I found was the following:
Key | Keycode |
L-Apple | 115 |
L-Option | 64 |
L-Ctrl | 37 |
R-Apple | 116 |
R-Option | 113 |
From this I was able to create the .Xmodmap that made the "Apple" keys act as "Alt" keys (their default appears to be to act as "Windows" keys) so it's easier to do what I need:
! ! Swap Caps_Lock and Control_L ! remove Lock = Caps_Lock remove Control = Control_L keysym Control_L = Caps_Lock keysym Caps_Lock = Control_L add Lock = Caps_Lock add Control = Control_L ! ! Make the Apple keys Alt keys ! keycode 115 = Alt_L Meta_L keycode 116 = Alt_R Meta_R add mod1 = Alt_L Meta_L Alt_R Meta_R
I may try to map some of the function keys to PgUp and PgDn keys, as those would be nice, but for now, it's enough this morning to get the Alt keys working on the new keyboards as that's how I switch between workspaces - which is essential.
I really like the additional desk space... that's a real plus. Just a little more fiddling with the location of things, and I should be settled in with the new hardware.