mirror of
https://github.com/Relintai/sdl2_frt.git
synced 2024-12-29 20:27:12 +01:00
24c86b5501
since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
57 lines
1.2 KiB
Markdown
57 lines
1.2 KiB
Markdown
Relative mode testing
|
|
=====================
|
|
|
|
See test program at the bottom of this file.
|
|
|
|
Initial tests:
|
|
|
|
- When in relative mode, the mouse shouldn't be moveable outside of the window.
|
|
- When the cursor is outside the window when relative mode is enabled, mouse
|
|
clicks should not go to whatever app was under the cursor previously.
|
|
- When alt/cmd-tabbing between a relative mode app and another app, clicks when
|
|
in the relative mode app should also not go to whatever app was under the
|
|
cursor previously.
|
|
|
|
|
|
Code
|
|
====
|
|
|
|
#include <SDL.h>
|
|
|
|
int PollEvents()
|
|
{
|
|
SDL_Event event;
|
|
while (SDL_PollEvent(&event))
|
|
{
|
|
switch (event.type)
|
|
{
|
|
case SDL_QUIT:
|
|
return 1;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
SDL_Init(SDL_INIT_VIDEO);
|
|
|
|
SDL_Window *win = SDL_CreateWindow("Test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, 0);
|
|
SDL_SetRelativeMouseMode(SDL_TRUE);
|
|
|
|
while (1)
|
|
{
|
|
if (PollEvents())
|
|
break;
|
|
}
|
|
|
|
SDL_DestroyWindow(win);
|
|
|
|
SDL_Quit();
|
|
|
|
return 0;
|
|
}
|