Revert pen input flow and map pen to touch on mobile platforms #6523
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.
After multiple attempts to try and fix ppy/osu#31570, this is one which brings back osu! to how it has been working before.
Now since direct/onscreen pen input is mapped to touch input, the entire pen input /
ISourcedFromPen
API becomes flaky and inconsistent, as not all pen input are sent as anISourcedFromPen
mouse event. For simplicity purposes, I have chosen to revert it completely until later time.When returning back to resurrect this flow, special attention needs to be given into the following intertwined two problems:
PassThroughInputManager.syncReleasedInputs()
should respect mouse input sourced from pen (currently sends release input without such context)PassThroughInputManager.syncReleasedInputs()
should be aware whether mouse button pressed from parent comes from mouse and not other input sources (main reason why it's impossible to make this flow work withOsuTouchInputMapper
)