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

Fix held gameplay keys stuck after pausing and resuming #28954

Merged
merged 5 commits into from
Jul 20, 2024

Conversation

frenzibyte
Copy link
Member

@frenzibyte frenzibyte commented Jul 19, 2024

As mentioned at the bottom of ppy/osu-framework#6340, this PR schedules the resume operation to next frame when clicking on the osu! click-to-resume cursor.

This PR also makes the pause overlay not block key input from passing down to the ruleset input manager, so that any key that is held before pause will be seen by the input manager, making its release counterpart also seen.

There are a list of test cases attached in this PR that ensures input handling w.r.t. pause is done correctly.

If a key is pressed while the pause overlay is visible, the ruleset input manager will not see it, therefore if the user resumes while the key is held then releases the key, the ruleset input manager will not receive the key up event.
@frenzibyte frenzibyte added area:gameplay type:input next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! labels Jul 19, 2024
@peppy peppy merged commit 15220f3 into ppy:master Jul 20, 2024
9 of 11 checks passed
@frenzibyte frenzibyte deleted the fix-pause-input-handling branch July 20, 2024 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:gameplay next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! size/L type:input
Projects
None yet
Development

Successfully merging this pull request may close these issues.

After pausing osu!, the game doesn't detect the first input after
2 participants