tmk 0dde25e81c added copyright and license notice. 14 tahun lalu
..
doc af85b6bba6 added HHKB/README and clean some codes. 14 tahun lalu
Makefile af85b6bba6 added HHKB/README and clean some codes. 14 tahun lalu
Makefile.vusb af85b6bba6 added HHKB/README and clean some codes. 14 tahun lalu
README af85b6bba6 added HHKB/README and clean some codes. 14 tahun lalu
config_pjrc.h 0dde25e81c added copyright and license notice. 14 tahun lalu
config_vusb.h 0dde25e81c added copyright and license notice. 14 tahun lalu
keymap.c 0dde25e81c added copyright and license notice. 14 tahun lalu
led.c 0dde25e81c added copyright and license notice. 14 tahun lalu
matrix.c 0dde25e81c added copyright and license notice. 14 tahun lalu
usbconfig.h 068c31a7ba added initial V-USB support for HHKB 14 tahun lalu

README

Alternative Controller for HHKB
===============================

Feature
-------
- Mouse Keys
- NKRO on USB
- Keymap Layers


Customize Keymap
----------------
see keymap.c.


Build for Teensy
----------------
0. Edit matrix.c.
adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
1. Define macros in config_pjrc.h.(Optional)
VENDOR_ID, PRODUCT_ID and string descriptor.
IS_COMMAND
2. Edit Makefile for MCU setting and build options.
MCU, F_CPU
MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE
3. Build hex file.
$ make
4. Program MCU.
$ make program


Build for V-USB
---------------
0. Edit matrix.c and usbconfig.h.
adjust scan code to your pin configuration.(see doc/HHKB.txt for pinouts)
define macros for V-USB in usbconfig.h.
1. Define macros in config_vusb.h.(Optional)
IS_COMMAND
2. Edit Makefile.vusb for MCU setting and build options.
MCU, F_CPU
MOUSEKEY_ENABLE, USB_EXTRA_ENABLE, USB_NKRO_ENABLE
3. Build hex file.
$ make -f Makefile.vusb
4. Program MCU.
$ make -f Makefile.vusb program

Using a bootloader to program for convenience is recommended.
Once program this V-USB bootloader at first, you can program MCU without
extra programmer. You should have reset switch to start up as bootloader
mode in this case.
USBaspLoader:
http://www.obdev.at/products/vusb/usbasploader.html


V-USB Circuit
-------------
+---+ +---------------+
USB GND | | ATmega168 |
=== C3 | |
5V <-------+--------+---|Vcc,AVCC | HHKB
R1 | | ====
D- <----+--+-----R2-----|INT1 PB0-2|------->ROW
D+ <----|---+----R3-----|INT0 PB3-5|------->COL
Z1 Z2 | PB6|------->ENABLE
GND<----+---+--+--+-----|GND PE6|------->KEY
| | | PE7|------->PREV
| C2-+--|XTAL1 | (see doc/HHKB.txt for pinouts)
| X1 | |
+--C3-+--|XTAL2 RST|---SW--+GND
+---------------+
R1: 1.5K Ohm
R2,R3: 68 Ohm
Z1,Z2: Zener 3.6V
C1,C2: 22pF
C3: 0.1uF
X1: Crystal 20MHz(16MHz/12MHz)
SW: Push Switch(Optional for bootloader)


EOF