X-Git-Url: https://git.friedersdorff.com/?a=blobdiff_plain;f=converter%2Fxt_usb%2FREADME.md;h=5f4f5601fca36763bf0255dceb65c4ba2aed5d43;hb=ce5e565f58003eb5144e08e3e8cdcc63a6110b76;hp=74464e264045643ca1ec842091909f10c5578d79;hpb=3def1c3065a3b1f85a99cc7336f41f486d9ec67d;p=max%2Ftmk_keyboard.git diff --git a/converter/xt_usb/README.md b/converter/xt_usb/README.md index 74464e26..5f4f5601 100644 --- a/converter/xt_usb/README.md +++ b/converter/xt_usb/README.md @@ -1,84 +1,34 @@ -PS/2 to USB keyboard converter +XT to USB keyboard converter ============================== -This firmware converts PS/2 keyboard protocol to USB.(It supports Scan Code Set 2.) +This firmware converts XT keyboard protocol to USB.(It supports Scan Code Set 1.) Connect Wires ------------- -In case of Teensy2.0(ATMega32U4): - 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. +2. Connect **Clock** and **Data** line. **Clock** is on `PD1`, **Data** on `PD0` by default. And optionally you can use `PB7` for **Reset**.(Compatible to Soarer's converter) To change pin configuration edit `config.h`. +3. You need pull-up resistor. **1K-10K Ohm** will be OK. -To change pin configuration edit **config.h** and **Makefile**. Build Firmware -------------- -For **PJRC Teensy** just run `make`: +Just run `make`: $ make clean $ make -To select keymap: +To use your own keymap create `keymap_.c` file and then: $ 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`. - + $ make KEYMAP= -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 README.md of top directory) and existent keymap files. +After that you will find HEX file `xt_usb.hex` in current directory. -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 -------------- -With V-USB you can use this converter on ATmega(168/328) but it doesn't support NKRO at this time. +See wiki pages on github for further information. https://github.com/tmk/tmk_keyboard/wiki -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) +XT keyboard protocol resource +------------------------------ +https://github.com/tmk/tmk_keyboard/wiki/IBM-PC-XT-Keyboard-Protocol