fix(gamepad): add delayed authentication for PDP - #200
Draft
ykpmusicstudio wants to merge 4 commits into
Draft
Conversation
Author
|
This is a change that can have side effects, so intensive testing on many gamepads may be needed. I'll try with all the ones I have. |
ykpmusicstudio
force-pushed
the
pdp_initfix
branch
from
April 26, 2026 18:09
9e1150a to
ba69500
Compare
Author
|
Tested on 3 gamepads:
|
ykpmusicstudio
marked this pull request as draft
April 27, 2026 17:20
Author
|
Fix for #199 still pending |
This was referenced Jun 3, 2026
ykpmusicstudio
force-pushed
the
pdp_initfix
branch
from
June 6, 2026 19:26
502207b to
74439c0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR reintroduced a change that should have fixed the issue of stalled PDP controllers, and was proposed in #20 that I badly mishandled in a later merge.delays authentication after 1st status message, otherwise my gamepad would stall the auth process when starting input and never respond as an event device.To fix the issue, the auth process is delayed after receiving the 1st status message from the controller, which was the driver behavior as recorded in windows with usbcap.edit:
the delayed auth is not necessary anymore, so this PR now targets the sequence pool for auth messages that shared the global pool instead of using its own unique pool as per GIP spec.edit: the delayed auth is necessary after all, so it is added again. All AUTH commands are delayed to cope with strange controllers behavior ACK'ing messages as if they are fragmented when they're not.
maybe fixes #199