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. The program will now prompt you to setup your keybinds be pressing each keybind induvidualy. Once finished you can 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.
To stop emulating the gamepad press end on the designated keyboard.
TODO
In the future it will be possible to specify the keybinds through XML, likely compatible with KeyboardSplitterXbox. Other planned features include the ability to save the keybinds set from the prompt.