├── img ├── click.mp3 ├── keys.m4a ├── setup.jpg ├── rubber.JPG ├── legsbent.JPG ├── removekeys.JPG ├── aekii-alps1.jpg └── aekii-alps2.jpg └── README.md /img/click.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/click.mp3 -------------------------------------------------------------------------------- /img/keys.m4a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/keys.m4a -------------------------------------------------------------------------------- /img/setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/setup.jpg -------------------------------------------------------------------------------- /img/rubber.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/rubber.JPG -------------------------------------------------------------------------------- /img/legsbent.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/legsbent.JPG -------------------------------------------------------------------------------- /img/removekeys.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/removekeys.JPG -------------------------------------------------------------------------------- /img/aekii-alps1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/aekii-alps1.jpg -------------------------------------------------------------------------------- /img/aekii-alps2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cfenollosa/aekii/HEAD/img/aekii-alps2.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tuning an Apple Extended Keyboard II 2 | 3 | As a person who spends at least eight hours, five days a week in 4 | front of a computer, choosing the correct keyboard is not an easy 5 | task. Your hands spend about eight hours a day touching and typing 6 | on it. Probably, while you are thinking, your fingers fiddle with 7 | the keys without pressing them. The office's background noise is 8 | those of keys typing. We could say that at least two of your senses 9 | highly notice your keyboard for a huge part of your life. 10 | 11 | Most people work with cheap 20€ keyboards, but for those 12 | interested, 13 | [there is a huge gamma of keys](http://www.daskeyboard.com/blog/?page_id=1458) 14 | and keyboards. 15 | 16 | I have been following forums and pages about mechanical keyboards 17 | for some time. However, it was Steve Losh's 18 | [A Modern Space Cadet](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) 19 | which finally convinced me that I needed a better keyboard. To 20 | decide on one, however, is a path full of enlightenment, reading 21 | about key switches, historical keyboards, highly biased commenters, 22 | and the utmost fear of spending 400€ on an device you won't like 23 | for some reason. 24 | 25 | I was just about to buy a Topre 104 when I thought I should give 26 | myself more time before paying that much. After all, what if I were 27 | to buy one and decided it just didn't feel right? 28 | 29 | ## A 20-year-old keyboard, the Apple Extended II 30 | 31 | After about a month of reading on forums, 32 | [this article from Thomas Brand](http://eggfreckles.net/notes/apples-greatest-keyboard/) 33 | and 34 | [a podcast with John Gruber and Dan Benjamin](http://thetalkshow.net/#20) 35 | brought this 20-year-old keyboard to my attention. It was highly 36 | praised, seemed to be very robust, and had Apple's 'command' and 37 | 'alt' keys. 38 | 39 | [![The Keyboard](http://farm4.staticflickr.com/3083/2452372207_cf363ab2a4_z.jpg)](http://www.flickr.com/photos/gruber/2452372207/) 40 | 41 | There are usually some for sale on Ebay, and I needed a really 42 | cheap one, since the shipping to Spain would account for at least 43 | 50€. Furthermore, that keyboard also needs an ADB cable and the 44 | Griffin Imate to convert ADB to USB. Plus their shipping, too. The 45 | total could easily account for 100 Eur or maybe more, for a really 46 | old device. 47 | 48 | Apparently there's another factor to take into account. There are 49 | at least two different models, a good one, with Alps switches, and 50 | a not-so-good one, with Mitsumi switches. To make matters worse, 51 | there is no clear way to distinguish them. However, looking at the 52 | label can help. Here are the labels of Apple keyboards with Alps 53 | switches. 54 | 55 | ![AEKII with Alps switches](img/aekii-alps1.jpg) 56 | 57 | ![AEKII with Alps switches](img/aekii-alps2.jpg) 58 | 59 | You should look for the "Made in the USA" and the bar code ending 60 | in M0312. My advice is to always ask the seller for confirmation, 61 | it is a matter of removing one keycap and 62 | [looking for the 'ALPS' label](http://imgur.com/a/elAFF#2) on the 63 | top of the key switch. 64 | 65 | ## The vanilla AEKII 66 | 67 | When the keyboard finally arrived, I tried to type on it, and 68 | unfortunately I didn't like its sound at all. After a month reading 69 | about clicky keyboards, watching Youtube videos and remembering an 70 | IBM Model M I had at college for some time, the AEKII had muffled, 71 | plain, *boring* keystrokes. 72 | 73 | [Here's an audio](https://raw.github.com/carlesfe/aekii/master/img/click.mp3) recording what I mean for 'click' (first sound) and 74 | 'clock' (second sound) 75 | 76 | It is also worth mentioning that the Caps Lock key is a two-step 77 | button. That would have been amazing for a Caps Lock key, but since 78 | I use Ctrl instead, that would defeat its purpose. 79 | 80 | Now there are two options: stick with it, as is, or open the 81 | keyboard and see that could be done. Since I had opened and 82 | repaired my laptop, my old Gameboy, and almost every object that 83 | had fallen into my hands, why not a keyboard? I might learn 84 | something as a collateral. 85 | 86 | ## The mysterious keyboard tune 87 | 88 | How on Earth does a keyboard make a clicky sound when a key is 89 | pressed? Reddit user 90 | [ripster55](http://www.reddit.com/user/ripster55) helped me a lot 91 | with both his pictures and his comments 92 | 93 | [This animation](http://i.imgur.com/upQWT.gif) depicts how the 94 | sound is produced. It seems to happen when the rightmost leaf hits 95 | the plastic walls. However, the AEKII has 96 | [this kind of nonclicky leaves](http://imgur.com/a/elAFF#7) which 97 | stay fixed in place and don't hit the plastic enclosure back. 98 | 99 | Just as I was starting to think that the AEKII keys would never 100 | click, I noticed that some of the keys produced a very light click, 101 | in comparison to the silent majority. This was a very subtle hint: 102 | the home row keys and the most used consonants were the ones which 103 | clicked the most. Could it be that the AEKII isn't meant to be 104 | clicky after all, and that sound was actually caused by years of 105 | usage? 106 | 107 | ## Opening the black Alps switches 108 | 109 | [This guide](http://imgur.com/a/elAFF) explains how to open Alps 110 | switches, and more importantly, how to assemble them back. Please 111 | note, the black plastic part doesn't seem to be reversible, so 112 | remember which way was it facing when you remove it. 113 | 114 | ![How to remove a keyswitch](img/removekeys.JPG) 115 | 116 | Pull, don't pry 117 | 118 | Once I had some keys fully disassembled, it was time to debug their 119 | tune. Why was there a difference between the clicky C and the dull 120 | F15? There must be something different on the inside. 121 | 122 | Here's the reasoning: Originally, the keys didn't click. After 20 123 | years, the most used ones do. The clicking sound is produced by a 124 | metal leaf hitting a plastic. The AEKII leaves have legs which make 125 | them stay in place. We can conclude that normal use has made some 126 | of those leaves to wear off, so they move inside the switch and 127 | click. 128 | 129 | The Extended II leaves have four legs, but they can be disabled 130 | easily. On silent keys, the leaf was stuck in place by the force of 131 | the legs. 132 | **Slightly angling them, from the original 90 degrees to about 45-60 degrees from the base, made them loose and allowed the leaf to freely slide in and out of the keyswitch.** 133 | 134 | ![Bend the leaves](img/legsbent.JPG) 135 | 136 | That was enough. Slightly bending the four legs of every leaf made 137 | the reconstructed key produce a clicking sound. One can adjust the 138 | exact tune of every key by means of this angle. The looser the 139 | leaf, the clickier the key. 140 | 141 | *Note: the legs are fragile, so be careful when bending them. The process is 142 | reversible but if you move them too much they may break. I then suggest swapping 143 | that keyswitch with one that you don't use, like F15* 144 | 145 | ## Update: Other modding configurations 146 | 147 | Jeff sent me an email suggesting bending only two legs, those closer to the "V" 148 | of the leaf. This produces a much nicer sound, less metallic and closer to 149 | those of a Model M. He also suggested removing the rubber inserts for a louder, unmuffled sound, 150 | and better touch feeling. 151 | 152 | ![Removing the rubber dampers](img/rubber.JPG) 153 | 154 | Remove both rubber dampers 155 | 156 | You can see that this opens a lot of combinations: rubber/no rubber, 157 | 90 degrees legs, 4 bent legs or 2 bent legs. I prefer the unmuffled 158 | sound so I went without the rubber inserts, and compared the effect 159 | of 2 vs 4 bent leaves. 160 | 161 | [You can listen to the options here](https://raw.github.com/carlesfe/aekii/master/img/keys.m4a) 162 | 163 | The first one is the vanilla AEKII, the second one is 2 bent tabs plus dampers removed, 164 | the third one is 4 bent tabs plus dampers removed. The audio then repeats the three keys again. 165 | The difference in volume isn't just an artifact of the recording, it's quite noticeable live. 166 | 167 | Obviously, you can play with all the combinations you want. Overall I prefer the second one 168 | -- no rubber, 2 bent leaves. When the 4 tabs are bent, each keystroke makes the metallic leaf 169 | vibrate a lot, and I don't quite like it. 170 | 171 | 172 | ## Aftermath 173 | 174 | What's the point of making an AEKII artificially old and worn? 175 | 176 | The good news is, the process is reversible. Just angle the leaves' 177 | legs back to 90 degrees and they will stay in place and produce a 178 | muted sound again. 179 | 180 | I hope this little hack can be useful for people who would like to 181 | generate an 'old keyboard' feel on their new or well-conserved 182 | AEKII, and also for those who don't like the chirp of their old 183 | keyboard and would like to restore its original sound. It might 184 | also be applied to other mechanical keyboards, not only the AEKII. 185 | 186 | As a last step to restore an old keyboard, it seems that there is a 187 | way to whiten a yellowed plastic, using a simple peroxide-oxy 188 | mixture, called [retr0bright](http://retr0bright.wikispaces.com/). 189 | I am planning to use it sometime soon. 190 | 191 | *Update:* I used retr0bright and it is as magic as you can read on 192 | the wiki. Actually, I bought a bottled product which was 6% 193 | peroxide with oxy, advertised as a regular cleaner, and it did the 194 | trick. 195 | 196 | ## Bonus: Caps Lock and other custom configurations 197 | 198 | I mentioned above that the Caps Lock key on the Extended II is 199 | actually a two-state button, and that's terrible for remapping into 200 | a Control key. Fortunately, it was very easy to change the key 201 | mechanism into another one, and make Caps Lock a regular key 202 | again. 203 | 204 | Unfortunately, another problem arose. If it was a two-state key, 205 | how come it didn't get stuck in a KeyDown loop when pressed? It so 206 | happens that the hardware is set to produce both a KeyDown (press) 207 | and a KeyUp (release) event when the key is actually pressed, and 208 | then again a Down+Up when it is released. That way, setting the 209 | switch in the 'on' state actually simulates a regular CapsLock 210 | event as in other keyboards. 211 | 212 | This means that remapping Caps Lock to Control on the AEKII makes 213 | it produce a KeyDown and KeyUp very fast, when the key is pressed, 214 | and it makes it unusable as a modifier. Pressing Control-C would 215 | send the Operating System an Control(Down)-Control(Up)-C, which is 216 | interpreted as a regular C key press. 217 | 218 | Having used the incredible 219 | [KeyRemap4Macbook](http://pqrs.org/macosx/keyremap4macbook/) for 220 | some time, thanks to Losh's blog post, I hoped something could be 221 | done to reprogram the key. By 222 | [asking on the forum](https://groups.google.com/forum/#!topic/keyremap4macbook/YhVJoNP_j1U), 223 | Fumihiko was very nice and provided a couple solutions, the best 224 | one remapping Caps Lock to a virtual 'Control Lock'. That way, the 225 | Control Down+Up events are transformed into a single KeyDown 226 | event. 227 | 228 | Just in case the message is deleted, the solution is as follows: 229 | 230 | 1. Install both KeyRemap4Macbook and [Seil](https://pqrs.org/osx/karabiner/seil.html.en) 231 | 2. Using OSX's control panel, change "Keyboard", "Modifier keys", "Caps Lock" to "No action" 232 | 3. Change the CapsLock key on Seil into 'PC Application' (keycode 110) 233 | 4. Use this item in your KR4M's `private.xml` 234 | 235 | ``` 236 | 237 | CapsLock to ControlLock 238 | For the AEKII 239 | private.pc_application_to_controlLock 240 | --KeyToKey-- KeyCode::PC_APPLICATION, KeyCode::VK_LOCK_CONTROL_L 241 | --KeyToKey-- KeyCode::ESCAPE, KeyCode::ESCAPE, KeyCode::VK_LOCK_ALL_FORCE_OFF 242 | 243 | ``` 244 | 245 | ### Remap the power button to sleep 246 | 247 | My regular setup while at home is to work with my Macbook Air with 248 | the lid closed, connected to an external display, the AEKII and a 249 | mouse. 250 | 251 | The iMate maps the power button to the shutdown dialogue in OSX. 252 | Instead of that, we will remap that key to sleep. It is very 253 | convenient, as the laptop will wake when any key is pressed, and we 254 | can make it sleep easily. 255 | 256 | Maybe there is a better way to do it, but a quick method is to use 257 | PCKeyboardHack to remap the ADB power button to, say, F19. Then, 258 | using [Keyboard Maestro](http://www.keyboardmaestro.com/main/), map 259 | F19 to 'Sleep'. As simple as that. 260 | 261 | *Update:* The same effect can be achieved with KeyRemap4Macbook. 262 | Add this to your `private.xml`: 263 | 264 | 265 | Sleep key on the AEKII 266 | private.sleep 267 | 268 | --KeyToKey-- 269 | KeyCode::F19, 270 | KeyCode::VK_CONSUMERKEY_EJECT, ModifierFlag:: COMMAND_L | ModifierFlag:: OPTION_L 271 | 272 | 273 | 274 | *Update:* With Mavericks, the trick above opens the "Shut down" dialog. 275 | If you want to send your mac directly to sleep, open Seil and use the option "Change ADB Power Key". 276 | 277 | 278 | ### Other remappings 279 | 280 | I am very used to have the right option key close to the space on my 281 | MBA, which is handy because I write in Spanish using the US 282 | keyboard, and that right option lets me do accents and other latin 283 | letters. I had the idea of switching the right command and option 284 | keys to have option_r closer to my thumb, but Unfortunately 285 | [the iMate sends all modifiers as 'left' keys](https://groups.google.com/forum/?fromgroups=#!topic/keyremap4macbook/iKvLuUM_0ow), 286 | i.e. right command is sent as left command, and there is nothing we 287 | can do about it. 288 | 289 | One last thing I'd like to mention is that KeyRemap4Macbook allows 290 | itself to store groups of settings in a profile, and that profile 291 | can be changed via the command line. This allows the use of 292 | [ControlPlane](http://www.controlplaneapp.com/) to detect the 293 | presence of the keyboard and automatically change KeyRemap's 294 | profile to take advantage of the double-capslock hack, and disable 295 | it when the keyboard is disconnected, since that setting breaks the 296 | MBA's regular capslock-to-control mapping. 297 | 298 | ## Conclusion 299 | 300 | I hope that my little experiment can help people to tune their 301 | keyboards to their liking, and what's more important, to 302 | disassemble and restore those which might be too old and worn for a 303 | comfortable use. 304 | 305 | Personally, I think that the manual skills required to disassemble 306 | keyswitches are not high, especially for hardware people, but it 307 | needs some time and patience, since breaking a key mechanism might 308 | be fatal. 309 | 310 | As a final thought, remember that besides customizing your 311 | hardware, it is always a good idea to 312 | [remap your keys](http://stevelosh.com/blog/2012/10/a-modern-space-cadet/) 313 | to make your work more efficient. 314 | 315 | Thanks for reading and hope you enjoyed it! 316 | 317 | ![My setup](img/setup.jpg) 318 | 319 | * * * * * 320 | 321 | CC by-nc 2012-2014, Carlos Fenollosa. Contact: 322 | [twitter](http://twitter.com/cfenollosa) or 323 | [mail](mailto:carlos.fenollosa@gmail.com) 324 | --------------------------------------------------------------------------------