Map SDL joystick movement to key presses for menu and PDA navigation #953
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.
Fixes missing SDL navigation in Flash menus (e.g. PDA) as highlighted within comments for issue #942.
This PR solves the problem by adding
K_JOY_STICK*_LEFT/RIGHT/UP/DOWN
key injection for SDL when left and right joysticks are moved outside of their dead zones. While the implementation is SDL-specific, it matches the approach taken in Windows and should result in the same behaviour when using a game controller.Note this results in additional synthetic key presses being generated when using controller joysticks to move around in-game, but this does not seems to cause problems on levels I have tested.
Also suppressed a few more SDL "unknown events" for Joysticks and Controllers.
This PR has been tested on macOS and Linux.