Add SpaceFN keymap and JIS keymap
This commit is contained in:
parent
d2a83dae8f
commit
e3bcdd8211
5 changed files with 142 additions and 408 deletions
76
converter/ps2_usb/README.md
Normal file
76
converter/ps2_usb/README.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
PS/2 to USB keyboard converter
|
||||
==============================
|
||||
This firmware converts PS/2 keyboard protocol to USB and supports only Scan Code Set 2.
|
||||
|
||||
|
||||
PS/2 signal handling implementations
|
||||
------------------------------------
|
||||
Following three methods are used to implement PS/2 signal handling.
|
||||
|
||||
### Simple and stupid busy-wait(ps2_busywait.c)
|
||||
This is expected to implemented with portable C code for reference.
|
||||
### Interrupt driven(ps2_interrupt.c)
|
||||
Uses pin interrupt to detect falling edge of clock line.
|
||||
### USART hardware module(ps2_usart.c)
|
||||
Uses AVR USART engine to recevie PS/2 signal.
|
||||
|
||||
To select method edit Makefile.
|
||||
|
||||
|
||||
Connect Wires
|
||||
-------------
|
||||
In case of Teensy2.0(ATMega32U4):
|
||||
|
||||
1. Connect Vcc and GND.
|
||||
2. Connect Clock and Data line.
|
||||
- Busywait: Clock is on PD5 and Data on PD2.
|
||||
- Interrupt: Clock is on PD1 and Data on PD2.
|
||||
- USART: Clock is on PD5 and Data on PD2.
|
||||
3. Optionally you need pull-up register. 1K-10K Ohm is OK.
|
||||
|
||||
To change pin configuration edit config.h.
|
||||
|
||||
|
||||
Build Frimware
|
||||
--------------
|
||||
Just run `make`:
|
||||
|
||||
$ make
|
||||
|
||||
To select keymap:
|
||||
|
||||
$ make KEYMAP=[plain|jis|spacefn|...]
|
||||
|
||||
|
||||
Keymap
|
||||
------
|
||||
Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_<name>.c` and see keymap document(you can find in top README.md) and existent keymap files.
|
||||
|
||||
|
||||
V-USB Support
|
||||
-------------
|
||||
You can also use this converter on ATmega(168/328) with V-USB instead of Teensy.
|
||||
The converter on V-USB lacks some features for now: USB NKRO and System/Media control.
|
||||
|
||||
Circuit:
|
||||
|
||||
+---+ +---------------+
|
||||
USB GND | | ATmega168 |
|
||||
=== C3 | |
|
||||
5V <-------+--------+---|Vcc,AVCC | PS/2
|
||||
R1 | | ====
|
||||
D- <----+--+-----R2-----|INT1 RXD|------->DATA
|
||||
D+ <----|---+----R3-----|INT0 XCK|------->CLOCK
|
||||
Z1 Z2 | | ->5V
|
||||
GND<----+---+--+--+-----|GND | ->GND
|
||||
| | | |
|
||||
| C2-+--|XTAL1 |
|
||||
| X1 | |
|
||||
+--C3-+--|XTAL2 |
|
||||
+---------------+
|
||||
R1: 1.5K Ohm
|
||||
R2,R3: 68 Ohm
|
||||
Z1,Z2: Zenner 3.6V
|
||||
C1,C2: 22pF
|
||||
C3: 0.1uF
|
||||
X1: Crystal 20MHz(16MHz/12MHz)
|
||||
Loading…
Add table
Add a link
Reference in a new issue