From af85b6bba6744573f1edecd26fb504c31094414f Mon Sep 17 00:00:00 2001 From: tmk Date: Wed, 25 May 2011 10:37:58 +0900 Subject: [PATCH] added HHKB/README and clean some codes. --- adb.c | 0 adb_usb/Makefile | 2 +- adb_usb/matrix.c | 0 command.c | 0 hhkb/Makefile | 11 ++-- hhkb/Makefile.vusb | 11 ++-- hhkb/README | 80 ++++++++++++++++++++++++++++ hhkb/{config.h => config_pjrc.h} | 0 hhkb/config_vusb.h | 88 ------------------------------- hhkb/doc/HHKB_TP1684.jpg | Bin hhkb/doc/HHKB_chart1.jpg | Bin hhkb/doc/HHKB_chart2.jpg | Bin hhkb/doc/HHKB_connector.jpg | Bin hhkb/doc/HHKB_controller.jpg | Bin hhkb/doc/HHKB_keyswitch.jpg | Bin hhkb/doc/connector_contact.jpg | Bin hhkb/doc/logic_analyzer.jpg | Bin hhkb/doc/probe_contact.jpg | Bin hhkb/doc/teensy_install.jpg | Bin hhkb/doc/teensy_wiring.jpg | Bin macway/Makefile | 4 +- ps2_usb/Makefile | 9 +++- ps2_usb/Makefile.vusb | 9 +++- 23 files changed, 111 insertions(+), 103 deletions(-) mode change 100755 => 100644 adb.c mode change 100755 => 100644 adb_usb/Makefile mode change 100755 => 100644 adb_usb/matrix.c mode change 100755 => 100644 command.c mode change 100755 => 100644 hhkb/Makefile create mode 100644 hhkb/README rename hhkb/{config.h => config_pjrc.h} (100%) mode change 100755 => 100644 hhkb/doc/HHKB_TP1684.jpg mode change 100755 => 100644 hhkb/doc/HHKB_chart1.jpg mode change 100755 => 100644 hhkb/doc/HHKB_chart2.jpg mode change 100755 => 100644 hhkb/doc/HHKB_connector.jpg mode change 100755 => 100644 hhkb/doc/HHKB_controller.jpg mode change 100755 => 100644 hhkb/doc/HHKB_keyswitch.jpg mode change 100755 => 100644 hhkb/doc/connector_contact.jpg mode change 100755 => 100644 hhkb/doc/logic_analyzer.jpg mode change 100755 => 100644 hhkb/doc/probe_contact.jpg mode change 100755 => 100644 hhkb/doc/teensy_install.jpg mode change 100755 => 100644 hhkb/doc/teensy_wiring.jpg mode change 100755 => 100644 ps2_usb/Makefile diff --git a/adb.c b/adb.c old mode 100755 new mode 100644 diff --git a/adb_usb/Makefile b/adb_usb/Makefile old mode 100755 new mode 100644 index 92b9ba1a..802b4248 --- a/adb_usb/Makefile +++ b/adb_usb/Makefile @@ -38,7 +38,7 @@ F_CPU = 16000000 # 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/adb_usb/matrix.c b/adb_usb/matrix.c old mode 100755 new mode 100644 diff --git a/command.c b/command.c old mode 100755 new mode 100644 diff --git a/hhkb/Makefile b/hhkb/Makefile old mode 100755 new mode 100644 index 4a0af1cd..e1cc2f21 --- 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 7826ffd0..77841b82 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 00000000..2a441810 --- /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 similarity index 100% rename from hhkb/config.h rename to hhkb/config_pjrc.h diff --git a/hhkb/config_vusb.h b/hhkb/config_vusb.h index 3b44b94a..7c4291a2 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<