Time out controller mapping read events #3241
Open
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.
(#1773) Gamecube controller (via mayflash adapter) shoulder buttons have axis sensitivity such that halfway pressed = 0, towards fully pressed = positive, and towards unpressed = negative. When mapping controller inputs, on an input event,
readingEvent
is set so that duplicate axis events are ignored. This is reset when the corresponding 'Off' axis event happens (null direction). However, the resting state of the gamecube shoulder button is not null. Thus,readingEvent
will be stuck as the shoulder release event, and all future events are ignored.This change ignores read events that happened more than 100 milliseconds ago (arbitrary number) on a different event (e.g. different axis or button press). It does this by recording the time of the last read event.