Simple DirectMedia Layer https://libsdl.org
Find a file
Nintorch 563b8cb51c Include OS detection in Emscripten joystick GUID
This PR modifies the Emscripten joystick backend to detect the user's OS and store its ID in the GUID, because different OSes might need different mappings for the same controllers.
I'm not sure if different browsers on the same OS can also have different mappings, but if they can, browser detection can be added to the GUID too if needed.

This PR also makes the GUID use `SDL_HARDWARE_BUS_USB` instead of `SDL_HARDWARE_BUS_UNKNOWN`, similarly to how Android and MFI backends always use `SDL_HARDWARE_BUS_BLUETOOTH` and GameInput, XInput, and RawInput backends always use `SDL_HARDWARE_BUS_USB`.

(cherry picked from commit 60a59fa557)
2026-04-21 10:35:52 -07:00
.github policy: Clarify that "AI" means specific things. 2026-04-15 15:42:08 -04:00
android-project Android: fix lint warning "unneed cast to Activity" 2026-04-10 07:09:02 -07:00
build-scripts wikiheaders: Don't escape . chars in manpage's brief section. 2026-04-15 13:31:42 -04:00
cmake CMake: Replace CMAKE_COMPILER_IS_GNUCC with CMAKE_C_COMPILER_ID 2026-04-04 10:29:06 -07:00
docs Added documentation to fix building on macOS with Xcode 12.2 (thanks @buhman!) 2026-04-01 16:38:12 -07:00
examples Fix potential leak in camera example 2026-04-21 07:40:16 -04:00
include hints: Correct the cursor DPI scaling hint 2026-04-20 10:33:39 -04:00
src Include OS detection in Emscripten joystick GUID 2026-04-21 10:35:52 -07:00
test misc: Use the OpenURI D-Bus portal for opening URLs 2026-04-05 16:33:11 -04:00
VisualC SDL_test: allow disabling colorized output 2025-12-15 23:19:25 +01:00
VisualC-GDK Revert "render: Added Xbox DXIL for gpu backend". 2026-03-04 15:52:52 -05:00
wayland-protocols wayland: Update the color management protocol 2025-12-15 13:54:31 -05:00
Xcode Updated to version 3.4.5 for development 2026-04-03 17:16:53 -07: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 Updated .gitignore for png test data 2025-10-10 08:59:27 -07:00
.wikiheaders-options wikiheaders: Generate a current list of supported environment variables. 2025-09-02 15:49:52 -04:00
AGENTS.md AGENTS.md: Change "may not" to "must not". 2026-04-15 17:27:40 -04:00
Android.mk android: remove dependency on cpu-features.h 2025-11-11 23:41:43 +00:00
BUGS.txt Added a Discord link to BUGS.txt 2025-01-13 16:42:50 -08:00
CLAUDE.md CLAUDE.md: Just copy the text from AGENTS.md in here for now. 2026-04-16 13:55:51 -04:00
CMakeLists.txt atomic: Fix missing full memory barrier on GCC/Clang 2026-04-19 06:55:12 -04:00
CREDITS.md Updated the credits for SDL 3.0 2025-01-13 16:42:50 -08:00
INSTALL.md Add a link to docs/INTRO-mingw.md 2025-03-06 16:25:17 -08:00
LICENSE.txt Updated copyright for 2026 2026-01-01 09:48:19 -08:00
README.md Revert "Update README.md" 2025-11-16 01:15:10 +03:00
WhatsNew.txt Added SDL_HINT_MOUSE_DPI_SCALE_CURSORS 2025-12-09 17:12:08 -08:00

Simple DirectMedia Layer (SDL for short) is a cross-platform library designed to make it easy to write multi-media software, such as games and emulators.

You can find the latest release and additional information at: https://www.libsdl.org/

Installation instructions and a quick introduction is available in INSTALL.md

This library is distributed under the terms of the zlib license, available in LICENSE.txt.

Enjoy!

Sam Lantinga (slouken@libsdl.org)