Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update reverse input to work on the dpad state rather than pin masks #913

Merged

Conversation

bsstephan
Copy link
Contributor

using the core gamepad pin masks meant that anything that was adding to/modifying dpad state was being overwritten because they probably fired before reverse input, and thus their change to the gamepad state was being dropped because the GPIO pins themselves were inactive, so the reverse input logic thought the outputs were inactive and assigned to the dpad e.g. 0 | 0 | 0 | 0 | 0

this fixes reverse input + DDI entirely, and also allows the proper SOCD of the dpad(s) to be inverted rather than dropped.

note that reverse input only works against the dpad, I don't know if that's intended or not, but I'm leaving it as is.

Fixes #822

using the core gamepad pin masks meant that anything that was adding
to/modifying dpad state was being overwritten because they probably
fired before reverse input, and thus their change to the gamepad state
was being dropped because the GPIO pins themselves were inactive, so the
reverse input logic thought the outputs were inactive and assigned to
the dpad e.g. 0 | 0 | 0 | 0 | 0

this fixes reverse input + DDI entirely, and also allows the proper SOCD
of the dpad(s) to be inverted rather than dropped.

note that reverse input only works against the dpad, I don't know if
that's intended or not, but I'm leaving it as is.

Fixes OpenStickCommunity#822
Copy link
Contributor

@arntsonl arntsonl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally agree on this one, good find.

@arntsonl arntsonl merged commit 80e0de8 into OpenStickCommunity:main Mar 24, 2024
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enabling Reverse Input Button Breaks SOCD
2 participants