X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=converter%2Fps2_usb%2FREADME.md;h=1ad28589974a09fd86b8314836afd2b4f3e6cc66;hb=841c7d9ab411f49819735fc9629d55068d28e4e3;hp=65e616efb19e9cd95367ecccfa1a37bb145bb462;hpb=e3bcdd8211743607a8812f2dee78ee8ae6965209;p=max%2Ftmk_keyboard.git diff --git a/converter/ps2_usb/README.md b/converter/ps2_usb/README.md index 65e616ef..1ad28589 100644 --- a/converter/ps2_usb/README.md +++ b/converter/ps2_usb/README.md @@ -1,56 +1,58 @@ 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. +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. You need pull-up resistors. 1K-10K Ohm would be fine. -To change pin configuration edit config.h. +To change pin configuration edit **config.h** and **Makefile**. -Build Frimware +Build Firmware -------------- -Just run `make`: +For **TMK converter Rev.2**: + + $ make -f Makefile.rev2 clean + $ make -f Makefile.rev2 KEYMAP=plain - $ make +To program firmware push the button on converter and run: -To select keymap: + $ make -f Makefile.rev2 KEYMAP=plain dfu - $ make KEYMAP=[plain|jis|spacefn|...] + +- For **TMK converter Rev.1** use `make -f Makefile.rev1` instead. +- To select keymap use `jis`, `spacefn` or your own in place of `plain`. 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: