diff options
author | tmk <nobody@nowhere> | 2011-05-25 10:37:58 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2011-05-25 11:30:14 +0900 |
commit | af85b6bba6744573f1edecd26fb504c31094414f (patch) | |
tree | 3ba304c36fa36c83d06123b569c77b68b801e7cd /hhkb | |
parent | 74f7e19863ced21bf5d27c1fb1207f79f2195e24 (diff) | |
download | qmk_firmware-af85b6bba6744573f1edecd26fb504c31094414f.tar.gz |
added HHKB/README and clean some codes.
Diffstat (limited to 'hhkb')
-rw-r--r--[-rwxr-xr-x] | hhkb/Makefile | 11 | ||||
-rw-r--r-- | hhkb/Makefile.vusb | 11 | ||||
-rw-r--r-- | hhkb/README | 80 | ||||
-rw-r--r-- | hhkb/config_pjrc.h (renamed from hhkb/config.h) | 0 | ||||
-rw-r--r-- | hhkb/config_vusb.h | 88 | ||||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/HHKB_TP1684.jpg | bin | 149082 -> 149082 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/HHKB_chart1.jpg | bin | 155342 -> 155342 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/HHKB_chart2.jpg | bin | 148225 -> 148225 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/HHKB_connector.jpg | bin | 193900 -> 193900 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/HHKB_controller.jpg | bin | 135100 -> 135100 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/HHKB_keyswitch.jpg | bin | 171469 -> 171469 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/connector_contact.jpg | bin | 192830 -> 192830 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/logic_analyzer.jpg | bin | 169564 -> 169564 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/probe_contact.jpg | bin | 208477 -> 208477 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/teensy_install.jpg | bin | 135851 -> 135851 bytes | |||
-rw-r--r--[-rwxr-xr-x] | hhkb/doc/teensy_wiring.jpg | bin | 154695 -> 154695 bytes |
16 files changed, 94 insertions, 96 deletions
diff --git a/hhkb/Makefile b/hhkb/Makefile index 4a0af1cdc..e1cc2f210 100755..100644 --- a/hhkb/Makefile +++ b/hhkb/Makefile @@ -1,5 +1,10 @@ +# +# Makefile for PJRC Teensy +# + + # Target file name (without extension). -TARGET = hhkb +TARGET = hhkb_pjrc # Directory common source filess exist COMMON_DIR = .. @@ -13,7 +18,7 @@ TARGET_SRC = main_pjrc.c \ matrix.c \ led.c -CONFIG_H = config.h +CONFIG_H = config_pjrc.h # MCU name, you MUST set this to match the board you are using @@ -36,7 +41,7 @@ F_CPU = 16000000 # comment out to disable the options. MOUSEKEY_ENABLE = yes # Mouse keys #PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support -USB_EXTRA_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) +USB_EXTRA_ENABLE = yes # Audio control and System control USB_NKRO_ENABLE = yes # USB Nkey Rollover diff --git a/hhkb/Makefile.vusb b/hhkb/Makefile.vusb index 7826ffd02..77841b824 100644 --- a/hhkb/Makefile.vusb +++ b/hhkb/Makefile.vusb @@ -1,3 +1,8 @@ +# +# Makefile for V-USB +# + + # Target file name (without extension). TARGET = hhkb_vusb @@ -23,10 +28,6 @@ OPT_DEFS = -DDEBUG_LEVEL=0 # MCU name, you MUST set this to match the board you are using # type "make clean" after changing this, so all files will be rebuilt -#MCU = at90usb162 # Teensy 1.0 -#MCU = atmega32u4 # Teensy 2.0 -#MCU = at90usb646 # Teensy++ 1.0 -#MCU = at90usb1286 # Teensy++ 2.0 MCU = atmega168 @@ -42,7 +43,7 @@ F_CPU = 20000000 # comment out to disable the options. # MOUSEKEY_ENABLE = yes # Mouse keys -USB_EXTRA_ENABLE = yes # Enhanced feature for Windows(Audio control and System control) +USB_EXTRA_ENABLE = yes # Audio control and System control #USB_NKRO_ENABLE = yes # USB Nkey Rollover diff --git a/hhkb/README b/hhkb/README new file mode 100644 index 000000000..2a4418101 --- /dev/null +++ b/hhkb/README @@ -0,0 +1,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 diff --git a/hhkb/config.h b/hhkb/config_pjrc.h index 886eef928..886eef928 100644 --- a/hhkb/config.h +++ b/hhkb/config_pjrc.h diff --git a/hhkb/config_vusb.h b/hhkb/config_vusb.h index 3b44b94a3..7c4291a21 100644 --- a/hhkb/config_vusb.h +++ b/hhkb/config_vusb.h @@ -29,92 +29,4 @@ #endif -/* PS/2 lines */ -#ifdef PS2_MOUSE_ENABLE - -#define PS2_CLOCK_PORT PORTD -#define PS2_CLOCK_PIN PIND -#define PS2_CLOCK_DDR DDRD -#define PS2_CLOCK_BIT 4 -#define PS2_DATA_PORT PORTD -#define PS2_DATA_PIN PIND -#define PS2_DATA_DDR DDRD -#define PS2_DATA_BIT 0 - - -// Synchronous USART is used to receive data from keyboard. -// Use RXD pin for PS/2 DATA line and XCK for PS/2 CLOCK. -// NOTE: This is recomended strongly if you use V-USB library. -#define PS2_USE_USART - -// External or Pin Change Interrupt is used to receive data from keyboard. -// Use INT1 or PCINTxx for PS/2 CLOCK line. see below. -//#define PS2_USE_INT - - -#ifdef PS2_USE_USART -// synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge -// set DDR of CLOCK as input to be slave -#define PS2_USART_INIT() do { \ - PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \ - PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \ - UCSR0C = ((1 << UMSEL00) | \ - (3 << UPM00) | \ - (0 << USBS0) | \ - (3 << UCSZ00) | \ - (0 << UCPOL0)); \ - UCSR0A = 0; \ - UBRR0H = 0; \ - UBRR0L = 0; \ -} while (0) -#define PS2_USART_RX_INT_ON() do { \ - UCSR0B = ((1 << RXCIE0) | \ - (1 << RXEN0)); \ -} while (0) -#define PS2_USART_RX_POLL_ON() do { \ - UCSR0B = (1 << RXEN0); \ -} while (0) -#define PS2_USART_OFF() do { \ - UCSR0C = 0; \ - UCSR0B &= ~((1 << RXEN0) | \ - (1 << TXEN0)); \ -} while (0) -#define PS2_USART_RX_READY (UCSR0A & (1<<RXC0)) -#define PS2_USART_RX_DATA UDR0 -#define PS2_USART_ERROR (UCSR0A & ((1<<FE0) | (1<<DOR0) | (1<<UPE0))) -#define PS2_USART_RX_VECT USART_RX_vect -#endif - - -#ifdef PS2_USE_INT -/* INT1 -#define PS2_INT_INIT() do { \ - EICRA |= ((1<<ISC11) | \ - (0<<ISC10)); \ -} while (0) -#define PS2_INT_ON() do { \ - EIMSK |= (1<<INT1); \ -} while (0) -#define PS2_INT_OFF() do { \ - EIMSK &= ~(1<<INT1); \ -} while (0) -#define PS2_INT_VECT INT1_vect -*/ - -/* PCINT20 */ -#define PS2_INT_INIT() do { \ - PCICR |= (1<<PCIE2); \ -} while (0) -#define PS2_INT_ON() do { \ - PCMSK2 |= (1<<PCINT20); \ -} while (0) -#define PS2_INT_OFF() do { \ - PCMSK2 &= ~(1<<PCINT20); \ - PCICR &= ~(1<<PCIE2); \ -} while (0) -#define PS2_INT_VECT PCINT2_vect -#endif - -#endif - #endif diff --git a/hhkb/doc/HHKB_TP1684.jpg b/hhkb/doc/HHKB_TP1684.jpg Binary files differindex 0a0316409..0a0316409 100755..100644 --- a/hhkb/doc/HHKB_TP1684.jpg +++ b/hhkb/doc/HHKB_TP1684.jpg diff --git a/hhkb/doc/HHKB_chart1.jpg b/hhkb/doc/HHKB_chart1.jpg Binary files differindex 1f09bd185..1f09bd185 100755..100644 --- a/hhkb/doc/HHKB_chart1.jpg +++ b/hhkb/doc/HHKB_chart1.jpg diff --git a/hhkb/doc/HHKB_chart2.jpg b/hhkb/doc/HHKB_chart2.jpg Binary files differindex 45f5ada90..45f5ada90 100755..100644 --- a/hhkb/doc/HHKB_chart2.jpg +++ b/hhkb/doc/HHKB_chart2.jpg diff --git a/hhkb/doc/HHKB_connector.jpg b/hhkb/doc/HHKB_connector.jpg Binary files differindex e8a09e9b2..e8a09e9b2 100755..100644 --- a/hhkb/doc/HHKB_connector.jpg +++ b/hhkb/doc/HHKB_connector.jpg diff --git a/hhkb/doc/HHKB_controller.jpg b/hhkb/doc/HHKB_controller.jpg Binary files differindex e3dae8e86..e3dae8e86 100755..100644 --- a/hhkb/doc/HHKB_controller.jpg +++ b/hhkb/doc/HHKB_controller.jpg diff --git a/hhkb/doc/HHKB_keyswitch.jpg b/hhkb/doc/HHKB_keyswitch.jpg Binary files differindex 3afc269e7..3afc269e7 100755..100644 --- a/hhkb/doc/HHKB_keyswitch.jpg +++ b/hhkb/doc/HHKB_keyswitch.jpg diff --git a/hhkb/doc/connector_contact.jpg b/hhkb/doc/connector_contact.jpg Binary files differindex 5304bc8d7..5304bc8d7 100755..100644 --- a/hhkb/doc/connector_contact.jpg +++ b/hhkb/doc/connector_contact.jpg diff --git a/hhkb/doc/logic_analyzer.jpg b/hhkb/doc/logic_analyzer.jpg Binary files differindex f1b438ae7..f1b438ae7 100755..100644 --- a/hhkb/doc/logic_analyzer.jpg +++ b/hhkb/doc/logic_analyzer.jpg diff --git a/hhkb/doc/probe_contact.jpg b/hhkb/doc/probe_contact.jpg Binary files differindex dc79afa0c..dc79afa0c 100755..100644 --- a/hhkb/doc/probe_contact.jpg +++ b/hhkb/doc/probe_contact.jpg diff --git a/hhkb/doc/teensy_install.jpg b/hhkb/doc/teensy_install.jpg Binary files differindex 873d988ed..873d988ed 100755..100644 --- a/hhkb/doc/teensy_install.jpg +++ b/hhkb/doc/teensy_install.jpg diff --git a/hhkb/doc/teensy_wiring.jpg b/hhkb/doc/teensy_wiring.jpg Binary files differindex 1c4eb6743..1c4eb6743 100755..100644 --- a/hhkb/doc/teensy_wiring.jpg +++ b/hhkb/doc/teensy_wiring.jpg |