Sam Lantinga
09ca7e8f64
Move libusb support into a shared location
2025-08-28 09:10:47 -07:00
Sam Lantinga
cdae0d10d1
Fixed button mapping for the Nintendo Switch 2 Pro Controller
2025-08-28 09:10:47 -07:00
Sam Lantinga
fb9fcfa37b
Fixed controller name when hotplugging the Nintendo Switch 2 Pro Controller
2025-08-28 09:10:47 -07:00
Sam Lantinga
2bb51e1340
Claim the interface before doing bulk transfers
2025-08-28 09:10:47 -07:00
Ethan Lee
a798da2ec7
hidapi: Add support for NSO GameCube controller via libusb.
...
Thanks to Nohzockt for the initial libusb init and hidapi polling work!
2025-08-28 09:10:47 -07:00
Ethan Lee
efea62ed61
hidapi: Add a stub driver for Switch 2.
...
Thanks to kiddkaffeine for the Xcode updates!
2025-08-28 09:10:47 -07:00
Frank Praznik
5972b5295d
video: Don't attempt to reconfigure external windows
2025-08-28 12:08:49 -04:00
Frank Praznik
78bea90b18
wayland: Remove an unnecessary surface commit
2025-08-28 10:01:53 -04:00
Sam Lantinga
5d9b170a3d
Be explicit that SDL_FLIP_HORIZONTAL_AND_VERTICAL combines horizontal and vertical flipping
...
Closes https://github.com/libsdl-org/SDL/pull/13821
2025-08-28 04:22:31 -07:00
Susko3
cd21bbe796
Avoid checking for HAVE_POSIX_SPAWN on Android
...
This makes the CMake build closer to SDL_build_config_android.h
as both will now use SDL_PROCESS_DUMMY.
2025-08-28 04:09:50 -07:00
wankey
6176235a90
fix wrong index in HandleStatePacket with flydigi controller ( #13819 )
2025-08-28 04:08:54 -07:00
Ryan C. Gordon
e9c2e9bfc3
SDL_iostream.h: Clarified thread-safety docs.
...
Fixes #13814 .
2025-08-27 22:03:50 -04:00
Joshua T. Fisher
dfb343a5f8
cmake: use CONFIGURE_DEPENDS flag in GLOBs
2025-08-28 01:10:16 +00:00
SDL Wiki Bot
a1964dd673
Sync SDL3 wiki -> header
...
[ci skip]
2025-08-27 22:35:48 +00:00
Anonymous Maarten
625a8335b5
Don't compile helper function when building without audio/video/joystick support
2025-08-27 23:19:50 +02:00
Ozkan Sezer
98bed62259
cmake: fall back to -Wconversion if -Wfloat-conversion isn't available
...
... during checks for valid isinf/isinff/isnan/isnanf macros.
2025-08-27 22:20:02 +03:00
Anonymous Maarten
c50e4b22ab
dlopennot: ngage's g++ compiler does not support variadic macros
2025-08-27 18:53:35 +02:00
Frank Praznik
a904af1b43
tray: Save icons on *nix platforms to PNG instead of BMP
...
PNG has better compatibility with certain desktops.
This requires the stb_image_write header for PNG writing functionality.
2025-08-27 09:20:42 -07:00
Sam Lantinga
285df94623
Renamed SDL_GPURenderStateDesc to SDL_GPURenderStateCreateInfo for consistency with GPU API conventions
...
Fixes https://github.com/libsdl-org/SDL/issues/12817
2025-08-27 09:14:19 -07:00
Anonymous Maarten
0a6b80717c
Record dynamic dependencies in .note.dlopen elf section
2025-08-27 16:11:39 +00:00
Frank Praznik
152ba829a1
video: Try to reconfigure the window for OpenGL without destroying it
...
When attaching a renderer (GL based specifically) to a window that was not created with the appropriate flags, the window would be destroyed and recreated to configure it for the desired rendering backend. While most of the issues with this have been mitigated over time, there can still be some undesirable side effects from doing so on certain platforms.
If the window was just created and was never configured for any graphics context, it is possible that the reconfiguration can be done without destroying the window first.
The Wayland implementation fixes an issue when creating a window with the fullscreen flag on wlroots based Wayland compositors, and can likely be extended to other platforms to avoid unnecessarily destroying/recreating a window in the very common case where a window is created, followed immediately by attaching a renderer.
2025-08-27 12:10:48 -04:00
Frank Praznik
6e5994db76
docs: Update Wayland documentation
...
Note that windows may not report the minimized state, and update the cursor warp documentation to note the newly supported protocol.
2025-08-27 11:26:43 -04:00
Sam Lantinga
da6e9bbf7c
Allow building the tray subsystem without the video subsystem
...
Fixes https://github.com/libsdl-org/SDL/issues/13235
2025-08-27 08:15:24 -07:00
SDL Wiki Bot
943d0f67ba
Sync SDL3 wiki -> header
...
[ci skip]
2025-08-27 13:46:21 +00:00
Sam Lantinga
42f634ff7a
Added SDL_AddAtomicU32()
...
Fixes https://github.com/libsdl-org/SDL/issues/13496
2025-08-27 06:44:51 -07:00
Marcus Harrison
b795762b62
Small fix for snake example ( #13790 )
...
Rename THREE_BITS to SNAKE_CELL_SET_BITS
Make SNAKE_CELL_SET_BITS depend on SNAKE_CELL_MAX_BITS
2025-08-27 05:16:24 -07:00
Jaan Soulier
0bbdd86b86
Fix device suitability checks in Vulkan GPU backend to always adhere to priority arrays
2025-08-27 05:15:24 -07:00
Sylvain
26d6352500
Fixed bug #13794 : prevent to use the onBackPressed callback API that is enabled on API36
2025-08-27 11:39:00 +02:00
Sam Lantinga
5291e9bbbd
Minor cleanup
2025-08-26 19:28:59 -07:00
Frank Praznik
5a06ef5c8f
keyboard: Don't clear the keymap when it is set to auto release
...
Don't unset the keymap when it is set to auto release, or it will infinitely recurse.
2025-08-26 22:16:21 -04:00
Sylvain
e55f636d1e
Android: improve check to know if running on ChromeBook or emulator.
...
https://stackoverflow.com/questions/39784415/how-to-detect-programmatically-if-android-app-is-running-in-chrome-book-or-in
2025-08-26 17:43:58 -07:00
takase1121
95c44dcdc3
process(windows): fallback to GenerateConsoleCtrlEvent and TerminateProcess if necessary
2025-08-26 17:01:37 -07:00
takase1121
c709b8ed98
process(windows): try sending WM_CLOSE for graceful process termination
2025-08-26 17:01:37 -07:00
Semphris
355c001a54
Implement IFileDialog for Windows
2025-08-26 16:48:08 -07:00
SDL Wiki Bot
15e60cd37f
Sync SDL3 wiki -> header
...
[ci skip]
2025-08-26 18:55:26 +00:00
Ryan C. Gordon
5b688514c7
wikiheaders: Don't autolink things that are already linked.
...
This is a dirty hack, but it currently works for our purposes. We just refuse
to link an eligible string (like, say...`SDL_shadercross`), if there's a '['
character right before it.
This WILL NOT WORK if the string is in the middle of a link! For example, if
you had `[please refer to SDL_shadercross](https://example.com/ )`, this will
still fail in the usual ways, but we're not building out a robust parser here
at the moment, and this catches the most common problem.
Fixes #13160 .
Fixes https://github.com/libsdl-org/sdlwiki/issues/752
Closes https://github.com/libsdl-org/sdlwiki/pull/725
2025-08-26 14:43:59 -04:00
Frank Praznik
6516f7a9e8
keyboard: Release bound keymaps during the destruction process
...
If a bound keymap is being destroyed, unbind it to ensure that the keyboard state won't be left pointing to an invalid keymap. Backends now no longer need to manually do this when destroying keymaps during keyboard removal and shutdown.
2025-08-26 12:56:29 -04:00
Frank Praznik
f53f054fd6
x11: Enable the relative mouse system scale hint.
...
Use the scaled motion values if the relative system scale hint is set, and a custom transformation function is not set.
2025-08-26 11:55:02 -04:00
Sam Lantinga
065fdca953
Disable rumble for the Ultimate 2 Wireless Controller in dongle mode
...
The dongle appears to stop sending input reports with some combination of rumble patterns, easily reproduced with Forza Horizon 5. We'll disable rumble temporarily until @8BitDo can investigate.
2025-08-26 08:39:00 -07:00
Sam Lantinga
66ab91a314
Added SDL_FLIP_HORIZONTAL_AND_VERTICAL
...
Closes https://github.com/libsdl-org/SDL/pull/13788
2025-08-26 05:50:51 -07:00
Nintorch
1fbed16cb0
Add Emscripten joystick rumble support
...
Adds support for Emscripten (Web) joystick rumble support via EM_ASM_INT macros and HTML5's Gamepad API.
2025-08-25 12:58:59 -07:00
Sam Lantinga
b13416d74f
Fixed relative motion having desktop mouse scale on Wayland
...
Fixes https://github.com/libsdl-org/SDL/issues/13753
2025-08-25 11:47:56 -07:00
Merlyn Morgan-Graham
385715c0dd
Introduce enum for SDL_GetCameraPermissionState result
2025-08-25 14:43:31 -04:00
Colin Kinloch
5be08481e1
dialog: Print DBus errors where available
2025-08-25 11:35:47 -07:00
Colin Kinloch
c79a18d0fa
dialog: Fix save file chooser with xdg portal
...
This correctly sets the xdg portal fields for targeting a specific
new filename or existing file.
"current_name" sets the dialogs placeholder name.
"current_file" targets an existing file.
"current_folder" for when the target is a folder.
2025-08-25 11:35:47 -07:00
Nintorch
1af7dfb0a7
Allow Android to ignore unnecessary joysticks
...
Previously, SDL_ShouldIgnoreJoystick wasn't being called for Android, and fingerprint sensors were recognized as joysticks.
2025-08-25 11:23:14 -07:00
Colin Kinloch
81920b5db7
testffmpeg: avutil queue family version check
...
The `AVVulkanDeviceQueueFamily` struct was introduced by libavutil
59.34.100
2025-08-25 11:10:15 -07:00
Ryan C. Gordon
8f04e4af00
audio: Clean out all the bitshifting.
...
Hide the implementation details in something human-readable.
2025-08-25 13:10:51 -04:00
Ryan C. Gordon
01d94ca9de
audio: Renamed device_hash_lock to subsystem_rwlock.
...
It protects more than the device hashes!
2025-08-25 13:10:51 -04:00
Ryan C. Gordon
226fecff78
audio: Split current_audio.device_hash into two separate hashtables.
...
One for physical devices, one for logical devices.
Fixes #13032 .
2025-08-25 13:10:51 -04:00