Don't enable relative mouse mode if in touchscreen mode #14118
Merged
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.
Resolves issue no. 2 described in minetest/irrlicht#262.
With
CIrrDeviceSDL
on Linux and Windows, enabling relative mouse mode somehow results in simulated mouse events being generated from touch events, althoughSDL_HINT_MOUSE_TOUCH_EVENTS
andSDL_HINT_TOUCH_MOUSE_EVENTS
are set to 0. Since Minetest has its own code to synthesize mouse events from touch events, this results in duplicated input. To avoid that, we don't enable relative mouse mode if we're in touchscreen mode.To do
This PR is a Ready for Review.
How to test
Compile Minetest with
ENABLE_TOUCH=TRUE
andUSE_SDL2=TRUE
. See that you don't start digging just because you are touching the on-screen sneak button.Verify that there are no crashes on Android because
getCursorControl
returns null.