tmk d2ea9e80a0 Fix README and doc | 11 лет назад | |
---|---|---|
.. | ||
doc | 11 лет назад | |
Makefile.iwrap | 11 лет назад | |
Makefile.lufa | 11 лет назад | |
Makefile.pjrc | 11 лет назад | |
Makefile.tmk | 11 лет назад | |
Makefile.vusb | 11 лет назад | |
README.md | 11 лет назад | |
config.h | 11 лет назад | |
config_iwrap.h | 11 лет назад | |
config_vusb.h | 11 лет назад | |
iwrap.txt | 11 лет назад | |
keymap.c | 11 лет назад | |
led.c | 11 лет назад | |
matrix.c | 11 лет назад | |
usbconfig.h | 12 лет назад |
I wanted to add some features like vi cursor and mouse keys to my HHKB but its controller is not programmable and firmware source code is not open, of course. This means customizing this keyboard needs to replace original controller with programmable one. This controller can work with HHKB Professional and Professional 2 model.
See this thread in geekhack.org.
See README of tmk_keyboard for more.
I’m not a professional of electronics nor MCU programming. This may damage your HHKB. And my English writing is poor, I’m not sure I can convey my notions accurately.
See doc/HHKB.txt and files under doc/ for internal of HHKB and this controller.
You can choose some combination of hardware and USB protocol stack(LUFA, PJRC).
See this document.
$ make -f Makefile.tmk
This programs the controller with dfu-programmer if the tool is intalled and configured properly.
$ make -f Makefile.tmk dfu
Push reset button and program with FLIP. The tool should be intalled and configured properly.
$ make -f Makefile.tmk flip
Or you can also program with FLIP GUI.
Build with LUFA USB stack:
$ make -f Makefile.lufa
or with PJRC USB stack:
$ make -f Makefile.pjrc
Push reset button and program with Teensy Loader(command line). The tool should be intalled and configured properly.
$ make -f Makefile.lufa teensy
$ make -f Makefile.pjrc teensy
Or you can also program with Teensy Loader(GUI).
Build:
$ make -f Makefile.vusb
Program USBaspLoader on MCU with AVR programmer like AVRISPmkII and tool like avrdude.
You can programs with avrdude once you have programmed USBaspLoader on MCU.
$ make -f Makefile.vusb program
See tmk_keyboard documents.
You have some options for hardware. Development boards with USB AVR family(ATMega32U4, AT90USB1286) like Teensy will work while MegaAVR with V-USB library is also cheapear option for DIY.
TMK designed Keyboard Controller Board for HHKB Pro2(KiCad project). See this post.
+---------------+
| Teensy++ |
| |
| | HHKB pro HHKB pro2
| | ~~~~~~~~ ~~~~~~~~~
| PB0-2|------->ROW (6-8) (5-7)
| PB3-5|------->COL (9-11) (8-10)
| PB6|------->ENABLE (12) (11)
| PE6|<-------KEY (4) (3)
| PE7|------->PREV (5) (4)
| |
| | 5V--- (1-3) (1-2)
| | GND--- (13-14) (12-13)
+---------------+
+---+ +---------------+
USB GND | | ATmega328p |
~~~ C3 | |
5V <-------+--------+---|Vcc,AVCC | HHKB pro pro2
R1 | | ~~~~~~~~ ~~~~
D- <----+--+-----R2-----|INT1 PB2-4|------->ROW (6-8) (5-7)
D+ <----|---+----R3-----|INT0 PC0-2|------->COL (9-11) (8-10)
Z1 Z2 | PC3|------->ENABLE (12) (11)
GND<----+---+-----------|GND PB0|<-------KEY (4) (3)
| PB1|------->PREV (5) (4)
| |
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(for bootloader)