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.
tmk ce2e06c394 Fix projects for new keycodes 11 年之前
..
doc Fix README.md: remove bad links 12 年之前
Makefile.iwrap Fix HHKB iWRAP build 11 年之前
Makefile.lufa Add CONSOLE_ENABLE build option to LUFA. 12 年之前
Makefile.pjrc Add Makefile.lufa to keyboard/hhkb and hbkb. 12 年之前
Makefile.vusb Fix: Makefile 11 年之前
README Made directories for keyboard and converter projects. 12 年之前
config.h Fix build option MOUSEKEY_ENABLE. 11 年之前
config_iwrap.h Fix HHKB iWRAP build 11 年之前
config_vusb.h Fix build option MOUSEKEY_ENABLE. 11 年之前
keymap.c Fix HHKB keymap 11 年之前
led.c Made directories for keyboard and converter projects. 12 年之前
matrix.c Fix projects for new keycodes 11 年之前
usbconfig.h Made directories for keyboard and converter projects. 12 年之前

README

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