OpenStickCommunity / GP2040-CE

Multi-Platform Gamepad Firmware for Raspberry Pi Pico and other RP2040 boards
https://gp2040-ce.info
MIT License
1.49k stars 323 forks source link

Allow SOCD settings to be stored alongside a Profile #1187

Open j-zhao opened 1 month ago

j-zhao commented 1 month ago

Please read these quoted sections before submitting, and remove them (including this one) when you have provided what is asked, in order to make addressing the issue easier for everyone. Thank you!

Be sure to:

  • Check the documentation HERE to answer many questions on firmware capabilities and usage.
  • Make sure that your idea has not already been filed HERE.
  • Confirm the feature does not exist in the latest version of the firmware, found HERE.

Problem

Different games have different optimal SOCD resolution (e.g. neutral for SF6, vs SOCD-U for tag fighters). Often times, this warrants changing a profile as well as inputting a shortcut on the device to change SOCD.

Solution

Store SOCD settings alongside a profile. This allows a few improvements:

Do you plan to work on this feature yourself?

Yes. I will create a PR to kick things off, and will engage w/ the community and Discord to get this merged.

Notes

j-zhao commented 1 month ago

Mockup: Add one additional setting to default to Global Gamepad setting image

bsstephan commented 1 month ago

As a breadcrumb you will be looking at adding something new to ProfileOptions in the protobuf structure. I don't have an opinion currently on if that should be more GamepadOptions (most fields of which would be ignored in the profiles) or a new structure (which might suggest GamepadOptions needs a refactoring) but be aware that is a critical element of how to do this.