43 lines
1.2 KiB
Markdown
43 lines
1.2 KiB
Markdown
# 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 by 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](https://github.com/djlastnight/KeyboardSplitterXbox).
|
|
Other planned features include the ability to save the keybinds set from the prompt.
|