Keyboard firmwares for Atmel AVR and Cortex-M
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.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. Alternative Controller for HHKB
  2. ===============================
  3. Feature
  4. -------
  5. - Mouse Keys
  6. - NKRO on USB
  7. - Keymap Layers
  8. Customize Keymap
  9. ----------------
  10. see keymap.c.
  11. Build for Teensy
  12. ----------------
  13. 0. Edit matrix.c.
  14. adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
  15. 1. Define macros in config_pjrc.h.(Optional)
  16. VENDOR_ID, PRODUCT_ID and string descriptor.
  17. IS_COMMAND
  18. 2. Edit Makefile for MCU setting and build options.
  19. MCU, F_CPU
  20. MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE
  21. 3. Build hex file.
  22. $ make
  23. 4. Program MCU.
  24. $ make program
  25. Build for V-USB
  26. ---------------
  27. 0. Edit matrix.c and usbconfig.h.
  28. adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
  29. define macros for V-USB in usbconfig.h.
  30. 1. Define macros in config_vusb.h.(Optional)
  31. IS_COMMAND
  32. 2. Edit Makefile.vusb for MCU setting and build options.
  33. MCU, F_CPU
  34. MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE
  35. 3. Build hex file.
  36. $ make -f Makefile.vusb
  37. 4. Program MCU.
  38. $ make -f Makefile.vusb program
  39. Using a bootloader to program for convenience is recommended.
  40. Once program this V-USB bootloader at first, you can program MCU without
  41. extra programmer. You should have reset switch to start up as bootloader
  42. mode in this case.
  43. USBaspLoader:
  44. http://www.obdev.at/products/vusb/usbasploader.html
  45. V-USB Circuit
  46. -------------
  47. +---+ +---------------+
  48. USB GND | | ATmega168 |
  49. === C3 | |
  50. 5V <-------+--------+---|Vcc,AVCC | HHKB
  51. R1 | | ====
  52. D- <----+--+-----R2-----|INT1 PB0-2|------->ROW
  53. D+ <----|---+----R3-----|INT0 PB3-5|------->COL
  54. Z1 Z2 | PB6|------->ENABLE
  55. GND<----+---+--+--+-----|GND PE6|------->KEY
  56. | | | PE7|------->PREV
  57. | C2-+--|XTAL1 | (see doc/HHKB.txt for pinouts)
  58. | X1 | |
  59. +--C3-+--|XTAL2 RST|---SW--+GND
  60. +---------------+
  61. R1: 1.5K Ohm
  62. R2,R3: 68 Ohm
  63. Z1,Z2: Zener 3.6V
  64. C1,C2: 22pF
  65. C3: 0.1uF
  66. X1: Crystal 20MHz(16MHz/12MHz)
  67. SW: Push Switch(Optional for bootloader)
  68. EOF