ps2_usb: Update README
This commit is contained in:
parent
a2e8a1b534
commit
e7af17fec9
1 changed files with 33 additions and 21 deletions
|
|
@ -2,17 +2,14 @@ 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.
|
||||
|
||||
Connect Wires
|
||||
-------------
|
||||
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.
|
||||
https://geekhack.org/index.php?topic=14618.0
|
||||
|
||||
To change pin configuration edit **config.h** and **Makefile**.
|
||||
|
||||
Preassembled TMK PS/2-USB converter is available here.
|
||||
|
||||
https://geekhack.org/index.php?topic=72052.0
|
||||
|
||||
|
||||
Build Firmware
|
||||
|
|
@ -27,32 +24,47 @@ To program firmware push the button on converter and run:
|
|||
$ make -f Makefile.rev2 KEYMAP=plain dfu
|
||||
|
||||
|
||||
- For **TMK converter Rev.1** use `make -f Makefile.rev1` instead.
|
||||
- To select keymap use `jis`, `spacefn` or your own in place of `plain`.
|
||||
For **TMK converter Rev.1** use `Makefile.rev1` instead.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
Build your own converter
|
||||
------------------------
|
||||
Use ATMega32u4 as controller and Makefile.32u4 to build firmware.
|
||||
|
||||
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.
|
||||
|
||||
### 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.
|
||||
- **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)
|
||||
|
||||
To select method edit Makefile.
|
||||
TMK converter rev1 uses **USART** and rev2 uses **Interrupt** for reference.
|
||||
|
||||
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:
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue