DolphinQt/InputCommon: Make input mapping and output testing non-blocking. #13162
+444
−221
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.
Normal Mapping Window:
Multiple input mappings can be queued/un-queued/cleared without the UI blocking.
This allows for quicker batch input mapping for power users.
Mapping a mouse-click itself requires clicking not on a mapping button.
Each mapping button interaction resets the timeout.
Waiting for the timeout cancels all queued input mappings.
Interacting with the window in other ways cancels in-progress mappings appropriately.
simplescreenrecorder-2024-11-02_00.55.44.mp4
"Advanced" Window:
The live previews now update while detecting inputs.
Button labels are renamed to be more clear.
simplescreenrecorder-2024-11-02_00.59.57.mp4
Output/Rumble test in the "Advanced" window is also now non-blocking.
Clicking it while active will stop the rumble test.
Overall, mapping window interaction is less terrible when input detection is non-blocking.