blob: 2a441810161e59747b9fe67bea22a586c583a392 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
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
|