godot/platform
Pedro J. Estébanez e10a2e5999 Implement universal translation of touch to mouse
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)

The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.

Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.

*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.

On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.

Plus: Improve/fix tracking of current mouse position.
2018-04-30 19:04:35 +02:00
..
android Implement universal translation of touch to mouse 2018-04-30 19:04:35 +02:00
haiku Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00
iphone Implement universal translation of touch to mouse 2018-04-30 19:04:35 +02:00
javascript Implement universal translation of touch to mouse 2018-04-30 19:04:35 +02:00
osx Modify OSX can_export logic to match the logic from EditorExportPlatformPC::can_export 2018-03-28 23:47:22 +02:00
server SCons: Fix linking system pcre2 on server platform 2018-03-04 13:47:35 +01:00
uwp Implement universal translation of touch to mouse 2018-04-30 19:04:35 +02:00
windows Implement universal translation of touch to mouse 2018-04-30 19:04:35 +02:00
x11 Implement universal translation of touch to mouse 2018-04-30 19:04:35 +02:00
SCsub disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
register_platform_apis.h Add missing copyright headers and fix formatting 2018-01-05 01:22:23 +01:00