|
@@ -1,40 +1,56 @@
|
|
|
PS/2 to USB keyboard converter
|
|
PS/2 to USB keyboard converter
|
|
|
==============================
|
|
==============================
|
|
|
This firmware converts PS/2 keyboard protocol to USB and for now supports only Scan Code Set 2.
|
|
This firmware converts PS/2 keyboard protocol to USB and for now supports only Scan Code Set 2.
|
|
|
|
|
+This will works on USB AVR(ATMega32U4, AT90USB) or V-USB.
|
|
|
|
|
|
|
|
|
|
|
|
|
Features
|
|
Features
|
|
|
--------
|
|
--------
|
|
|
Mouse keys
|
|
Mouse keys
|
|
|
You can emulates mouse move and button click using keyboard.
|
|
You can emulates mouse move and button click using keyboard.
|
|
|
-
|
|
|
|
|
System/Media control
|
|
System/Media control
|
|
|
You can sends Power event, Volume down/up and Mute.
|
|
You can sends Power event, Volume down/up and Mute.
|
|
|
-
|
|
|
|
|
USB NKRO(actually 120KRO+8Modifiers)
|
|
USB NKRO(actually 120KRO+8Modifiers)
|
|
|
You can tolggles NKRO feature.
|
|
You can tolggles NKRO feature.
|
|
|
-
|
|
|
|
|
Keymap customization
|
|
Keymap customization
|
|
|
You can customize keymaps easily by editing source code. See keymap.c.
|
|
You can customize keymaps easily by editing source code. See keymap.c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+PS/2 signal handling implementations
|
|
|
|
|
+------------------------------------
|
|
|
|
|
+Following three methods are used to implement PS/2 signal handling.
|
|
|
|
|
+a. Simple and stupid wait & read loop(intensive use of cycles)
|
|
|
|
|
+ This is implemented with (expected) portable C code for reference. See ps2.c.
|
|
|
|
|
+b. Interrupt driven
|
|
|
|
|
+ See ps2_intr.c
|
|
|
|
|
+c. Using USART hardware module(no cycle needed)
|
|
|
|
|
+ This uses AVR USART function to recevie PS/2 signal and be used in V-USB converter.
|
|
|
|
|
+ See ps2_usart.c.
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
Build Converter
|
|
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
|
|
|
|
|
|
|
+Connect PS/2 keyboard into Teensy with 4 lines(Vcc, GND, Data, Clock).
|
|
|
|
|
+For a. Simple and stupid and b. Interrupt implementaion:
|
|
|
|
|
+ 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
|
|
|
|
|
+For c. USART implementation:
|
|
|
|
|
+ In case of Teensny(ATMega32u4) CLock is on PD2 and Data on PD5.
|
|
|
|
|
|
|
|
|
|
|
|
|
Build Frimware
|
|
Build Frimware
|
|
|
--------------
|
|
--------------
|
|
|
1. Edit Makefile for build options and MCU setting.
|
|
1. Edit Makefile for build options and MCU setting.
|
|
|
- Use 'atmega32u4' for Teensy 2.0 or 'at90usb1286' for Teensy++ 2.0.
|
|
|
|
|
|
|
+ Use 'atmega32u4' for Teensy 2.0 or 'at90usb1286' for Teensy++ 2.0.
|
|
|
2. make
|
|
2. make
|
|
|
- Just type 'make' in a terminal.
|
|
|
|
|
|
|
+ Just type 'make' in a terminal.
|
|
|
|
|
+ Use '-f Makefile.pjrc_intr' option to use b. Interrupt.
|
|
|
|
|
+ Use '-f Makefile.pjrc_usart' option to use c. USART.
|
|
|
|
|
+ Use '-f Makefile.vusb' option to build V-USB converter.
|
|
|
3. program with Teensy Loader.
|
|
3. program with Teensy Loader.
|
|
|
- http://www.pjrc.com/teensy/loader.html
|
|
|
|
|
|
|
+ http://www.pjrc.com/teensy/loader.html
|
|
|
|
|
|
|
|
|
|
|
|
|
Demonstration of Features
|
|
Demonstration of Features
|
|
@@ -97,34 +113,4 @@ To define keymap layer switching may needs a bit of your effort at this time.
|
|
|
),
|
|
),
|
|
|
|
|
|
|
|
|
|
|
|
|
-Multimedia keys
|
|
|
|
|
----------------
|
|
|
|
|
-Following lists PS/2 special keys supported by Windows.
|
|
|
|
|
-http://msdn.microsoft.com/en-us/windows/hardware/gg463372.aspx
|
|
|
|
|
-
|
|
|
|
|
-Key PS/2(Set2) HID
|
|
|
|
|
----------------------------------------------------
|
|
|
|
|
-System Power E0 37 01 0081
|
|
|
|
|
-System Sleep E0 3F 01 0082
|
|
|
|
|
-System Wake E0 5E 01 0083
|
|
|
|
|
-System Mute E0 23 0C 00E2
|
|
|
|
|
-Volume Up E0 32 0C 00E9
|
|
|
|
|
-Volume Down E0 21 0C 00EA
|
|
|
|
|
-Scan Next Track E0 4D 0C 00B5
|
|
|
|
|
-Scan Previous Track E0 15 0C 00B6
|
|
|
|
|
-Stop E0 3B 0C 00B7
|
|
|
|
|
-Play/Pause E0 34 0C 00CD
|
|
|
|
|
-Media Select E0 50 0C 0183
|
|
|
|
|
-Mail E0 48 0C 018A
|
|
|
|
|
-Calculator E0 2B 0C 0192
|
|
|
|
|
-My Computer E0 40 0C 0194
|
|
|
|
|
-WWW Search E0 10 0C 0221
|
|
|
|
|
-WWW Home E0 3A 0C 0223
|
|
|
|
|
-WWW Back E0 38 0C 0224
|
|
|
|
|
-WWW Forward E0 30 0C 0225
|
|
|
|
|
-WWW Stop E0 28 0C 0226
|
|
|
|
|
-WWW Refresh E0 20 0C 0227
|
|
|
|
|
-WWW Favorites E0 18 0C 022A
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
EOF
|
|
EOF
|