diff --git a/README.md b/README.md new file mode 100644 index 0000000..bbca0b2 --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# Keyboard-controller-rs + +A simple program to convert keyboard inputs to gamepad inputs using evdev. + +## Purpose + +This program was created to allow multiple people to play GGST locally +when both players are on keyboards. Using evdev, it creates a virtual gamepad +and grabs the user's keyboard, forwarding key events as gamepad inputs. + +## Building + +``` +cargo build --release +``` + +## Usage + +Run: + +``` +sudo keyboard_controller +``` + +Once prompted, press any key on the target keyboard. You can now open GGST. + +> [!WARNING] +> Make sure to enter the main menu using the controller. As of writing, GGST has +a bug where if the player controlling the main menu is using a keyboard +instead of a gamepad, the button mappings for the gamepad user will be +completely messed up. + +## TODO + +As of right now the program uses hardcoded keybinds used by the author. In the +future it will be possible to specify the keybinds through XML, likely +compatible with [KeyboardSplitterXbox](https://github.com/djlastnight/KeyboardSplitterXbox)