ADB to USB keyboard converter
=============================
-This firmware converts ADB keyboard protocol to USB.
-You can use PJRC Teensy for this converter, though, other USB AVR(ATMega32U4, AT90USB64/128 or etc) should work.
-But binary size is about 10KB or more it doesn't fit into 8K flash like ATMega8U2.
+This firmware converts Apple ADB keyboard protocol to USB, you can use it to plug old ADB keyboard into modern computer. It works on TMK ADB-USB Converter, PJRC Teensy2.0 and other USB AVR MCU(ATMega32U4, AT90USB64/128 or etc) and needs more than 10KB flash at least.
-Discuss: http://geekhack.org/showwiki.php?title=Island:14290
+Discuss here: http://geekhack.org/showwiki.php?title=Island:14290
+
+You can buy a TMK converter here: https://geekhack.org/index.php?topic=72052.0
ADB_PORT, ADB_PIN, ADB_DDR, ADB_DATA_BIT
-Build
------
-See doc/build.md. In short,
+Build firmware and Program microcontroller
+------------------------------------------
+See [doc/build.md](../../tmk_core/doc/build.md).
+
+To build firmware and program TMK Converter run these commands:
+
+ $ make -f Makefile clean
+ $ make -f Makefile [KEYMAP=(plain|ansi|iso|hasu)]
+ $ make -f Makefile [KEYMAP=(plain|ansi|iso|hasu)] dfu
+
+You can select keymap with optional `KEYMAP=` (plain is default). Push button on the converter before running `dfu` target.
- $ make clean
- $ make
+Use **Makefile.rev1** for old TMK Converter rev.1 and **Makefile.teensy** for Teensy2.0 instead of **Makefile**. For TMK Converter rev.2 just use **Makefile**.
-You can select keymap(ansi is default) like this:
+To program Teensy you can use `teensy` target:
+
+ $ make -f Makefile.teensy [KEYMAP=(plain|ansi|iso|hasu)] teensy
- $ make KEYMAP=[ansi|iso|hasu]
Keymap
------
-You can change a keymap by editing code of keymap_[ansi|iso|hasu|yours].c.
-How to define the keymap is probably obvious. You can find key symbols in common/keycode.h. And see doc/keymap.md for more detail.
+You can change a keymap by editing code of keymap_[plain|ansi|iso|hasu|yours].c.
+How to define the keymap is probably obvious. You can find key symbols in common/keycode.h. And see [doc/keymap.md](../../tmk_core/doc/keymap.md) for more detail.
Magic command
Also you may want to remove locking pin from the push-lock switch to use capslock as a normal momentary switch.
+Mouse support
+-------------
+ADB mouse support was added by @mek-apelsin on Apr,2015. It supports only one button as of now.
+https://github.com/tmk/tmk_keyboard/pull/207
+
+
Notes
-----
Not-extended ADB keyboards have no discrimination between right modifier and left one,
And most ADB keyboard has no diodes in its matrix so they are not NKRO,
though ADB protocol itself supports it. See protocol/adb.c for more info.
-If keyboard has ISO layout you need to use ISO keymap with `make KEYMAP=iso`. With ANSI
-keymap you will suffer from swapped keys problem.
+If keyboard has ISO layout you may have swapped keys problem, see this for the detail.
https://github.com/tmk/tmk_keyboard/issues/35