# 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)