From 068c31a7ba9fc6aea33f69c0edb30ad195c320ec Mon Sep 17 00:00:00 2001 From: tmk Date: Mon, 16 May 2011 00:08:06 +0900 Subject: added initial V-USB support for HHKB --- hhkb/config_vusb.h | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 hhkb/config_vusb.h (limited to 'hhkb/config_vusb.h') diff --git a/hhkb/config_vusb.h b/hhkb/config_vusb.h new file mode 100644 index 000000000..3b44b94a3 --- /dev/null +++ b/hhkb/config_vusb.h @@ -0,0 +1,120 @@ +#ifndef CONFIG_H +#define CONFIG_H + + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0xC0FE +// TODO: share these strings with usbconfig.h +// Edit usbconfig.h to change these. +#define MANUFACTURER t.m.k. +#define PRODUCT HHKB mod +#define DESCRIPTION t.m.k. keyboard firmware for HHKB mod + + +/* matrix size */ +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 + + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (BIT_LSHIFT | BIT_RSHIFT) || \ + keyboard_report->mods == (BIT_LCTRL | BIT_RSHIFT) \ +) + + +/* mouse keys */ +#ifdef MOUSEKEY_ENABLE +# define MOUSEKEY_DELAY_TIME 255 +#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<