From e4a8f24f1cde9ce513b844fd3fed948f540b539d Mon Sep 17 00:00:00 2001 From: pimpest <82343504+pimpest@users.noreply.github.com> Date: Thu, 28 May 2026 09:11:31 +0200 Subject: [PATCH] Created README.md --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 README.md 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)