Go to file
expikr d320d7143d
Fix rawmouse wrong timestamp (#11553)
Currently, the rawinput thread incorrectly spreads the timestamps over idle time if the poll interval is less than 100ms, and abruptly switches to lumping all accumulated inputs to happen simultaneously if it exceeds 100ms.

This means that any game which implements retroactive event handling based on timestamps will jarringly snap between the two polar opposite extremes of incorrect behaviour.

This PR replaces the arbitrary 100ms threshold with logic based on measuring the idle start and end time.

If the thread idled for more than 125000 nanoseconds, it is considered to have not had any input in its queue before it entered idle, and the events are spread over the interval between thread wake-up and pump finish, with the final input aligned to the pump finish time.

If the thread idled for less than 125000 nanoseconds, it is considered to have events entered at some point between last pump finish and thread entering sleep, and the events are spread over the full pump-to-pump interval.
2024-12-03 20:40:34 -08:00
.github ci: don't do 'brew install pkg-config' anymore II 2024-11-22 20:52:57 +01:00
VisualC asyncio: Windows IoRing support, other tweaks and fixes. 2024-12-03 17:32:20 -05:00
VisualC-GDK asyncio: Windows IoRing support, other tweaks and fixes. 2024-12-03 17:32:20 -05:00
Xcode asyncio: Windows IoRing support, other tweaks and fixes. 2024-12-03 17:32:20 -05:00
android-project Fixed Java exception if mConnection is null 2024-11-07 11:54:09 -08:00
build-scripts SDL_migration.cocci: Fixed up some SDL3 symbols that had changed. 2024-11-30 20:08:38 -05:00
cmake cmake: fix sdlcpu.cmake for C89 compilers 2024-11-20 05:35:50 +01:00
docs asyncio: Added Linux io_uring support. 2024-12-03 17:32:20 -05:00
examples asyncio: Added async i/o APIs. 2024-12-03 17:32:20 -05:00
include Sync SDL3 wiki -> header 2024-12-04 00:12:42 +00:00
src Fix rawmouse wrong timestamp (#11553) 2024-12-03 20:40:34 -08:00
test asyncio: Allow file closes to request a flush/fsyncdata. 2024-12-03 17:32:20 -05:00
wayland-protocols wayland: Remove kde_output_order_v1 support 2024-10-19 11:16:30 -04:00
.clang-format Add 'wl_list_for_each_safe' to the clang-format macro list 2024-03-14 10:22:23 -04:00
.clang-tidy
.editorconfig .editorconfig: Remove excess apostrophe at *.cocci 2024-06-16 09:18:17 -07:00
.gitignore Allow in-tree build 2024-10-30 00:04:17 +01:00
.wikiheaders-options .wikiheader-options: Treat SDL int types (Uint64, etc) as API prefixes. 2024-11-01 23:47:32 -04:00
Android.mk asyncio: Added async i/o APIs. 2024-12-03 17:32:20 -05:00
BUGS.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
CMakeLists.txt asyncio: Added Linux io_uring support. 2024-12-03 17:32:20 -05:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md (doc): make cmake build parallel on linux 2024-11-23 12:15:59 +01:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00
README.md Tweaking documentation for the SDL 3.0 preview release 2024-03-24 06:16:02 -07:00
WhatsNew.txt Replaced \r\n with \n in SDL root files 2024-10-05 18:15:02 -07:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.

Enjoy!

Sam Lantinga (slouken@libsdl.org)