diff options
author | tmk <nobody@nowhere> | 2012-01-16 00:41:06 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2012-01-16 00:41:06 +0900 |
commit | 9addeae8725719c138b097890edaed076686e061 (patch) | |
tree | 7edd5a7437bf108de013cf2f0b62a88d1e792bfb /ps2_usb/README | |
parent | 579991b927483da884b2f22d43e91bb8550cd534 (diff) |
Added USART implementation for PS/2 signal handling.
Diffstat (limited to 'ps2_usb/README')
-rw-r--r-- | ps2_usb/README | 68 |
1 files changed, 27 insertions, 41 deletions
diff --git a/ps2_usb/README b/ps2_usb/README index b3bcfbe4dc..fe651f0310 100644 --- a/ps2_usb/README +++ b/ps2_usb/README @@ -1,40 +1,56 @@ 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 will works on USB AVR(ATMega32U4, AT90USB) or V-USB. 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 feature. - Keymap customization 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 --------------- -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 -------------- 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 - 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. - http://www.pjrc.com/teensy/loader.html + http://www.pjrc.com/teensy/loader.html 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 |