Apple Extended Keyboard II



The best mechanical keyboard on the other side of the spectrum. Also supports ADB so can be used on the Mac LC III, a Motorola 68000 Mac that also has an ethernet card or an Apple ][e Card.

It doubles as my primary mechanical keyboard, thanks to an ADB to USB adapter I made and put in an Altoids tin.

USB Keyboard Converter
It's what you need to make use of the Apple Extended Keyboard II.

They even sell X68000 keyboard adapters.

https://geekhack.org/index.php?topic=72052.0

Make Your Own
https://geekhack.org/index.php?topic=14290.msg277407#msg277407

You don't even need much for this one, just a cheap Arduino Pro Micro and an S-Video female adapter. If you use something other than a teensy++ though, reconfigure the keymap.

A pull up resistor of 1K is required though, especially for mouse functionality. But you might get away with it if you have a short S-Video cable.



= Building an ADB Keyboard Converter with Pro Micro =





Teensy 2.0
If you decide to use a Teensy, at $15, that's probably the best and least frustrating option.

Simply follow the steps shown here: https://github.com/tmk/tmk_keyboard/tree/master/converter/adb_usb

You can also choose to use a converter firmware with simpler code built by gblargg. https://github.com/gblargg/adb-usb

Pro Micro
I decided to use an $8 Arduino Pro Micro to cut costs. However, the Pro Micro can be deeply frustrating to work with, so it might not be worth saving $7 when you might spend extra hours.

The first thing to notice is that the Pro Micro comes in both 5V and 3.3V forms. The Apple keyboard requires 5V to power up, so make sure you purchase the right one. Here's a good cheap version that you can purchase on Amazon.

Parts

 * $8 - OSOOYOO 5V Arduino Pro Micro
 * $5 - 1K Resistor
 * $6 - 4-pin Mini-DIN (S-Video) Female Socket
 * $5 - Breadboard Jumper Cable (Female to Female)

Total: $24

You will also need a decent soldering iron, so factor that in for cost and effort if you don't already have one.

Soldering the Pro Micro Header Pins
The header pins of the Pro Micro come unsoldered. You'll need to solder them on yourself.

Here's a good guide: https://learn.sparkfun.com/tutorials/arduino-shields/installing-headers-assembly

1K Resistor
We need to connect a resistor(any of 1k-10kOhm) between VCC (5V) and data. The converter might work without the resistor, but we strongly recommend having it, especially if you have long cables or are using an ADB mouse.

Here's a good pull up 1K resistor: 100pcs.

Solder on the pull up 1K resistor from VCC pin to Pin 3, along the top.

S-Video (4-pin Mini-DIN) Socket
The ADB Cable is exactly the same pinout as an 4-pin S-Video socket. Just buy one of those on Amazon:

https://www.amazon.com/gp/product/B00EK7ZCD4/ref=oh_aui_detailpage_o01_s00?ie=UTF8&amp;psc=1

Next, we need to add wires to the socket. The easiest method is to use Breadboard Jumper Cable (Female to Female). It's as simple as plugging them in: note that on the socket it might be a bit of a tight fit, but it works. If you want to keep the wires on there, hot glue them in.

Attaching the ADB Socket
With jumper cable attached, plugging in the socket to the Pro Micro is quick and easy and needs no soldering (other than the soldering already done to attach the header).

However, you do need to make sure the correct socket pins go to the right place on the Pro Micro. Observe the pinouts below:

ADB Male Pinout Diagram (or, female socket looking from behind)

,-.,-. +5V / 3  4 \ GND Data | 1   2 | Power key \ ==  /       -- The pinout is very simple:

The result should look something like this:



With that, we're ready to install the firmware.

Dependencies
Use apt-get or yum/dnf to install:


 * and  - Development dependencies.
 * - The flasher program used for the Pro Micro.
 * Example: Flashing a .hex binary (run as root):

Also make sure to git clone this: https://github.com/tmk/tmk_keyboard/tree/master/converter/adb_usb

Bootloader Mode
One major issue is that the Pro Micro comes set in bootloader mode by default, but after flashing it, there is no button like on the Teensy to send it back to bootloader mode.

This means that if you made a flashing mistake, to send it back to bootloader mode (for a mere 8 seconds!) you'll need to tap the GND and RST pins together with a wire twice, immediately after plugging it into USB. You could wire up a button to make this easier, but you might as well get a Teensy at that point.

https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/troubleshooting-and-faq#ts-reset

Modify the Makefile
Before building, you need to modify the Makefile to fit your board. Open up  and change the following variables to these new values:

MCU = atmega32u4 OPT_DEFS += -DBOOTLOADER_SIZE=512 PROGRAM_CMD = avrdude -p $(MCU) -P /dev/ttyACM0 -c avr109 -U flash:w:$(TARGET).hex
 * Source: hackaday.io - Use a pro micro as a Keyboard Controller

Compile and Flash
Now we can compile and flash the ADB Converter.

You have a choice between  (Standard Apple Keyboard Layout) and   (Hasu's PS/2 Style Layout).

Run this command as root from the  directory:

sudo make -f Makefile KEYMAP=plain program

This will compile the code and program the Pro Micro all in one shot.

Make a Case
This is optional, but you can put the keyboard controller into an Altoids tin and keep it encased and stable using glue gun. It's cheap, durable, and looks pretty cool.