SDL_SetRelativeMouseMode on Windows

Hi there,

Last time I posted was 1.5 years ago about the mouse implementation on SDL 1.3
At the time, Relative mouse mode wasn’t implemented, and I did a small hack to get it to kinda-work.

Yesterday I updated to the latest HG build (2.0) and noticed that the SDL_SetRelativeMouseMode function returns not supported on Windows.
I reapplied my little hack, which basically means setting last_x and last_y to the center of the screen and then using WarpMouse to reset the cursor to that position,
then always calculating relative coordinates relative to center screen.
This is of course, not flawless.

WarpMouse fires another message, but if no other mouse message was in the queue, it will be dropped since xrel and yrel will be 0.

However if another message WAS in the queue, this message might be a small translation from the last position, but since last_x and last_y were set to screen center,
the resulting xrel and yrel might be exaggerated. (I think)

Now when I run my program, this is not really noticeable.
However my question is: Is this ever going to be supported on Windows?
I thought about it myself, and the only way I can think of for fixing this issue, is by polling the mouse position, calculate the resulting relative, resetting the mouse,
and ignoring the WM_MOUSEMOVE all together!

Will this be supported in any way, in future versions of SDL 2.0 ? Or should I focus on polling the mouse in my engine outside the message loop,
and using SDL_GetMouseState and SDL_WarpMouseInWindow to get the relative coordinates?


Little 3D engine in the making: