summaryrefslogtreecommitdiff
path: root/ps2_usb/README
diff options
context:
space:
mode:
Diffstat (limited to 'ps2_usb/README')
-rw-r--r--ps2_usb/README138
1 files changed, 51 insertions, 87 deletions
diff --git a/ps2_usb/README b/ps2_usb/README
index 0fdeaf1df5..b3bcfbe4dc 100644
--- a/ps2_usb/README
+++ b/ps2_usb/README
@@ -1,111 +1,75 @@
PS/2 to USB keyboard converter
==============================
-
-This firmware converts PS/2 keyboard protocol to USB.
-
-
-Demostration build
-------------------
-In this demo build, you can try several layouts,
-mouse keys and USB NKRO.
-
-Special keys:
- Magic+0: Qwerty with mouse keys(default)
- Magic+1: Qwerty
- Magic+2: Colemak
- Magic+3: Dvorak
- Magic+4: Workman
- Magic+N: toggles NKRO/6KRO(6KRO by default)
- Magic+Esc: sends Power Event
- where Magic=(LShift+RShift) or (LControl+RShift)
-
-Keybinds:
- Fn0+(hjkl): Mouse key move(vi cursor)
- Fn0+(yuio): Mouse wheel(left,down,up,right)
- Fn0+space: Mouse button1
- Fn0+(mnb): Mouse buttons(1,2,3)
- Fn0+(zxc): Media control(Volup, Voldown, Mute)
- Fn1+(hjkl): Cursor move(vi cursor)
- Fn1+(nm,.): Cursor move(Home,PageDown,PageUp,End)
-
- Fn2+(esdf): Mouse key move(invert T cursor)
- Fn2+(qwrt): Mouse wheel(left,down,up,right)
- Fn2+space: Mouse button1
- Fn2+(,./): Media control(Volup, Voldown, Mute)
- where Fn0=;, Fn1=/, Fn2=a
+This firmware converts PS/2 keyboard protocol to USB and for now supports only Scan Code Set 2.
Features
--------
Mouse keys
You can emulates mouse move and button click using keyboard.
+
System/Media control
You can sends Power event, Volume down/up and Mute.
+
USB NKRO(actually 120KRO+8Modifiers)
- You can tolggles NKRO/6KRO.(Not tested on Mac.)
+ You can tolggles NKRO feature.
+
Keymap customization
- You can customize keymaps easily by editing source code.
-
-
-Build for Teensy
-----------------
-0. Connect PS/2 keyboard to Teensy by 4 lines(Vcc, GND, Data, Clock).
-1. Define following macros for PS/2 connection in config_pjrc.h:
- PS2_DATA_PORT
- PS2_DATA_PIN
- PS2_DATA_DDR
- PS2_DATA_BIT
- PS2_CLOCK_PORT
- PS2_CLOCK_PIN
- PS2_CLOCK_DDR
- PS2_CLOCK_BIT
-2. Edit Makefile for build options and MCU setting.
+ You can customize keymaps easily by editing source code. See keymap.c.
+
+
+Build Converter
+---------------
+0. Connect PS/2 keyboard into Teensy with 4 lines(Vcc, GND, Data, Clock).
+ By default Clock is on PF0 and Data on PF1.
+ You can change this pin configuration by editing config_pjrc.h.
+ In this photo Vcc is yellow, GND is green, Data is red and Clock is black.
+ http://img17.imageshack.us/img17/7243/201101181933.jpg
+
+
+Build Frimware
+--------------
+1. Edit Makefile for build options and MCU setting.
+ Use 'atmega32u4' for Teensy 2.0 or 'at90usb1286' for Teensy++ 2.0.
2. make
-3. program Teensy.
+ Just type 'make' in a terminal.
+3. program with Teensy Loader.
http://www.pjrc.com/teensy/loader.html
-Build for V-USB
----------------
-0. Build V-USB controller board and connect PS/2 keyboard.
-1. Define macros in config_vusb.h if needed.
-2. Edit Makefile.vusb for build options and MCU setting.
-3. make -f Makefile.vusb
-4. program your V-USB controller.
-
-
-V-USB 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)
+Demonstration of Features
+-------------------------
+In default configuration, you can try several keymaps, mousekeys and USB NKRO.
+Use following magic key combinations to enable some features.
+
+keymaps and NKRO:
+ Magic+0: Qwerty with mousekeys(default)
+ Magic+1: Qwerty without mousekeys
+ Magic+2: Colemak
+ Magic+3: Dvorak
+ Magic+4: Workman
+ Magic+N: toggles NKRO/6KRO(6KRO by default)
+ Magic+Esc: sends Power Event(Power button)
+
+ where Magic=(LShift+RShift) or (LControl+RShift)
+
+Fn layer function:
+ Fn0+(hjkl): Mousekey move(vi cursor like)
+ Fn0+(yuio): Mouse wheel(left,down,up,right)
+ Fn0+space: Mouse left button
+ Fn0+(mnb): Mouse buttons(m=left, n=right, b=middle)
+ Fn0+(zxc): Media control(Volup, Voldown, Mute)
+ Fn1+(hjkl): Cursor move(vi cursor like)
+ Fn1+(nm,.): Cursor move(Home,PageDown,PageUp,End)
+
+ where Fn0=;, Fn1=/
Keymap
------
You can change a keymap by editing code of keymap.c like following.
-How to define the keymap is probably obvious. You can find key
-symbols in usb_keycodes.h.
-If you want to define more than one keymap, see hhkb/keymap.c and
-macway/keymap.c as examples. To define keymap(layer) switching may
-needs a bit of your effort at this time.
+How to define the keymap is probably obvious. You can find key symbols in usb_keycodes.h.
+To define keymap layer switching may needs a bit of your effort at this time.
/* Default Layer: plain keymap
* ,---. ,---------------. ,---------------. ,---------------. ,-----------. ,-----------.