X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=converter%2Fps2_usb%2FREADME.md;h=8a535949d8df77381d137fb70694de0b070cdbb3;hb=eb90ed6238426db9367e294abfaefb5de07564f5;hp=8f06fdd00d0c5e5e3adf74509e6e3d8cb5174e61;hpb=3ee5f565ae98cc68b6dff24225b6f8f069f6e20d;p=tmk_firmware.git diff --git a/converter/ps2_usb/README.md b/converter/ps2_usb/README.md index 8f06fdd..8a53594 100644 --- a/converter/ps2_usb/README.md +++ b/converter/ps2_usb/README.md @@ -1,56 +1,64 @@ 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 receive PS/2 signal. - -To select method edit Makefile. +This firmware converts PS/2 keyboard protocol to USB.(It supports Scan Code Set 2.) 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. +1. Connect **Vcc** and **GND**. +2. Connect **Clock** and **Data** line. + - **Interrupt**: **Clock** is on `PD1` and **Data** on `PD0`.(Recommended. Soarer's converter compatible) + - **Busywait**: **Clock** is on `PD1` and **Data** on `PD0`. + - **USART**: **Clock** is on `PD5` and **Data** on `PD2`. +3. Optionally you need pull-up resistor. 1K-10K Ohm is OK. To change pin configuration edit config.h. Build Firmware -------------- -Just run `make`: +For **PJRC Teensy** just run `make`: + $ make clean $ make To select keymap: + $ make clean $ make KEYMAP=[plain|jis|spacefn|...] +After that you will find HEX file `ps2_usb_lufa.hex` in current directory. + + +- For **TMK converter Rev.1** use `make -f Makefile.tmk_rev1` instead of `make` and HEX file is `ps2_usb_tmk_rev1.hex`. + +- For **TMK converter Rev.2** use `make -f Makefile.tmk_rev2` instead of `make` and HEX file is `ps2_usb_tmk_rev2.hex`. + 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_.c` and see keymap document(you can find in top README.md) and existent keymap files. +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_.c` and see keymap document(you can find in README.md of top directory) and existent keymap files. + + +PS/2 signal handling implementations +------------------------------------ +Following three methods can be 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 receive PS/2 signal. + +To select method edit Makefile. 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. +With V-USB you can use this converter on ATmega(168/328) but it doesn't support NKRO at this time. Circuit: