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.
Description
This PR implements new protocol extensions for:
It additionally stubs controller motion and touch events, which can be supported for the DS4 device but aren't implemented in this PR. Implementing these requires switching to sending raw DS4 input reports via ViGEmBus, which is a significant change that warrants its own PR.
Before I take this PR out of draft, I'm going to take a stab at implementing all this for Linux. Since we're not limited by ViGEmBus, we can emulate the full set of available controller features, like an Xbox Series X Elite controller with paddles, a regular Xbox Series X controller for Share button support, Nintendo Switch Pro controller, and DualShock 4 controller.
I also need to track down a performance issue I saw when sending frequent stylus events. We might need to move input to a separate thread to avoid stalling the control thread processing the the ENet messages.
Screenshot
Issues Fixed or Closed
Fixes #1362
Type of Change
.github/...
)Checklist
Branch Updates
LizardByte requires that branches be up-to-date before merging. This means that after any PR is merged, this branch
must be updated before it can be merged. You must also
Allow edits from maintainers.