-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Fix setting RGB without a player led #13524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
There is a bug where SInput checks for player led capability before setting RGB. This means that if a controller does not have a player led, RGB commands are not sent.
slouken
reviewed
Aug 1, 2025
Merged, thanks! |
thatcosmonaut
pushed a commit
to Kontrabant/SDL
that referenced
this pull request
Aug 1, 2025
There is a bug where SInput checks for player led capability before setting RGB. This means that if a controller does not have a player led, RGB commands are not sent.
eafton
pushed a commit
to eafton/SDL
that referenced
this pull request
Sep 2, 2025
commit 8dcbafb Author: eafton <[email protected]> Date: Tue Sep 2 20:47:00 2025 +0300 X11TK commit a3d377e Author: eafton <[email protected]> Date: Tue Sep 2 20:41:45 2025 +0300 X11TK commit 578768f Author: eafton <[email protected]> Date: Tue Sep 2 15:28:30 2025 +0300 pejfgpıgjerıgj commit 210fa81 Author: eafton <[email protected]> Date: Sat Aug 30 18:59:59 2025 +0300 Cleanup commit 6cf99a0 Author: eafton <[email protected]> Date: Sat Aug 30 18:35:03 2025 +0300 Menus commit 11c33a5 Author: eafton <[email protected]> Date: Sat Aug 30 18:34:08 2025 +0300 Menus commit 1848f52 Merge: f8ac722 1fbed16 Author: eafton <[email protected]> Date: Tue Aug 26 10:07:15 2025 +0300 Merge branch 'libsdl-org:main' into x11tk commit 1fbed16 Author: Nintorch <[email protected]> Date: Sat Aug 16 16:08:22 2025 +0500 Add Emscripten joystick rumble support Adds support for Emscripten (Web) joystick rumble support via EM_ASM_INT macros and HTML5's Gamepad API. commit b13416d Author: Sam Lantinga <[email protected]> Date: Mon Aug 25 11:47:18 2025 -0700 Fixed relative motion having desktop mouse scale on Wayland Fixes libsdl-org#13753 commit 385715c Author: Merlyn Morgan-Graham <[email protected]> Date: Sat Aug 16 02:36:09 2025 -0700 Introduce enum for SDL_GetCameraPermissionState result commit 5be0848 Author: Colin Kinloch <[email protected]> Date: Wed Aug 6 21:25:31 2025 +0100 dialog: Print DBus errors where available commit c79a18d Author: Colin Kinloch <[email protected]> Date: Sun May 25 15:55:48 2025 +0100 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. commit 1af7dfb Author: Nintorch <[email protected]> Date: Sat Aug 16 21:55:03 2025 +0500 Allow Android to ignore unnecessary joysticks Previously, SDL_ShouldIgnoreJoystick wasn't being called for Android, and fingerprint sensors were recognized as joysticks. commit 81920b5 Author: Colin Kinloch <[email protected]> Date: Sat Aug 16 16:13:52 2025 +0100 testffmpeg: avutil queue family version check The `AVVulkanDeviceQueueFamily` struct was introduced by libavutil 59.34.100 commit 8f04e4a Author: Ryan C. Gordon <[email protected]> Date: Mon Aug 25 13:06:09 2025 -0400 audio: Clean out all the bitshifting. Hide the implementation details in something human-readable. commit 01d94ca Author: Ryan C. Gordon <[email protected]> Date: Mon Aug 25 11:35:37 2025 -0400 audio: Renamed device_hash_lock to subsystem_rwlock. It protects more than the device hashes! commit 226fecf Author: Ryan C. Gordon <[email protected]> Date: Mon Aug 25 11:31:12 2025 -0400 audio: Split current_audio.device_hash into two separate hashtables. One for physical devices, one for logical devices. Fixes libsdl-org#13032. commit 7bbbbb3 Author: Sam Lantinga <[email protected]> Date: Mon Aug 25 09:45:39 2025 -0700 Fixed build commit aab9589 Author: Sam Lantinga <[email protected]> Date: Mon Aug 25 08:54:43 2025 -0700 Fixed crash if mouse functions are used after video quit commit 2707375 Author: ceski <[email protected]> Date: Mon Aug 18 20:05:08 2025 -0700 Fix vsync-off support for direct3d11 commit f8ac722 Author: eafton <[email protected]> Date: Sat Aug 23 19:42:10 2025 +0300 X11TK: Fix build commit 4c73c19 Author: eafton <[email protected]> Date: Sat Aug 23 19:21:41 2025 +0300 X11TK: Respond to scale changes commit 2dd56f9 Author: eafton <[email protected]> Date: Sat Aug 23 19:21:28 2025 +0300 X11TK: Respond to scale changes commit f43f0f1 Author: eafton <[email protected]> Date: Sat Aug 23 19:17:07 2025 +0300 X11TK: Respond to scale changes commit 0fcaf47 Author: Ethan Lee <[email protected]> Date: Fri Aug 22 14:32:28 2025 -0400 gpu: D3D12 only requires feature level 11_0 with Resource Binding Tier 2. We previously thought this wasn't possible because constant buffer offsets and partial updates were unavailable, but we were reading the wrong table - this is only the case for D3D11... https://learn.microsoft.com/en-us/windows/win32/direct3d11/overviews-direct3d-11-devices-downlevel-intro ... while 12 doesn't list this feature at all: https://learn.microsoft.com/en-us/windows/win32/direct3d12/hardware-feature-levels We double checked and Jesse Natalie confirmed that this feature is required for D3D12 even for 11_0 drivers. (Thanks Jesse!) Additionally, D3D12 requires that UAVs are accessible from all shader stages, meaning Tier 2 is enough to support the number of UAVs we need. Tier 1 could be a property to lower the requirements, but that can be done later. commit dee2414 Author: Merlyn Morgan-Graham <[email protected]> Date: Sat Aug 16 09:09:20 2025 +0000 Fix typo in SDL_power doc comment commit ee5e249 Author: arnau.nau <[email protected]> Date: Tue Aug 19 01:38:47 2025 +0200 Docs fix for SDL_stdinc.h: floor,floorf,ceil,ceilf commit ed608b2 Author: eafton <[email protected]> Date: Wed Aug 20 17:35:39 2025 +0300 X11TK: Use ceil instead of round commit 075e9c1 Author: eafton <[email protected]> Date: Wed Aug 20 12:15:01 2025 +0300 X11TK: Implement arrow key navigation commit 72908d6 Author: eafton <[email protected]> Date: Wed Aug 20 12:02:27 2025 +0300 X11TK: Process Xsettings events commit 264a3a1 Author: eafton <[email protected]> Date: Wed Aug 20 11:55:50 2025 +0300 X11TK: Fix XDestroyImage fixme commit 0b082b2 Author: SDL Wiki Bot <[email protected]> Date: Tue Aug 19 20:39:22 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit 46fa43b Author: eafton <[email protected]> Date: Tue Aug 19 22:14:22 2025 +0300 X11TK: Fix leftover from debugging commit 03b14f5 Author: Wilson Jallet <[email protected]> Date: Tue Aug 19 21:10:55 2025 +0200 GPU: Fix Vulkan indexing error for resolve attachment refs (libsdl-org#13768) commit d4b709d Author: eafton <[email protected]> Date: Tue Aug 19 22:10:13 2025 +0300 X11TK: Fix FreeBSD build commit da6d874 Author: eafton <[email protected]> Date: Tue Aug 19 22:03:26 2025 +0300 X11TK: Implement scaling (both integer and fractional) commit 721398f Author: eafton <[email protected]> Date: Tue Aug 19 16:02:23 2025 +0300 X11TK: Add keyboard navigation/tabbing support commit e3db7f8 Author: SDL Wiki Bot <[email protected]> Date: Tue Aug 19 04:41:07 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit bad7075 Author: suleyth <[email protected]> Date: Sun Aug 17 22:52:45 2025 +0200 Only add VRAM to deviceRank if asking for a high performance device, and if the device already meets all the requirements. commit 618f85f Author: suleyth <[email protected]> Date: Sun Aug 17 22:48:02 2025 +0200 Make deviceRank an Uint64 to avoid potential overflow issues in case of future GPUs with huge VRAM commit c5b79e5 Author: suleyth <[email protected]> Date: Sat Aug 16 11:56:47 2025 +0200 Pick dedicated GPU with highest VRAM commit 923b94f Merge: c86bd09 5f77da3 Author: eafton <[email protected]> Date: Sun Aug 17 11:50:44 2025 +0300 Merge branch 'libsdl-org:main' into x11tk commit 5f77da3 Author: Sam Lantinga <[email protected]> Date: Thu Aug 14 19:30:54 2025 -0700 x11: use raw values for relative mouse motion Fixes libsdl-org#13743 commit fe16c62 Author: Sam Lantinga <[email protected]> Date: Thu Aug 14 14:49:04 2025 -0700 Fix crash when enumerating Steam Controllers Closes libsdl-org#13746 commit 2d855e1 Author: Sam Lantinga <[email protected]> Date: Thu Aug 14 14:48:58 2025 -0700 Fixed style commit 20df88a Author: Sam Lantinga <[email protected]> Date: Thu Aug 14 14:44:49 2025 -0700 Fixed spacing commit e111104 Author: Sam Lantinga <[email protected]> Date: Thu Aug 14 13:41:40 2025 -0700 Fixed crash when reinitializing video on X11 The keyboard keymap was left pointing at a freed keymap after X11_QuitKeyboard() commit f053be2 Author: Joshua T. Fisher <[email protected]> Date: Thu Aug 14 08:19:14 2025 -0700 Improve CMake for IDE Projects (Visual Studio) (libsdl-org#13704) commit f934b3e Author: Sam Lantinga <[email protected]> Date: Wed Aug 13 19:42:49 2025 -0700 x11: fixed creating a window when all displays are disconnected The X server maintains the desktop, but XRandR sends disconnect notifications for all displays. In this case fall back to the generic X11 desktop as a display. commit eeae484 Author: Sam Lantinga <[email protected]> Date: Wed Aug 13 19:42:28 2025 -0700 Fixed crash if X11 initialization fails commit 45feacf Author: Petar Popovic <[email protected]> Date: Wed Aug 13 22:59:17 2025 +0200 emscripten tests: fix warning: uninitialized variable commit a743fb5 Author: ChaseKnowlden <[email protected]> Date: Wed Aug 13 14:17:51 2025 -0400 Use PulseAudio fragsize buffer correctly Fixes broken microphone input in Sober commit ec0e4e2 Author: Ryan C. Gordon <[email protected]> Date: Wed Aug 13 16:32:02 2025 -0400 docs: Mark most of SDL_filesystem.h as thread-safe. Fixes libsdl-org#13738. commit 29cff6e Author: Salman Alshamrani <[email protected]> Date: Fri Jan 3 20:58:03 2025 -0500 Work around password integrations hiding software keyboard and preventing autofill commit bd7d470 Author: Salman Alshamrani <[email protected]> Date: Mon Dec 23 18:15:59 2024 -0500 Fix text field resetting text when replaced with a short string Triggered by auto-filling a password with less than 16 characters from a password manager. commit 10478c5 Author: ChaseKnowlden <[email protected]> Date: Tue Aug 12 18:29:22 2025 -0400 Keep MSVC Flags Consistent across CMake runs commit 62b9ac3 Author: Mitch Cairns <[email protected]> Date: Tue Aug 5 18:00:12 2025 -0700 SEWN Button Convention commit 87543ba Author: Mitch Cairns <[email protected]> Date: Tue Aug 5 17:35:38 2025 -0700 SInput: Mapping updates for GCUltimate/ProGCC - In previous firmwares for my gamepads, the buttons were sent in a static order for ABXY. - To better be 'transparent' to the driver and save myself from future fragmentation, I am updating the mappings to be consistent, where the HID report should always expect to receive the button inputs based on cardinal button directions rather than button labels. - This better aligns with the existing 'fallback' behavior of a generic device. - Coincides with firmware library update: HandHeldLegend/HOJA-LIB-RP2040#30 commit 7487880 Author: SDL Wiki Bot <[email protected]> Date: Tue Aug 12 17:05:23 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit 4725213 Author: Sam Lantinga <[email protected]> Date: Tue Aug 12 09:53:41 2025 -0700 Support the "ambient" value for SDL_HINT_AUDIO_CATEGORY Fixes libsdl-org#13732 commit 4b2a87a Author: SDL Wiki Bot <[email protected]> Date: Tue Aug 12 16:53:08 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit 970c0bf Author: Sylvain <[email protected]> Date: Fri Aug 8 11:43:42 2025 +0200 Fixed bug libsdl-org#13493: Assertion failure at SDL_AddTouch with Android API 28 Java touch id should be -1 because it's reserved for internal SDL synthetic events. It should also not be 0, because this is SDL invalid value. commit 6e422e5 Author: Chase Knowlden <[email protected]> Date: Tue Aug 12 10:45:57 2025 -0400 Update NDK version to 28 (libsdl-org#13729) * Update NDK version to 28 and add 16kb page size linker flags to x86_64 * Remove Android Linker Options 16kb page size is now the default since NDK r28c * Update Android CI to use NDK 28 commit e699f3d Author: Beyley Cardellio <[email protected]> Date: Sun Aug 10 00:13:14 2025 -0700 GPU: Hold submit lock before waiting for device idle commit f2df279 Author: SDL Wiki Bot <[email protected]> Date: Sun Aug 10 05:08:26 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit 40ec959 Author: Sam Lantinga <[email protected]> Date: Sat Aug 9 22:07:14 2025 -0700 Restored text missing during wiki sync (thanks @sezero!) commit 3970acd Author: SDL Wiki Bot <[email protected]> Date: Sun Aug 10 02:21:43 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit 44ce826 Author: SDL Wiki Bot <[email protected]> Date: Sat Aug 9 18:34:27 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit 43f3991 Author: Petar Popovic <[email protected]> Date: Sat Aug 9 18:00:04 2025 +0200 linux/SDL_syshaptic.c:SDL_SYS_HapticStopAll(): Fix return on error commit d4819db Author: Petar Popovic <[email protected]> Date: Sat Aug 9 15:36:42 2025 +0200 SDL_waylandvideo.c:display_remove_global(): Check pointer when removing mouse commit 7017fba Author: Anonymous Maarten <[email protected]> Date: Sat Aug 9 04:39:12 2025 +0200 release: build aarch64 libraries with 16kiB page size [ci skip] commit f4c124e Author: Mohamed Shazan <[email protected]> Date: Sat Aug 9 04:50:59 2025 +0530 SDL_TriggerBreakpoint() will default to __debugbreak() on MinGW toolchain on windows commit aff1a48 Author: Frank Praznik <[email protected]> Date: Fri Aug 8 17:53:21 2025 -0400 wayland: Cleanup and return if keymap allocation fails commit d9c20cf Author: Petar Popovic <[email protected]> Date: Fri Aug 8 20:52:24 2025 +0200 SDL_SendJoystickVirtualSensorDataInner(): Fix max_sensor_events increment commit de742e9 Author: Anonymous Maarten <[email protected]> Date: Fri Aug 8 04:55:32 2025 +0200 cmake: detect RISCOS platform before GNU/Hurd commit 1718850 Author: Pino Toscano <[email protected]> Date: Thu Aug 7 23:35:39 2025 +0200 Add GNU/Hurd as platform SDL has been building on GNU/Hurd for a long time, using either drivers based on external libraries (e.g. X11, pulseaudio, sndio, etc) or dummy drivers. This commit introduces it explicitly as platform, so it can be recognized, and tweaked as needed. In particular: - introduce the SDL_PLATFORM_HURD define - tighten/improve the platform detection in cmake, and use "Hurd" as identifier - return the platform name in SDL_GetPlatform() - tweak the CFLAGS/LDFLAGS so pthreads can be used properly - implement SDL_GetExeName(), using /proc/self/exe as provided by the basic Linux-like procfs - enable GLES 2 in tests (mostly for consistency with Linux) commit b63c32e Author: Petar Popovic <[email protected]> Date: Fri Aug 8 19:50:12 2025 +0200 SDL_SetRenderDrawBlendMode(): Remove redundant param check commit 7252633 Author: Frank Praznik <[email protected]> Date: Fri Aug 8 11:10:53 2025 -0400 video: Check the display origin when a fullscreen window is moved In certain cases when moving fullscreen windows in scaled desktop configurations, the window origin might overlap two displays at once. Check if the window is at the origin of a specific display before falling back to the generic window rectangle check. Fixes rare fullscreen window misplacement when moving fullscreen windows via a desktop shortcut while using the Wayland scale-to-display mode. commit 248bcf6 Author: Pino Toscano <[email protected]> Date: Thu Aug 7 07:40:29 2025 +0200 ime: fcitx: use SDL_GetExeName() in GetAppName() Use the existing SDL_GetExeName(), available for all the UNIX platforms, in the internal GetAppName(); this has few advantanges: - SDL_GetExeName() (and SDL_GetAppID() that builds on top of it) are used in various places already; since it caches the executable name, this may remove one extra read of the application name - SDL_GetExeName() has a non-dummy implementation in more OSes than GetAppName(), thus providing a small improvement for this IME As drive-by change: since SDL_GetExeName() provides a constant string, there is no more need to allocate a new string in GetAppName(), which is used as constant string anyway. Hence, return a constant string in GetAppName() too. commit d83503f Author: Simon McVittie <[email protected]> Date: Thu Aug 7 11:58:25 2025 +0100 Fix some typos detected by Debian's lintian QA tool I assume the demoninator is a typo, rather than an indication that someone has been playing too much Doom :-) Signed-off-by: Simon McVittie <[email protected]> commit 40b941c Author: Simon McVittie <[email protected]> Date: Thu Aug 7 11:54:20 2025 +0100 hints: Rephrase documentation to improve grammar "This thing allows to do something" is not really grammatically correct. The closest rephrasing would be "allows one to do something" or "allows the user to do something", but I think the passive voice reads more naturally here. Detected by Debian's lintian QA tool. Signed-off-by: Simon McVittie <[email protected]> commit fe6b216 Author: cosmonaut <[email protected]> Date: Thu Aug 7 10:57:17 2025 -0700 GPU: Fix uninitialized value in Vulkan command buffer structure commit 6981522 Author: Sam Lantinga <[email protected]> Date: Thu Aug 7 11:44:45 2025 -0700 Revert "Support Google Play 16 KB Page Size Requirement (libsdl-org#13470)" This reverts commit dc2c83c If you need to support the Google Play 16 kiB page size requirement, the recommendation is to use NDK r28c or newer, which automatically aligns binaries correctly. commit 33c8998 Author: Frank Praznik <[email protected]> Date: Wed Aug 6 17:36:31 2025 -0400 video: Use additional checks for determining on which display a window should be fullscreen Trying to determine where a window should be made fullscreen from the size and position can be unreliable if the window exceeds the display bounds. Add additional checks with the following priority: - If the window was positioned with a macro that explicitly passes a display ID, store and use the requested display as the explicit fullscreen target. - Check if the window position is an exact match for any display origins, and use that display if found, as positioning a fullscreen window by moving it to the origin of the destination display is common behavior. - Fall back to the existing center point check if the previous checks were not successful, as it is known behavior, and won't risk breaking existing clients that rely on it. commit 561c99e Author: Pino Toscano <[email protected]> Date: Wed Aug 6 23:40:02 2025 +0200 SDL_endian.h: extend Linux way for GNU libc The currently used way to determine the endianness (i.e. include <endian.h> and use the __BYTE_ORDER macro) is provided in general by GNU libc. Thus, extend that to any platform/OS based on GNU libc. commit f439e44 Author: Frank Praznik <[email protected]> Date: Thu Jul 24 15:11:20 2025 -0400 x11: Modernize and optimize key handling - Use modern Xkb functions where appropriate and cleanly separate the modern and legacy paths. - Remove the deprecated XKeycodeToKeysym function in favor of directly querying the keymap on the legacy path. - Look up virtual modifiers by name on the Xkb path to better handle remapping (equivalent to the modifier handling under Wayland). - Optimize keymap creation on the Xkb path to cut keymap build times and enable fast group switching (equivalent to keymap handling on Wayland). - Enable and handle Xkb events to handle changes to the group, mapping, and modifier states. This is more reliable than using the legacy events (group changes may not arrive if the window lacks pointer focus), and better handles cases where modifiers are latched, locked, or activated externally rather than physically pressed. commit 67e5130 Author: Frank Praznik <[email protected]> Date: Mon Aug 4 19:43:42 2025 -0400 x11: Check axis labels when searching for relative axes Prefer axes with the 'Rel X'/'Rel Y' labels, followed by 'Abs X'/'Abs Y', and only fall back to the old behavior of using the first two enumerated axes if no others are found. Fixes a FIXME when determining which axes to use for relative motion. commit 91be1b0 Author: Sam Lantinga <[email protected]> Date: Wed Aug 6 09:22:33 2025 -0700 x11: Fix xsettings pointer not being reset in X11_QuitXsettings commit 31ba7ef Author: Sam Lantinga <[email protected]> Date: Wed Aug 6 09:22:15 2025 -0700 x11: Refactor dpi hooks, removing GTK dependency and fixing XSettings watcher - Removed GTK signal handler in x11settings. XSettings events are now properly dispatched to X11_XsettingsNotify. Previously events were not being passed to xsettings-client as no SDL xsettings_window was created. Now all events are filtered through xsettings_client_process_event allowing it to process the external window events that are selected. Global content scale is updated for changes to any recognized dpi settings. - X11_GetGlobalContent now reads the current RESOURCE_MANAGER prop off of the root window to ensure it sees the current value. XResourceManagerString is now only used if getting the current prop fails as it caches the current resource manager value per-display connection. - Clean up some warnings in SDL_gtk. commit b139821 Author: A1029384756 <[email protected]> Date: Wed Aug 6 01:21:47 2025 -0400 tray: linux - use `.cache` directory for temporary icon paths commit cd0c660 Author: Frank Praznik <[email protected]> Date: Tue Aug 5 17:24:10 2025 -0400 win32: Use the current flags to determine if NCCALCSIZE is required SDL_GetWindowFlags() also ORs in pending flags, whereas the current state is needed here, particularly when creating/showing a window. commit 90a0230 Author: Frank Praznik <[email protected]> Date: Tue Aug 5 15:51:50 2025 -0400 win32: Use STYLE_BORDERLESS when showing a pending fullscreen window In addition to hiding the border on bordered windows that will immediately become fullscreen, The combination of flags used in STYLE_BORDERLESS_WINDOWED will still show the borders on borderless windows if the initial window size exactly matches the desktop, so STYLE_BORDERLESS must be used instead. commit aae7736 Author: Sam Lantinga <[email protected]> Date: Tue Aug 5 12:01:31 2025 -0700 Added additional examples of paddle and misc buttons (thanks @AL2009man!) commit f44a987 Author: Frank Praznik <[email protected]> Date: Mon Aug 4 23:54:40 2025 -0400 cocoa: Wait for fullscreen spaces transitions to complete if switching to an exclusive mode If attempting to switch to an exclusive mode while a fullscreen spaces transition is active, wait until the transition is complete before trying to apply the changes, or the window can wind up in a weird, broken state if a mode switch occurs while in a fullscreen space. commit 3163e0c Author: Frank Praznik <[email protected]> Date: Mon Aug 4 23:49:15 2025 -0400 Revert "cocoa: Don't re-enter a fullscreen space if leaving to enter an exclusive mode" This reverts commit ee8f286. It turns out that the problem is elsewhere, related to needing to block mode changes until spaces transitions are complete. commit b6fa89e Author: Alexander Batalov <[email protected]> Date: Mon Aug 4 19:51:37 2025 +0300 Fix directory globbing on Android commit a05aca5 Author: Mathieu Eyraud <[email protected]> Date: Mon Aug 4 11:14:52 2025 +0200 Fix condition for setting HDR properties commit ee8f286 Author: Frank Praznik <[email protected]> Date: Mon Aug 4 22:07:24 2025 -0400 cocoa: Don't re-enter a fullscreen space if leaving to enter an exclusive mode Doing so can leave the window in a weird, offset state. commit 293b8b9 Author: Sam Lantinga <[email protected]> Date: Mon Aug 4 16:53:09 2025 -0700 x11: Fix regression reading GNOME content scale - Removed gtk-xft-dpi read from GetGlobalContentScale. Xrm either returns either the same value as gtk-xft-dpi or the integer scale value in cases where gtk-xft-dpi is 1. - Refactor SDL_x11settings handlers to defer to GetGlobalContentScale - GetGlobalContentScale is now exported and the XSettings and Gtk signal handlers now use it for consistency. This involves a bit of extra work reading from Xrm rather than the setting notification but ensures consistent handling based on signal origin and hints enabled. - Hook both gtk-xft-dpi in SDL_x11settings. This should generally result in only one being called based on which is updated. Since both signal handlers defer to X11_GetGlobalContentScale this will cause the same content scale to be applied multiple times. The gtk-xft-dpi signal is now only used to trigger content scale updates when the XSettings notification does not occur. commit c86bd09 Merge: bd0edb4 7bb045c Author: eafton <[email protected]> Date: Tue Aug 5 00:35:26 2025 +0300 Merge branch 'libsdl-org:main' into x11tk commit 7bb045c Author: Sam Lantinga <[email protected]> Date: Mon Aug 4 13:04:17 2025 -0700 Fixed Windows build commit bd0edb4 Merge: b79d5ba 9a71e3f Author: eafton <[email protected]> Date: Mon Aug 4 20:54:41 2025 +0300 Merge branch 'libsdl-org:main' into x11tk commit 9a71e3f Author: Sam Lantinga <[email protected]> Date: Mon Aug 4 10:39:34 2025 -0700 Revert "Add SDL_IsTraySupported" This reverts commit 47d8bdd. There are runtime reasons why creating a tray can fail, so the correct approach is not to assume that just because a platform supports a tray that trays are available. Instead, you should create a tray at application startup, for the lifetime of the application, and handle failures at that point. Closes libsdl-org#13632 commit bba6555 Author: Sam Lantinga <[email protected]> Date: Mon Aug 4 10:21:58 2025 -0700 Enable background input when using Microsoft GameInput commit 483b8d4 Author: Frank Praznik <[email protected]> Date: Sat Aug 2 17:31:41 2025 -0400 x11: Implement precision/pixel scrolling Manual rebase of libsdl-org#5382 with some changes for SDL3 (thanks @wooosh). commit 23e08f7 Author: Petar Popovic <[email protected]> Date: Sun Aug 3 17:58:02 2025 +0200 SDL_LoadWAV_IO(): On error, set `*audio_buf` to NULL and `*audio_len` to 0 commit faf3bd9 Author: Petar Popovic <[email protected]> Date: Sun Aug 3 16:32:42 2025 +0200 SDL_enabled_assert(): Use `NULL` istead of `0` to explicity initialize the pointer members of SDL_AssertData commit 8dedf44 Author: Sam Lantinga <[email protected]> Date: Sun Aug 3 07:24:10 2025 -0700 Fixed warning: initialization of pointer of type 'VkSampler' (aka 'struct VkSampler_T *') to null from a constant boolean expression Fixes libsdl-org#13628 commit cb54360 Author: Hayden Gray <[email protected]> Date: Sun Aug 3 10:22:32 2025 -0400 tray: linux fix tray menu elements not running callbacks (libsdl-org#13626) commit b79d5ba Merge: 416cfd5 e1a623f Author: eafton <[email protected]> Date: Sun Aug 3 16:18:46 2025 +0300 Merge branch 'libsdl-org:main' into x11tk commit e1a623f Author: Ryan C. Gordon <[email protected]> Date: Sat Aug 2 22:53:34 2025 -0400 SDL_migration.cocci: Fixed a few incorrect function names. commit e8b5d90 Author: mitchellcairns <[email protected]> Date: Sat Aug 2 19:11:18 2025 -0700 SInput: ABXY Style Application and Code Cleanup (libsdl-org#13624) ABXY Face Style Application - The abxy face style extraction now applies to any SInput device. - The use-case here is that gamepads that allow for changing styles can dynamically adjust the button labels firmware-side to have the physical location better represent the actual button being pressed. SInput Sub-Type Clarification - The code has been updated to better reflect the intention behind the sub-type field of the GUID byte 15. - Any SInput device may utilize the Sub-Type field to indicate variants of the same device (Same device that has rear paddles or additional physical features but is otherwise identical, etc.). "Firebird" Company Name Clarification - "Bonjiri" was a wrong translation. Got clarification from the company and official PID registration for the official English spelling (See raspberrypi/usb-pid@0c5234c). - Fixed this spelling for all references (official mapping strings still pending and this will return NULL until this is provided). Code Notes - Various notes have been updated to have more clear indications. - I have moved the face-type and sub-type debug messages to be paired with the extraction for easier location. - I've removed an incorrect note left-over from a previous commit regarding command response information. commit 51ce3f8 Author: Frank Praznik <[email protected]> Date: Mon Jul 28 12:02:27 2025 -0400 x11: Filter mouse wheel events from "Master" devices Discard wheel events from "Master" devices to avoid duplicates, as wheel events are stateless and can't be deduplicated. commit 4246356 Author: Frank Praznik <[email protected]> Date: Thu Jul 31 19:56:46 2025 -0400 GPU: Vulkan backend flags command buffer for cleanup when swapchain is requested When skipping presentation due to the window being hidden, presentDataCount is not incremented on the command buffer, and subsequently the submitted command buffers will not be cleaned up as long as the window is hidden. This results in a lag spike when showing the window due to all previously submitted command buffers suddenly being cleaned up at once, and lag at shutdown due to an equivalent number of fences needing to be destroyed. Instead of relying on presentDataCount to determine whether a command buffer should be cleaned up, use a flag, which is set under the appropriate circumstances. commit ae5ce25 Author: Petar Popovic <[email protected]> Date: Sat Aug 2 15:42:09 2025 +0200 Fix double-free warning in src/hidapi/linux/hid.c commit 2b94062 Author: Antheas Kapenekakis <[email protected]> Date: Fri Aug 1 14:44:13 2025 +0200 sinput: fix compiling with debug output on commit 5dc8015 Author: Anonymous Maarten <[email protected]> Date: Sat Aug 2 03:39:38 2025 +0200 ci: Haiku does not need -DSDL_UNIX_CONSOLE_BUILD=ON Haiku has a native video system commit 2190705 Author: Anonymous Maarten <[email protected]> Date: Sat Aug 2 03:08:03 2025 +0200 ci: configure with -DCMAKE_SYSTEM_NAME=Haiku for Haiku Fixes ci regression introduced in e8b69b0 commit 8796f0a Author: Sam Lantinga <[email protected]> Date: Fri Aug 1 17:44:22 2025 -0700 SDL_gtk: Prevent loading GTK-3 if a different version of GTK is already loaded - gtk_init_check claims it will not terminate the program on failure, however this is does not apply to the internal check it performs to see whether another GTK library is already loaded, the detection of which triggers a g_error which glib treats as fatal. - gtk_progress_get_type and gtk_misc_get_type are checked to match the checks done by _gtk_module_has_mixed_deps. - Clean up gtk/gdk loading. There are no library fallbacks so the one option available can be loaded rather than iterating through a list of one item. commit f241e8e Author: Ozkan Sezer <[email protected]> Date: Sat Aug 2 01:47:32 2025 +0300 windows: replace shobjidl_core.h usage with shobjidl.h except for when targeting xbox Closes libsdl-org#13571 commit 1c5c3b1 Author: capehill <[email protected]> Date: Sun Jun 29 16:34:05 2025 +0300 Fix SDL_BlitSurfaceScaled crash SDL_BlitSurfaceScaled could crash when passed large coordinates, due to final_dst.w or final_dst.h getting negative values. commit d04899f Author: Antheas Kapenekakis <[email protected]> Date: Fri Aug 1 19:15:54 2025 +0300 Fix setting RGB without a player led (libsdl-org#13524) There is a bug where SInput checks for player led capability before setting RGB. This means that if a controller does not have a player led, RGB commands are not sent. commit 1749aba Author: Petar Popovic <[email protected]> Date: Sat Jul 26 19:35:06 2025 +0200 Fixed a few "-Wredundant-decls" warnings commit 550d95e Author: Frank Praznik <[email protected]> Date: Fri Aug 1 10:33:55 2025 -0400 wayland: Cleanup an outdated conditional and comment There may have been a reason for not attaching a null buffer when destroying a popup at some point in the past, but that is unnecessary now, as is the comment about ShowWindow crashing, as ShowWindow assures that a null buffer is attached before (re)creating the window. commit 9034375 Author: A1029384756 <[email protected]> Date: Fri Aug 1 00:08:35 2025 -0400 wayland: reorder surface destruction to avoid premature blanking commit 83818ee Author: Ozkan Sezer <[email protected]> Date: Fri Aug 1 06:28:02 2025 +0300 tests: c90 fixes (#endif comments) for consistency after commit 9e37839 commit 9e37839 Author: Anonymous Maarten <[email protected]> Date: Fri Aug 1 02:27:54 2025 +0200 Fix testnative C90 compatibility commit 7b501ae Author: Anonymous Maarten <[email protected]> Date: Fri Aug 1 02:00:08 2025 +0200 Add a few include guards to private headers commit 06cafa3 Author: Anonymous Maarten <[email protected]> Date: Fri Aug 1 01:59:15 2025 +0200 cmake: explicitly disable UNITY_BUILD property for SDL3 libraries commit 0922182 Author: Petar Popovic <[email protected]> Date: Fri Aug 1 00:33:54 2025 +0200 Fix potential memory leak in SDL_render_gles2.c commit dc2c83c Author: Matthew Zavislak <[email protected]> Date: Thu Jul 31 16:12:54 2025 -0700 Support Google Play 16 KB Page Size Requirement (libsdl-org#13470) - See: https://developer.android.com/guide/practices/page-sizes#update-packaging - Also, make min API uniform at 21 (from 16 and 23 in a few places) commit c5edf4b Author: cosmonaut <[email protected]> Date: Thu Jul 31 14:12:45 2025 -0700 GPU: Bail out of aquiring Vulkan swapchain if window is hidden commit 6d580d7 Author: mitchellcairns <[email protected]> Date: Thu Jul 31 15:36:10 2025 -0700 Fix Axis Inputs for Generic SInput Device (libsdl-org#13489) - Implement correct SInput generic mapping string to map analog axes - Implement 6 axis count fallback for generic SInput Device commit 2989d0c Author: Sam Lantinga <[email protected]> Date: Thu Jul 31 09:41:35 2025 -0700 Fixed build commit b0cdb71 Author: Frank Praznik <[email protected]> Date: Thu Jul 31 12:13:07 2025 -0400 wayland: Adjust popup adjoining check The previous calculation could result in a window whose original position was positioned exactly corner-to-corner with the parent not being adjusted to be adjoining, and thus subject to spurious closure. commit 88cbe85 Author: Sam Lantinga <[email protected]> Date: Thu Jul 31 08:57:59 2025 -0700 Added missing files commit 26c41f3 Author: Sam Lantinga <[email protected]> Date: Thu Jul 31 08:49:40 2025 -0700 Fix Android build - Android defines SDL_PLATFORM_UNIX but does not compile core/unix sources so add checks for SDL_PLATFORM_ANDROID where SDL_gtk is used. - Fix missing void parameter list in SDL_Gtk_EnterContext. - Remove unneeded SDL_gtk.h include in SDL_events.c commit bf7b4d4 Author: Sam Lantinga <[email protected]> Date: Thu Jul 31 08:49:36 2025 -0700 x11: Add GTK signal handler for gtk-xft-dpi and reader in GetGlobalContentScale - This is to support dynamic updates of content scale when running in XWayland. The GTK signal is preferred over the XSettings watcher and Xrm database if supported as it will trigger and update for both native X11 and XWayland on changes to Xft.dpi. commit 3c369aa Author: Sam Lantinga <[email protected]> Date: Thu Jul 31 08:49:31 2025 -0700 unix: Refactor GTK bindings from SDL_tray to separate SDL_gtk module to allow shared usage - SDL creates and requires usage of a specific glib context. This context is set as the global glib context with SDL_Gtk_EnterContext and the previous context is restored with SDL_Gtk_ExitContext. - To avoid changing the behavior of SDL_tray, which is the only consumer of SDL_gtk currently, the SDL_UpdateTray function now unconditionally runs a single glib frame iteration and is responsible for dispatching glib events for all consumers in SDL_PumpEvents. - Cleaned up some error handling in SDL_tray. commit d8ac518 Author: Cheney Wang <[email protected]> Date: Wed Jul 30 17:44:47 2025 -0400 GPU: Fix wrong Vulkan swapchain size when retrying acquire commit 3d1a28c Author: Wouter Wijsman <[email protected]> Date: Wed Jul 30 21:06:13 2025 +0200 psp: fix audio not playing commit 3195980 Author: Thaddeus Crews <[email protected]> Date: Wed Jul 30 10:34:01 2025 -0500 Define relevant macros when LACKS_ERRNO_H is true commit 10458f2 Author: Stefan Schlosser <[email protected]> Date: Wed Jul 30 13:10:11 2025 +0200 SDL_getenv.c: fix dynamic loading of environ symbol on FreeBSD The current implementation uses the returned address of the `dlsym` function directly to load the `environ` symbol. But this function doesn't return the address to the symbol itself, instead it returns the address to the location where the actual address is stored, i.e. it's an additional indirection. Consequently, the implementation fails to load and process the environment variables successfully. One example where this error shows up is in the `Dialog API`: in an `X11` environment, the `zenity` driver requires access to the user's `DISPLAY` and `XAUTHORITY` environment variables. Because these variables aren't transfered to the `zenity` process, no dialogs are shown. This can be exercised in the `test/testdialog.c` testprogram. The fix changes the indirection level of the `dlsym` call from `char **` to `char ***`, does a `NULL`-check in case the call failed, and returns the dereferenced actual adress to the `environ` symbol. commit e239298 Author: SDL Wiki Bot <[email protected]> Date: Wed Jul 30 08:06:30 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit dec2104 Author: Ryan C. Gordon <[email protected]> Date: Wed Jul 30 00:52:29 2025 -0400 docs: Slightly improve virtual joystick docs. Reference libsdl-org/sdlwiki#78 commit ea04bdb Author: Ryan C. Gordon <[email protected]> Date: Wed Jul 30 00:42:57 2025 -0400 docs: Added a note about virtual joysticks to CategoryJoystick. Fixes libsdl-org/sdlwiki#78 commit c663b6e Author: Sam Lantinga <[email protected]> Date: Tue Jul 29 20:48:32 2025 -0700 Don't leave garbage in output parameters commit cd15893 Author: SDL Wiki Bot <[email protected]> Date: Wed Jul 30 03:30:05 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit acbe863 Author: Ryan C. Gordon <[email protected]> Date: Tue Jul 29 23:21:47 2025 -0400 docs: Note SDL_EVENT_AUDIO_DEVICE_ADDED is sent for all devices at startup. Fixes libsdl-org/sdlwiki#721 commit 39794ae Author: SDL Wiki Bot <[email protected]> Date: Wed Jul 30 03:13:02 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit d9b5783 Author: SDL Wiki Bot <[email protected]> Date: Wed Jul 30 03:04:38 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit 07af4b2 Author: Evan Hemsley <[email protected]> Date: Tue Jul 29 15:34:08 2025 -0700 GPU: Fix incorrect block size when D3D12 uniform buffer is rotated (libsdl-org#13469) commit f27dbb2 Author: Petar Popovic <[email protected]> Date: Tue Jul 29 19:51:44 2025 +0200 Fix two use-after-free warnings commit 774c0b3 Author: Ryan C. Gordon <[email protected]> Date: Tue Jul 29 12:14:04 2025 -0400 android: Different approach to SDL_GetPathInfo() for assets. Reference Issue libsdl-org#13050. commit beea8d6 Author: Petar Popovic <[email protected]> Date: Tue Jul 29 11:44:15 2025 +0200 Replaced binary integer literals with hexadecimal integer literals commit 5f4416b Author: Vicki Pfau <[email protected]> Date: Mon Jul 28 20:03:51 2025 -0700 joystick: Improve Xbox controller mapping with xpad quirks (libsdl-org#13305) xpad has a series of questionable design choices when it comes to button mapping. Notably, BTN_TRIGGER_HAPPY1-4 are used for the D-pad on dance mats instead of the typical BTN_DPAD_*, and maps the paddles to BTN_TRIGGER_HAPPY5-8. This commit plumbs through driver detection for a udev device and adds special exceptions for xpad's quirks. Newer kernels (6.17+) add the BTN_GRIP* mappings for paddles on controllers. We should prefer that if available, as its meaning and mapping is unambiguous. However, since it's only in new kernels, we need to maintain the older mappings where we know they exist. It also exposes KEY_RECORD as the share button regardless of vendor, which had previously been gated behind being a Microsoft controller. All Xbox Series controllers can include this button, and many third party ones do. commit 416cfd5 Author: eafton <[email protected]> Date: Mon Jul 28 23:19:58 2025 +0300 Implement suggest Co-authored-by: Sam Lantinga <[email protected]> commit 25cf1a5 Author: Sam Lantinga <[email protected]> Date: Mon Jul 28 13:11:07 2025 -0700 Map GameCube controller trigger clicks as misc3 and misc4 This is for consistency with the GC Ultimate controller and allows binding in Steam commit cab331c Author: eafton <[email protected]> Date: Mon Jul 28 23:10:40 2025 +0300 Implement suggested changes in X11 toolkit and messagebox code commit b8e7428 Author: eafton <[email protected]> Date: Mon Jul 28 22:21:16 2025 +0300 Fix X11 toolkit memory leak + improve Randr support in X11 toolkit commit c8ebbb3 Author: SDL Wiki Bot <[email protected]> Date: Mon Jul 28 18:58:19 2025 +0000 Sync SDL3 wiki -> header [ci skip] commit b3ba1c1 Author: Xen <[email protected]> Date: Mon Jul 28 11:43:16 2025 -0700 Update SDL_clipboard.h Typo fixes and a small addition to SDL_SetClipboardData about mime_type list usage clarity. commit 30f0aeb Author: Dan Andrus <[email protected]> Date: Wed Jul 23 16:31:59 2025 +0200 Check NSWindow::isVisible before sending SDL_WINDOWEVENT_RESTORED during Cocoa_WindowListener::windowDidResize
eafton
pushed a commit
to eafton/SDL
that referenced
this pull request
Sep 2, 2025
There is a bug where SInput checks for player led capability before setting RGB. This means that if a controller does not have a player led, RGB commands are not sent.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a bug where SInput checks for player led capability before setting RGB. This means that if a controller does not have a player led, RGB commands are not sent.
cc @mitchellcairns