March 25th, 2013
MOTIVATION
Recently I found the page Hack! USB NeXT Keyboard with an Arduino Micro @arduino #arduino #NeXT. I have three old apple ADB keyboards. I’ve stopped to use them long time ago. But I couldn’t discard them because I like key touch and clicking sound of mechanical switches of them. A few years ago I heard about the iMate, but at that time iMate was not found in the market. I wanted to get the adapter for my ADB keyboards again.
After I saw the topic about USB NeXT Keyboard, I searched the web and found the similar project for ADB keyboard using teensy. The topic was ADB to USB keyboard converter for Teensy. This topic was written more than 2 years ago, and many people seem to build their adapter by following this topic.
So it might not be necessary to build the similar adapter for myself. But I thought this was a very good practice to learn about the Atmel micro controller and programming on it, then I started this project, my version of ADB to USB adapter 🙂
TARGET
- Building the program using Arduino IDE.
- Using assembler in the time critical part.
FEATURE
- Implementing type ahead buffer.
- Adding function keys to the keyboard without function keys.
- Easy to change key mapping.
LIMITATION
- The ADB protocol used in this project is not fully implemented. For example, Only one device is supported, SRQ is not supported.
- I have only checked using Apple IIgs keyboard and m0116 keyboard.
- To add the function key feature, the caps lock key is used as a function key modifier. So caps lock key is not available for caps lock. To use the caps lock key as a function key modifier, it’s better to remove a lock pin in the key switch of the caps lock key. (see the link below)
Normal caps lock function will be supported in the future version up. - Need to compile without the optimization. So must use the Arduino IDE newer than version 1.5.
- Not work in BIOS menu, GRUB menu and rEFIt menu. It may be a limitation of Arduino core library.
LINKS
- ADB – The Untold Story: Space Aliens Ate My Mouse
- remove push-lock mechanism in ADB keyboard capslock key – I’ve got this information from ADB to USB keyboard converter for Teensy.