From 38d61ee1b191d40bcccbc252fdddba47e5bb8f36 Mon Sep 17 00:00:00 2001 From: tmk Date: Sat, 24 Mar 2012 01:43:37 +0900 Subject: Added SHARP X68000 keyboard support. --- x68k_usb/config_pjrc.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 x68k_usb/config_pjrc.h (limited to 'x68k_usb/config_pjrc.h') diff --git a/x68k_usb/config_pjrc.h b/x68k_usb/config_pjrc.h new file mode 100644 index 0000000000..20758bf249 --- /dev/null +++ b/x68k_usb/config_pjrc.h @@ -0,0 +1,66 @@ +/* +Copyright 2012 Jun Wako + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef CONFIG_H +#define CONFIG_H + +/* controller configuration */ +#include "controller_teensy.h" + +#define VENDOR_ID 0xFEED +#define PRODUCT_ID 0x6800 +#define MANUFACTURER t.m.k. +#define PRODUCT SHARP X68000 keyboard converter +#define DESCRIPTION converts SHARP X68000 keyboard protocol into USB + + +/* matrix size */ +#define MATRIX_ROWS 16 +#define MATRIX_COLS 8 + + +/* key combination for command */ +#define IS_COMMAND() ( \ + keyboard_report->mods == (MOD_BIT(KB_LALT) | MOD_BIT(KB_RALT)) || \ + keyboard_report->mods == (MOD_BIT(KB_LCTRL) | MOD_BIT(KB_RSHIFT)) \ +) + + +/* mouse keys */ +#ifdef MOUSEKEY_ENABLE +# define MOUSEKEY_DELAY_TIME 255 +#endif + + +/* USART configuration + * asynchronous, 2400baud, 8-data bit, non parity, 1-stop bit, no flow control + */ +#ifdef __AVR_ATmega32U4__ +# define KBD_RX_VECT USART1_RX_vect +# define KBD_RX_DATA UDR1 +# define KBD_RX_BAUD 2400 +# define KBD_RX_UBBR ((F_CPU/(16UL*KBD_RX_BAUD))-1) +# define KBD_RX_INIT() do { \ + UBRR1L = (uint8_t) KBD_RX_UBBR; \ + UBRR1H = (uint8_t) (KBD_RX_UBBR>>8); \ + UCSR1B |= (1<