summaryrefslogtreecommitdiff
path: root/keyboard/hhkb/README
diff options
context:
space:
mode:
Diffstat (limited to 'keyboard/hhkb/README')
-rw-r--r--keyboard/hhkb/README151
1 files changed, 151 insertions, 0 deletions
diff --git a/keyboard/hhkb/README b/keyboard/hhkb/README
new file mode 100644
index 0000000000..65f7dcab5a
--- /dev/null
+++ b/keyboard/hhkb/README
@@ -0,0 +1,151 @@
+Alternative Controller for HHKB
+===============================
+
+Feature
+-------
+- Mouse Keys
+- NKRO on USB(PJRC Tennsy only)
+- Keymap Layers
+
+
+Customize Keymap
+----------------
+see keymap.c.
+
+
+
+Build
+=====
+PJRC 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, EXTRAKEY_ENABLE, NKRO_ENABLE
+3. Build hex file.
+ $ make -f Makefile.pjrc
+4. Program MCU.
+ $ make -f Makefile.pjrc program
+
+
+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, EXTRAKEY_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
+
+
+iWRAP
+-----
+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_iwrap.h.(Optional)
+ IS_COMMAND
+2. Edit Makefile.iwrap for MCU setting and build options.
+ MCU, F_CPU
+ MOUSEKEY_ENABLE, EXTRAKEY_ENABLE
+3. Build hex file.
+ $ make -f Makefile.iwrap
+4. Program MCU.
+ $ make -f Makefile.iwrap program
+
+
+
+Hardware
+========
+PJRC Teensy
+-----------
+ +---------------+
+ | Teensy++ |
+ | |
+ | | HHKB
+ | | ~~~~
+ | PB0-2|------->ROW(6-8)
+ | PB3-5|------->COL(9-11)
+ | PB6|------->ENABLE(12)
+ | PE6|<-------KEY(4)
+ | PE7|------->PREV(5)
+ | |
+ | |
+ | |
+ +---------------+
+
+
+V-USB
+-----
+ +---+ +---------------+
+USB GND | | ATmega168 |
+~~~ C3 | |
+5V <-------+--------+---|Vcc,AVCC | HHKB
+ R1 | | ~~~~
+D- <----+--+-----R2-----|INT1 PB2-4|------->ROW(6-8)
+D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11)
+ Z1 Z2 | PC3|------->ENABLE(12)
+GND<----+---+-----------|GND PB0|<-------KEY(4)
+ | PB1|------->PREV(5)
+ | |
+ GND+-C2--+--|XTAL1 RXD|------->Debug Console
+ X1 | TXD|<-------Debug Console
+ GND+-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)
+
+
+iWRAP
+-----
+ +---------------+ WT12
+ 5V | ATmega168 | 5V/3.3V~~~~
+ +-----+---|Vcc,AVCC PC4|---/--->iWRAP(RxD)
+USB | C3 | PC5|<--/----iWRAP(TxD)
+~~~ | + | |
+5V <--BATT + GND | | HHKB
+ R1 | | ~~~~
+D- <----+-----+--R2-----|INT1 PB2-4|------->ROW(6-8)
+D+ <----|---+----R3-----|INT0 PC0-2|------->COL(9-11)
+ Z1 Z2 | PC3|------->ENABLE(12)
+GND<----+---+-----------|GND PB0|<-------KEY(4)
+ | PB1|------->PREV(5)
+ | |
+ GND+-C2--+--|XTAL1 RXD|------->Debug Console
+ X1 | TXD|<-------Debug Console
+ GND+-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 12MHz
+SW: Push Switch(Optional)
+BATT: Li-Po Battery, Battery Charger and Voltage Regulator(5V and 3.3V).
+
+
+EOF