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

DolphinQt/InputCommon: Make input mapping and output testing non-blocking. #13162

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jordan-woyak
Copy link
Member

@jordan-woyak jordan-woyak commented Nov 2, 2024

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.

@jordan-woyak jordan-woyak added the WIP / do not merge Work in progress (do not merge) label Nov 2, 2024
@jordan-woyak jordan-woyak removed the WIP / do not merge Work in progress (do not merge) label Nov 2, 2024
@dreamsyntax
Copy link
Member

I have not reviewed the code, but I did some testing on this branch.
This does not resolve the input dropping/locking that occurs for rapidly setting buttons unfortunately, but it does fix the Window Focus() constant re-calling and general bad feeling of the Input Window.

Great job with this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants