Ryujinx-SDL/include
David Gow ad29875ee6 Wayland: Emulate mouse warp using relative mouse mode
Several games (including Source and GoldSrc games, and Bioshock
Infinite) attempt to "fake" relative mouse mode by repeatedly warping
the cursor to the centre of the screen. Since mouse warping is not
supported under Wayland, the viewport ends up "stuck" in a rectangular
area.

Detect this case (mouse warp while the cursor is not visible), and
enable relative mouse mode, which tracks the cursor position
independently, and so can Warp successfully.

This is behind the SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP hint, which
is enabled by default, unless the application enables relative mouse
mode itself using SDL_SetRelativeMouseMode(SDL_TRUE).

Note that there is a behavoural difference, in that relative mouse mode
typically doesn't take mouse accelleration into account, but the
repeated-warping technique does, so mouse movement can seem very slow
with this (unless the game has its own mouse accelleration option, such
as in Portal 2).
2022-10-03 19:11:18 -07:00
..
begin_code.h
close_code.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
SDL_assert.h
SDL_atomic.h
SDL_audio.h
SDL_bits.h
SDL_blendmode.h direct3d: Implement missing blend operations. 2022-03-27 09:14:07 -04:00
SDL_clipboard.h
SDL_config_android.h
SDL_config_emscripten.h
SDL_config_iphoneos.h add SDL_bsearch 2022-04-26 04:03:25 +03:00
SDL_config_macosx.h
SDL_config_minimal.h
SDL_config_ngage.h
SDL_config_os2.h updated os2 config file after commit 3f89d1704d 2022-09-01 21:56:50 +03:00
SDL_config_pandora.h
SDL_config_windows.h
SDL_config_wingdk.h
SDL_config_winrt.h Assume that stdint.h is available on Windows with compilers other than MSVC <= 2008 2022-09-05 09:01:31 -07:00
SDL_config_xbox.h
SDL_config.h
SDL_config.h.cmake
SDL_config.h.in
SDL_copying.h
SDL_cpuinfo.h
SDL_egl.h
SDL_endian.h
SDL_error.h
SDL_events.h
SDL_filesystem.h
SDL_gamecontroller.h
SDL_gesture.h
SDL_guid.h
SDL_haptic.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
SDL_hidapi.h
SDL_hints.h Wayland: Emulate mouse warp using relative mouse mode 2022-10-03 19:11:18 -07:00
SDL_joystick.h
SDL_keyboard.h
SDL_keycode.h
SDL_loadso.h
SDL_locale.h
SDL_log.h
SDL_main.h
SDL_messagebox.h
SDL_metal.h
SDL_misc.h
SDL_mouse.h
SDL_mutex.h
SDL_name.h
SDL_opengl_glext.h
SDL_opengl.h
SDL_opengles2_gl2.h
SDL_opengles2_gl2ext.h
SDL_opengles2_gl2platform.h
SDL_opengles2_khrplatform.h
SDL_opengles2.h
SDL_opengles.h
SDL_pixels.h
SDL_platform.h
SDL_power.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
SDL_quit.h
SDL_rect.h
SDL_render.h
SDL_revision.h
SDL_revision.h.cmake
SDL_rwops.h
SDL_scancode.h
SDL_sensor.h
SDL_shape.h
SDL_stdinc.h
SDL_surface.h
SDL_system.h
SDL_syswm.h
SDL_test_assert.h
SDL_test_common.h
SDL_test_compare.h
SDL_test_crc32.h Updated copyright for 2022 2022-01-03 09:40:21 -08:00
SDL_test_font.h
SDL_test_fuzzer.h
SDL_test_harness.h
SDL_test_images.h
SDL_test_log.h
SDL_test_md5.h
SDL_test_memory.h
SDL_test_random.h
SDL_test.h
SDL_thread.h
SDL_timer.h
SDL_touch.h
SDL_types.h
SDL_version.h
SDL_video.h
SDL_vulkan.h
SDL.h