Pointer sanitization: Android, overlay, and other enhancements #17308
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.
Description
Adapt the sanitized pointer handling, discussed at #17196 :
Overlay "driver" specific changes:
Android driver specific changes:
Udev and X11 driver specific changes:
Wayland driver specific changes:
Tested on Android and the changed Linux desktop environments. The mouse-simulates-multitouch gimmick is probably not very useful for cores, but it does enable easier testing of related functions.
There is one significant difference between mobile platforms (Android and iOS) and other platforms: touches outside the core viewport are:
I did not align this now, as it may be an intentional function.
Also, in libretro.h there is
RETRO_DEVICE_ID_POINTER_COUNT
since 2019 but support for that is not present everywhere, and it is also not documented (though it should be quite clear). It may be aligned later.Related Pull Requests
#16343 - in my opinion, the "enable offscreen reporting" lightgun config setting can go away now, since other input drivers will do report -0x8000 anyway. I will send a different PR for that eventually. Even if it needs to stay, menu text should probably be re-worded, since the option does not control whether "offscreen" touches are reported or not, but instead the value that is reported.