|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- 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.
-
- Discuss: http://geekhack.org/showwiki.php?title=Island:14290
-
-
-
- README FIRST
- ------------
- https://github.com/tmk/tmk_keyboard
- https://github.com/tmk/tmk_keyboard/tree/master/converter/adb_usb
-
- Also check these when you are in trouble.
-
- https://github.com/tmk/tmk_keyboard/wiki
- https://github.com/tmk/tmk_keyboard/labels/NOTE
-
-
- Wiring
- ------
- Connect ADB pins to controller just by 3 lines(Vcc, GND, Data). By default Data line uses port PD0.
-
- ADB female socket from the front:
-
- ,--_--.
- / o4 3o \ 1: DATA
- | o2 1o | 2: Power SW
- - === - 3: VCC
- `-___-' 4: GND
-
- 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. The external pull-up resistor(1K-10K Ohm) on Data is strongly recommended.(It is almost must!)
- https://github.com/tmk/tmk_keyboard/wiki/FAQ#pull-up-resistor
-
- Pull-up resister:
-
- Keyboard Conveter
- ,------.
- 5V------+------|VCC |
- | | |
- [R] | |
- | | |
- Signal--+------|PD0 |
- | |
- GND------------|GND |
- `------'
- R: 1K Ohm resistor
-
-
- Define following macros for ADB connection in config.h if you use other than port PD0.
-
- ADB_PORT, ADB_PIN, ADB_DDR, ADB_DATA_BIT
-
-
- Build
- -----
- See doc/build.md. In short,
-
- $ make clean
- $ make
-
- You can select keymap(ansi is default) like this:
-
- $ 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.
-
-
- Magic command
- -------------
- To get help press `h` holding Magic key. Magic key is `Power key`.
-
-
- Locking CapsLock
- ----------------
- Many of old ADB keyboards have mechanical push-lock switch for Capslock key and this converter supports the locking Capslock key by default. See README in top directory for more detail about this feature.
- https://github.com/tmk/tmk_keyboard/blob/master/README.md#mechanical-locking-support
-
- Also you may want to remove locking pin from the push-lock switch to use capslock as a normal momentary switch.
-
-
- Notes
- -----
- Not-extended ADB keyboards have no discrimination between right modifier and left one,
- you will always see left control even if you press right control key.
- Apple Extended Keyboard and Apple Extended Keyboard II can discriminate both side
- modifiers except for GUI key(Windows/Command).
-
- 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.
-
- https://github.com/tmk/tmk_keyboard/issues/35
-
- EOF
|