You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

README 3.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. ADB to USB keyboard converter
  2. =============================
  3. http://geekhack.org/showwiki.php?title=Island:14290
  4. This firmware converts ADB keyboard protocol to USB.
  5. Build
  6. -----
  7. 0. Connect ADB keyboard to Teensy by 3 lines(Vcc, GND, Data).
  8. You need a external pull-up resistor on DATA line in most case,
  9. in particular when you want to use a long or coiled cable.
  10. This converter uses AVR's internal pull-up, but it seems to be too weak.
  11. The external pull-up resistor is strongly recommended.
  12. PSW line is optional. See ADB.txt for details.
  13. 1. Define following macros for ADB connection in config.h:
  14. ADB_PORT
  15. ADB_PIN
  16. ADB_DDR
  17. ADB_DATA_BIT
  18. ADB_PSW_BIT
  19. 2. make
  20. 3. program Teensy.
  21. Keymap
  22. ------
  23. You can change a keymap by editing code of keymap.c like following.
  24. This is a keymap for AEK, however, also used for other keyboards.
  25. How to define the keymap is probably obvious. You can find key
  26. symbols in usb_keycodes.h.
  27. If you want to define some keymaps than just one, see hhkb/keymap.c and
  28. macway/keymap.c as examples. Keymap(layer) switching may needs a bit of
  29. effort at this time.
  30. /* Default Layer: plain keymap
  31. * ,---. ,---------------. ,---------------. ,---------------. ,-----------. ,---.
  32. * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |Pwr|
  33. * `---' `---------------' `---------------' `---------------' `-----------' `---'
  34. * ,-----------------------------------------------------------. ,-----------. ,---------------.
  35. * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backspa| |Ins|Hom|PgU| |NmL| =| /| *|
  36. * |-----------------------------------------------------------| |-----------| |---------------|
  37. * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|End|PgD| | 7| 8| 9| -|
  38. * |-----------------------------------------------------------| `-----------' |---------------|
  39. * |CapsLo| A| S| D| F| G| H| J| K| L| ;| '|Return | | 4| 5| 6| +|
  40. * |-----------------------------------------------------------| ,---. |---------------|
  41. * |Shift | Z| X| C| V| B| N| M| ,| ,| /|Shift | |Up | | 1| 2| 3| |
  42. * |-----------------------------------------------------------| ,-----------. |-----------|Ent|
  43. * |Ctrl |Gui |Alt | Space | | | | |Lef|Dow|Rig| | 0| .| |
  44. * `-----------------------------------------------------------' `-----------' `---------------'
  45. */
  46. KEYMAP(
  47. ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, PWR,
  48. GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,EQL, PSLS,PAST,
  49. TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, END, PGDN, P7, P8, P9, PMNS,
  50. CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS,
  51. LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, P1, P2, P3,
  52. LCTL,LGUI,LALT, SPC, LEFT,DOWN,RGHT, P0, PDOT,PENT
  53. ),
  54. Notes
  55. -----
  56. Many ADB keyboards has no discrimination between right modifier and left one,
  57. you will always see left control even if you press right control key.
  58. Apple Extended Keyboard and Apple Extended Keyboard II are the examples.
  59. Though ADB protocol itsef has the ability of distinction between right and left.
  60. And most ADB keyboard has no NKRO functionality, though ADB protocol itsef has that.
  61. EOF