Baekalfen / PyBoy

Game Boy emulator written in Python
Other
4.62k stars 474 forks source link

Change keybindings #249

Open zanprgmr opened 1 year ago

zanprgmr commented 1 year ago

I wanted to suggest an improvement for PyBoy, the Game Boy emulator. It would be great if there was an easy way to change the keybindings. Perhaps you could add a function or a "Wrapper" that allows users to customize the keybindings more easily. This would make PyBoy more user-friendly and accessible.

Additionally, I think it would be awesome if the PyBoy community could get involved in improving the keybindings. It would be amazing to see the community implement controller compatibility, so users can enjoy PyBoy with their preferred controllers. By opening up the keybindings code to community contributions, we can all work together to enhance this aspect of the emulator.

I really appreciate the work you've put into PyBoy so far, and I believe these enhancements would make it even better. Thank you for considering this request, and I'm excited to see what the future holds for PyBoy!

Baekalfen commented 1 year ago

It's definitely something that would be nice to have. I know others have worked on it before.

Just to point out. There is controller support already, but it's just not documented: https://github.com/Baekalfen/PyBoy/blob/a464e6949a0681eeda34d3c4d476db19b42aced1/pyboy/plugins/window_sdl2.py#L66

bhaskar253 commented 11 months ago

@Baekalfen I have a query regarding how to approach this issue, one thing I was thinking to add some pre-defined mappings to some config file & read it like SDL_GameControllerAddMappingsFromFile( 'gamecontrollerdb.cfg' ); is this approach ok?

Baekalfen commented 11 months ago

You'll have to check, but it looks like that function might be to map hardware to events. What we're looking for here is mapping events to PyBoy