]> git.friedersdorff.com Git - max/tmk_keyboard.git/blobdiff - converter/ps2_usb/README.md
ibmpc_usb: Update prebuilt firmware hex files
[max/tmk_keyboard.git] / converter / ps2_usb / README.md
index 74464e264045643ca1ec842091909f10c5578d79..9b4585d360aa50a800db81427253a33b655e4ae7 100644 (file)
@@ -2,63 +2,69 @@ PS/2 to USB keyboard converter
 ==============================
 This firmware converts PS/2 keyboard protocol to USB.(It supports Scan Code Set 2.)
 
+You can discuss about this converter here.
+
+https://geekhack.org/index.php?topic=14618.0
 
-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.
+Preassembled TMK PS/2-USB converter is available here.
 
-To change pin configuration edit **config.h** and **Makefile**.
+https://geekhack.org/index.php?topic=72052.0
 
 
 Build Firmware
 --------------
-For **PJRC Teensy** just run `make`:
+For **TMK converter Rev.2**:
+
+    $ make -f Makefile.rev2 clean
+    $ make -f Makefile.rev2 KEYMAP=plain
+
+To program firmware push the button on converter and run:
 
-    $ make clean
-    $ make
+    $ make -f Makefile.rev2 KEYMAP=plain dfu
 
-To select keymap:
 
-    $ make clean
-    $ make KEYMAP=[plain|jis|spacefn|...]
+For **TMK converter Rev.1** use `Makefile.rev1` instead.
 
-After that you will find HEX file `ps2_usb_lufa.hex` in current directory.
+If your use DIY converter with ATMega32u4 board you can use `Makefile.32u4`, but note that progarmming with 'dfu' may not work for your converter.
 
 
-- For **TMK converter Rev.1** use `make -f Makefile.tmk_rev1` instead of `make` and HEX file is `ps2_usb_tmk_rev1.hex`.
+Build your own converter
+------------------------
+Use ATMega32u4 as controller and Makefile.32u4 to build firmware.
 
-- For **TMK converter Rev.2** use `make -f Makefile.tmk_rev2` instead of `make` and HEX file is `ps2_usb_tmk_rev2.hex`.
+1. Wire **Vcc** and **GND** properly.
+2. Connect **Clock** to `PD1` and **Data** to `PD0` line. (Compatible to Soarer's converter pin configuration)
+3. You need pull-up resistors on both signal lines. 1K-10K Ohm would be fine.
+
+You can configure controller and pin configurations in Makefile and config.h.
 
 
 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_<name>.c` and see keymap document(you can find in README.md of top directory) and existent keymap files.
+To define your own keymap copy `unimap_plain.c` to `unimap_<name>.c` and edit it. Or just edit `unimap_plain.c` directly.
+
+See wiki pages and documents.
+
+https://github.com/tmk/tmk_keyboard/wiki
 
 
 PS/2 signal handling implementations
 ------------------------------------
-Following three methods can be used to implement PS/2 signal handling.
+Following three methods are available to implement PS/2 signal handling.
+
+- **Interrupt** Uses pin interrupt to detect falling edge of clock line. **Recommended.** (ps2_interrupt.c)
+- **Busywait** Implementation with portable C code for reference. (ps2_busywait.c)
+- **USART** Uses AVR USART hardware engine to receive PS/2 signal. You must use this fothis for V-USB. (ps2_usart.c)
 
-### 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.
+TMK converter rev1 uses **USART** and rev2 uses **Interrupt** for reference.
 
-To select method edit Makefile.
+You can change method by editing `Makefile` but not needed in most case.
 
 
 V-USB Support
 -------------
-With V-USB you can use this converter on ATmega(168/328) but it doesn't support NKRO at this time.
+With V-USB you can use this converter on ATmega(168/328). Use Makefile.vusb to build firmeware. Not supported actively anymore.
 
 Circuit: