Support adding advanced joypad features #111707
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Base PR for #111679, #111681, #111682 and others.
Fixes #78805 (see #107967 (comment) )
This PR adds the option to add more advanced features to joypads in the future that require the
Inputcode to call methods fromJoypadSDL(or other drivers) without breaking encapsulation, basically dependency injection. Such methods include, for example, checking if a joypad has motion sensors, LED lights, enabling the motion sensors, changing LED light color, etc.This PR also adds the HIDAPI joysticks support for Linux and macOS, as well as Windows sensors subsystem so that it can be used later for motion sensors and other features.
This PR is separated from the other 3 so that they can be reviewed independently from the motion sensors PR. Let me know if this is a good idea :D