Go to file
Sam Lantinga 31851a50d2 Fixed dropping raw input because of mixing GetRawInputBuffer() and WM_INPUT handling
It turns out that when you enable raw input and then process Windows messages, you'll get the currently pending input in GetRawInputBuffer(), and you'll get any new input that occurs while processing messages as WM_INPUT.

The fix for this is to create a dedicated thread to handle raw input and only use GetRawInputBuffer() in that thread. A nice side effect of this is that we'll get mouse input at the lowest latency possible, but raw mouse events will now occur on a separate thread, outside of the normal event loop processing.

Improved fix for https://github.com/libsdl-org/SDL/issues/8756
2024-01-03 02:20:23 -08:00
.github ci: do 'brew update' & don't run dependent checks on installed things 2023-11-26 06:01:26 +01:00
VisualC Added testpen to the Visual Studio solution 2023-12-26 09:55:09 -08:00
VisualC-GDK Updated copyright for 2024 2024-01-01 13:15:26 -08:00
VisualC-WinRT Added Steam Input API support for game controllers 2023-12-20 10:40:28 -08:00
Xcode Updated copyright for 2024 2024-01-01 13:15:26 -08:00
android-project AndroidShowToast: make OneShotTask members private final 2024-01-01 08:31:34 -08:00
build-scripts Updated copyright for 2024 2024-01-01 13:15:26 -08:00
cmake SDL_hidapi requires libusb >= 1.0.16 2023-11-24 21:31:59 +01:00
docs Fixed warning C4245: 'initializing': conversion from 'int' to 'Uint32', signed/unsigned mismatch in SDL_video.c 2023-12-29 10:37:28 -08:00
include Updated copyright for 2024 2024-01-01 13:15:26 -08:00
mingw/pkg-support/cmake build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
src Fixed dropping raw input because of mixing GetRawInputBuffer() and WM_INPUT handling 2024-01-03 02:20:23 -08:00
test Updated copyright for 2024 2024-01-01 13:15:26 -08:00
wayland-protocols Add and event and flag to report when a window has been occluded 2023-07-18 16:42:05 -04:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.clang-tidy Fix size of memcpy in SDL_AudioDeviceFormatChangedAlreadyLocked 2023-08-05 14:14:45 -04:00
.editorconfig Fixed formatting for Haiku cc files 2023-01-25 03:03:41 -08:00
.gitignore Ignore all surface comparison output files in the testautomation directory 2023-12-19 08:48:44 -08:00
.wikiheaders-options sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Android.mk Always provide an implementation for all SDL3 symbols 2023-10-12 14:00:47 +02:00
BUGS.txt Cleaned up a few more Bugzilla mentions. 2021-02-12 14:46:49 -05:00
CMakeLists.txt Use common generic syscond for platforms with no cond implementation 2023-12-24 06:52:42 -08:00
CREDITS.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
INSTALL.md docs: Moved CREDITS and INSTALL to markdown format. 2023-11-29 12:31:27 -05:00
LICENSE.txt Updated copyright for 2024 2024-01-01 13:15:26 -08:00
README-SDL.txt More HTTPS changes in the documentation. 2017-02-16 16:52:03 -05:00
README.md docs: Convert everything to Unix-style endlines. 2023-11-29 11:29:57 -05:00
WhatsNew.txt Remove SDL_{Set,Get}SurfaceScale(). 2023-12-22 02:08:49 -08: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 via OpenGL and Direct3D. 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)