]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/converter/adb_usb/README.md
Configure Vagrant to use qmk_base_container (#6194)
[qmk_firmware.git] / keyboards / converter / adb_usb / README.md
1 ADB-to-USB Keyboard Converter
2 =============================
3 This firmware converts Apple Desktop Bus (ADB) keyboard protocol to USB so that you can use an ADB keyboard on a modern computer. It works on the PJRC Teensy 2.0 and other USB AVR MCUs (ATMega32U4, AT90USB64/128, etc) and needs at least 10KB of flash memory.
4
5
6 This is a port of the TMK ADB-to-USB converter to QMK. For information on QMK, please consult the following:
7 https://github.com/qmk/qmk_firmware  
8 https://docs.qmk.fm
9
10
11 Wiring
12 ------
13 Connect the VCC, GND, and DATA lines of the ADB keyboard to the controller (Teensy 2.0 or similar). By default the DATA line uses port PD0. The Power SW line is unused by the converter.
14
15 ADB female socket from the front:
16
17       ,--_--.
18      / o4 3o \      1: DATA
19     | o2   1o |     2: Power SW
20      -  ===  -      3: VCC
21       `-___-'       4: GND
22
23 This converter uses AVR's internal pull-up, but it seems to be too weak, in particular when you want to use a long or coiled cable. Using an external pull-up resistor (1K-10K Ohm) between the DATA and VCC lines is strongly recommended.
24
25 Pull-up resistor:
26
27     Keyboard       Converter
28                    ,------.
29     5V------+------|VCC   |
30             |      |      |
31            [R]     |      |
32             |      |      |
33     Signal--+------|PD0   |
34                    |      |
35     GND------------|GND   |
36                    `------'
37     R: 1K Ohm resistor
38
39
40 Define following macros for ADB connection in config.h if you use other than port PD0.
41
42     ADB_PORT, ADB_PIN, ADB_DDR, ADB_DATA_BIT
43
44
45 Building the Firmware
46 ------------------------------------------
47 See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
48
49
50 Keymap
51 ------
52 To build the default keymap run this command:
53
54     $ make converter/adb_usb:default
55
56 You may add your own keymap to the converter/adb_usb/keymaps directory, as you would with any other QMK-powered keyboard.
57
58 To build your custom keymap, change the build command to:
59
60     $ make converter/adb_usb:my_keymap
61
62 Where 'my_keymap' is the name of your custom keymap directory.
63
64
65 Locking Caps Lock
66 ----------------
67 Many old ADB keyboards use a locking switch for the caps lock key. This converter supports the locking caps lock key by default.
68
69
70 Notes
71 -----
72 Non-extended ADB keyboards make no distinction between the left and right modifiers,
73 i.e. the keycode for the left modifier will be sent even if the right modifier
74
75 The Apple Extended Keyboard and Apple Extended Keyboard II can differentiate between the left and right modifiers except for the GUI key (Windows/Command).
76
77 Most ADB keyboards have no diodes in its matrix so they are not NKRO,
78 though the ADB protocol itself supports it. See protocol/adb.c for more info.
79
80
81 QMK Port Changelog
82 ---------
83 - 2018/09/16 - Initial release.
84 - 2018/12/23 - Fixed lock LED support.