When checking in c/c++ applications for touch input on Windows 10, while handling WM_INPUT window messages, the touch signature and identifier for touch (bit 7 being set) is missing. This causes apps to detect the input as being from a mouse instead, while it's actually from a touch input (verified using Remote Desktop on Android). The code used to check the source of the event to split touch and mouse events:
https://github.com/libsdl-org/SDL/blob/main/src/video/windows/SDL_windowsevents.c
Look for the function GetMouseMessageSource The code tries to filter the events, but software using the library requiring split touch and mouse events still receive invalid mouse movement on top of the processed touch movement being translated into mouse movement, causing double movement in the case of in-app movement handling.
My conversation with the library devs trying to find a solution:
https://github.com/libsdl-org/SDL/issues/3316