Add dual touchpad support to testcontroller#15540
Merged
Merged
Conversation
1 task
Collaborator
|
Merged, thanks! |
bovacu
added a commit
to bovacu/SDL
that referenced
this pull request
May 24, 2026
commit 6c55fad411cbaa24ae4f488b4e349a21a3699b5c Author: Ryan C. Gordon <[email protected]> Date: Sat May 23 23:56:48 2026 -0400 examples/demo/04-bytepusher: go back to showing help text on load failures. If the VM was already running, and then a file failed to open at all (a directory was dropped on the window, etc), this wouldn't go back to showing the help text. commit 800f347e5e33b5f11b73a9a5f0a2afd8ebaf030f Author: Ryan C. Gordon <[email protected]> Date: Sat May 23 23:47:24 2026 -0400 examples/demo/04-bytepusher: Remove render target. This doesn't need a render target to function. The comment suggested it was needed to make debug text look better when scaled, but maybe logical presentation used to do linear scaling exclusively at the time? commit ae07e32269d88cd20d9e7d00701d7b5a62da8955 Author: Ozkan Sezer <[email protected]> Date: Sat May 23 20:11:10 2026 +0300 SDL_itoa(): use _itoa_s(), not _ltoa_s() typo introduced by commit 33c9f1a70a813654a02c922aa33c658d8f9bd422 commit 0a96d47599838c2aa36cc6dad9395acb33189539 Author: Frank Praznik <[email protected]> Date: Sat May 23 12:20:30 2026 -0400 wayland: Remove focus references when a pointer capture ends on a subsurface The core mouse code will unfocus the window when a capture ends outside the window boundaries, but the backend still needs to update the internal focus references. commit 3626598675f499f0b24a369ebb52b23628d4898d Author: 0xDEADCADE <[email protected]> Date: Sat May 23 14:01:42 2026 +0200 Remove CenterPad and RightStick from Steam Controller (2015) internal state struct These values are never used for the Steam Controller (2015), as it does not physically have these inputs. commit e7b238a6ed9d64bcc92f8ffc75fecc10f0153b73 Author: Frank Praznik <[email protected]> Date: Fri May 22 12:30:11 2026 -0400 Fix casting errors commit 5f8eb445419c5e9c4388ac414722d7baee2a9655 Author: Frank Praznik <[email protected]> Date: Fri May 22 11:42:53 2026 -0400 wayland: Handle captured pointer movements over a subsurface Some compositors will send pointer enter/leave event while moving between surfaces that are part of the same window while mouse capture is active. Maintain window focus in this case, and adjust the coordinates relative to the content surface by the subsurface offset, if necessary. commit 9fe200c215b334dbc115a4033d751bc0049b42e1 Author: Ryan C. Gordon <[email protected]> Date: Fri May 22 10:35:41 2026 -0400 examples/renderer/20-blending: Note when a blend mode is unsupported. commit 39be8a703f809c50ff666e7499a27a832ccf4219 Author: Ryan C. Gordon <[email protected]> Date: Fri May 22 10:34:35 2026 -0400 examples/renderer/20-blending: center alpha and instructional text. Otherwise, it tends to get lost behind the "Source Code" tab in the web builds, if the browser window is too small. commit 290f0c831fe47d0c91a377e4b843a7599358a892 Author: Jason Millard <[email protected]> Date: Fri Mar 27 22:08:07 2026 -0400 iOS: Fix SDL_EVENT_DROP_FILE lost on cold start from URL open commit 2f13731d235ceed15c909838e0d0f6a4c5fd9a6f Author: Bitwolf <[email protected]> Date: Fri Mar 13 22:30:58 2026 -0700 Update Famicom controllers to a more user friendly name. commit 7f03da9588841e8d3da74e0dfeed50f95f2e4e6f Author: Vittorio Romeo <[email protected]> Date: Tue May 5 01:54:29 2026 +0200 emscripten: dedupe keyboard event listeners across multiple windows commit 2bb6df90ad2761037fca39c6bba81b506381ab2f Author: kholo <[email protected]> Date: Fri May 22 15:18:32 2026 +0200 Ignore `Huion Tablet Kamvas Pro 22` commit 6243fa2ffd8de2cf310ec4851eb0d9faef83b2fa Author: Anonymous Maarten <[email protected]> Date: Thu May 21 18:15:42 2026 +0200 Fix -Wempty-body warnings in SDL_malloc.c ABORT is used in the assert macro. commit 33c9f1a70a813654a02c922aa33c658d8f9bd422 Author: Anonymous Maarten <[email protected]> Date: Thu May 21 18:15:27 2026 +0200 Fix -Wdeprecated-declarations warnings An alternative could be to define _CRT_SECURE_NO_WARNINGS commit 6b4ae6846017b4afcde8f91c7d1bd2e2512c0ff8 Author: Sam Lantinga <[email protected]> Date: Thu May 21 12:20:03 2026 -0700 android: fixed a possible joystick-related deadlock on application termination commit fe1918a47fb8b13a76a96fd1f07e1f3ff941a4e1 Author: Sam Lantinga <[email protected]> Date: Thu May 21 10:05:20 2026 -0700 Fixed build commit 13f91a67fc1ea717b0604f674f0cd30768062a0d Author: Sam Lantinga <[email protected]> Date: Thu May 21 09:56:15 2026 -0700 Fixed Ipega controllers being ignored in keyboard mode (thanks @AntTheAlchemist!) commit 3545bad5899a843362164c038a216c2ad176a3ac Author: Sam Lantinga <[email protected]> Date: Thu May 21 06:50:21 2026 -0700 Process repeated joystick key events on Android This prevents them from being interpreted as keyboard keys by the Java code, and if internally we are treating them as keyboard keys, they'll be repeated properly. Fixes https://github.com/libsdl-org/SDL/issues/15664 commit 516f4a0bd5d97b402a1b27682d2d5e6e5119e189 Author: Sam Lantinga <[email protected]> Date: Wed May 20 17:32:01 2026 -0700 Added notes about faster crc32() options commit 47c8dcc968b29db7164e3ee5b5a8d8874ef7d26b Author: Sam Lantinga <[email protected]> Date: Wed May 20 14:57:36 2026 -0700 android: handle sensor registration synchronized in one place commit 19d73016e8333cd890d16ac972c0c1a9f8c8072a Author: Sam Lantinga <[email protected]> Date: Wed May 20 15:11:09 2026 -0700 Fixed a rare crash on Raspberry Pi when creating a window commit 0dbd9d2a65634cae4555b4d47771009b3c9fcae4 Author: Sam Lantinga <[email protected]> Date: Wed May 20 14:56:54 2026 -0700 Fixed a rare crash on Raspberry Pi when creating a window commit ef9a5b7040b36d9c6b8ab4572eb7b9d6d4190659 Author: Frank Praznik <[email protected]> Date: Wed May 20 11:33:46 2026 -0400 x11: Ignore slave button presses when the window lacks keyboard focus XInput2 can send slave button presses before FocusIn events, which can confuse the click-through suppression logic. A window must have keyboard focus to grab the mouse anyway, so ignore slave presses when lacking keyboard focus. commit 8371c09aa7d7afeffbcb782d8252b7959033c5f5 Author: Frank Praznik <[email protected]> Date: Wed May 20 11:01:40 2026 -0400 x11: Reject click-through button events based on serial XInput2 may send mouse buttons presses on both the master and slave devices, and the click-through button event should be ignored on both if required. commit 9a56bc66b5a4c824550a58207ba498d8f7d7d43f Author: Ryan C. Gordon <[email protected]> Date: Wed May 20 13:02:41 2026 -0400 assert: fixed compiler warning with LLVM + x86_64-pc-windows-msvc target. Fixes #15578. commit f8dab6ad51d3fc516be1a3f3e62971a237a6cc74 Author: Ryan C. Gordon <[email protected]> Date: Wed May 20 12:51:41 2026 -0400 README-migration: Note that render target support is not universally available. Fixes #15474. commit d8f42ee069920d3a964d226568733f3e437bb1c2 Author: Ryan C. Gordon <[email protected]> Date: Wed May 20 00:42:57 2026 -0400 examples/renderer/20-blending: Make thumbnail/onmouseover match other examples. commit 8fe1d7faec7e910d9bb0f88ca6e95afd75e582d3 Author: Ryan C. Gordon <[email protected]> Date: Wed May 20 00:40:25 2026 -0400 examples/save-rendering-to-bitmaps: Dump alpha channel. examples/renderer/20-blending triggered this: the renderer's framebuffer has an alpha channel, even if the window itself doesn't, so we ended up with some weird rendering in the onmouseover.webp when I rebuilt it. commit 35098e927cd9c8b92d4eaea7d3f73958cc211f82 Author: Vittorio Romeo <[email protected]> Date: Wed May 6 01:25:30 2026 +0200 emscripten: don't dispatch user input to hidden windows commit c9e2e732b674679f4bc5caa0e36c192411cb6fc8 Author: Ahmed Lyas <[email protected]> Date: Wed May 20 04:05:23 2026 +0000 examples: Add blending example (#15657) commit f9380e15de1c57295e88757af16b5f74cdb1d46b Author: Sam Lantinga <[email protected]> Date: Tue May 19 15:41:04 2026 -0700 visionOS: fixed mousewheel values Here are the observed values using a Bluetooth mouse on visionOS 26.5 Slow scroll up: Mouse scroll: 0,-0.017334 Mouse scroll: 0,0 Mouse scroll: 0,-0.017334 Mouse scroll: 0,0 Slow scroll down: Mouse scroll: 0,0.017334 Mouse scroll: 0,0 Mouse scroll: 0,0.017334 Mouse scroll: 0,0 Fast scroll up: Mouse scroll: 0,-0.017334 Mouse scroll: 0,-9.36021 Mouse scroll: 0,-100.08 Mouse scroll: 0,-75.2287 Mouse scroll: 0,-82.2284 Mouse scroll: 0,-92.0137 Mouse scroll: 0,-95.1917 Mouse scroll: 0,-101.846 Mouse scroll: 0,-203.266 Mouse scroll: 0,0 Fast scroll down: Mouse scroll: 0,0.017334 Mouse scroll: 0,11.424 Mouse scroll: 0,59.3571 Mouse scroll: 0,68.7859 Mouse scroll: 0,267.834 Mouse scroll: 0,95.0823 Mouse scroll: 0,201.809 Mouse scroll: 0,0 commit cfed9b3aca79e083c481df2afefefb25819f6b3b Author: Sam Lantinga <[email protected]> Date: Tue May 19 14:21:55 2026 -0700 Allow setting NULL palette on any surface Fixes https://github.com/libsdl-org/SDL/issues/15654 commit f19dca3ca0c10f6417ac503288120ccd064cd4f4 Author: Ozkan Sezer <[email protected]> Date: Tue May 19 18:55:20 2026 +0300 SDL_rawinputjoystick.c: fixed a type redefinition error commit 42c4a0e30f04150f0b5223340a7e50b8095ce72b Author: Ozkan Sezer <[email protected]> Date: Tue May 19 17:25:56 2026 +0300 SDL_windows_gaming_input.c: work-around to build against old SDKs. Fixes https://github.com/libsdl-org/SDL/issues/15646 commit 169480a352463eee65e825b1a934d7bebeb7967a Author: Ozkan Sezer <[email protected]> Date: Tue May 19 17:22:50 2026 +0300 hidapi/netbsd: import mainstream commit 7e994d8671: https://github.com/libusb/hidapi/commit/7e994d8671 - authored by Izumi Tsutsui: netbsd: check not only addr 0 but also addr 1 to find root hubs On NetBSD xhci(4) uses 'addr 0' for the root hub but all drivers for other host controllers use 'addr 1' for the root hub. https://gnats.netbsd.org/60073 commit 6ed1de089c35ab283924c2fec96794909fc0df85 Author: Kuratius <[email protected]> Date: Tue May 19 15:34:02 2026 +0200 Fix touchpad finger detection on Steam Deck commit 48fe7b7d6a9275a1cd7d785c9a9d600445c571f4 Author: Ozkan Sezer <[email protected]> Date: Tue May 19 11:21:04 2026 +0300 SDL_wasapi.c: added comment about SDL_AudioClientProperties workaround commit 0e480bee307430f641d554c3a716f20748518974 Author: Sam Lantinga <[email protected]> Date: Mon May 18 16:13:41 2026 -0700 visionOS: re-enable dimming mode commit 7f7c1628cb38c9cc6936d88740cca709b754f016 Author: Sam Lantinga <[email protected]> Date: Mon May 18 13:00:00 2026 -0700 visionOS: use black instead of white for the mouse overlay White is easier to see and people notice the overlay showing up when mouse input is enabled commit b4ebf70e0c6cc857a99dff9b9532910afd25ae1d Author: Sam Lantinga <[email protected]> Date: Mon May 18 12:54:57 2026 -0700 visionOS: dimming doesn't seem to be reliable, so disable it for now commit e759cc850e29d8aa8e13e0cdec66fe285f54ba89 Author: Sam Lantinga <[email protected]> Date: Mon May 18 09:23:38 2026 -0700 Added an internal type for the Nintendo Switch 2 Pro controller commit f31ca02723f57f84dc03fd19b2f5a3e4b8a15bda Author: Frank Praznik <[email protected]> Date: Sun May 17 10:45:32 2026 -0400 video: Windows keep any position set when in fullscreen after leaving fullscreen Adds an automated test for the behavior as well. commit b608108593ce3770426bc45be5a48db649d41e79 Author: Susko3 <[email protected]> Date: Mon May 18 17:28:31 2026 +0200 Properly fix cursor position in Korean IME commit b5ac64137206088287c25f7cb78c40cf12d4fcdf Author: Ahmed <[email protected]> Date: Mon May 18 15:46:31 2026 +0100 examples: Fix float division commit bf03728873547aa82a19ea624a7f05d698edabc3 Author: Ozkan Sezer <[email protected]> Date: Mon May 18 17:40:20 2026 +0300 wasapi: workaround that AudioClientProperties->Options not being available in old SDKs Closes: https://github.com/libsdl-org/SDL/issues/15641. commit 508450e9c05405e306a26dbe7972e6ba60656e15 Author: Gabriel Wang <[email protected]> Date: Mon May 18 15:31:22 2026 +0800 adds Blit565to565SurfaceAlphaSVE2 commit e07cfdff2ccf2fb3a6abf5d3093c30fbd594af9b Author: Gabriel Wang <[email protected]> Date: Mon May 18 14:32:10 2026 +0800 adds sdl_sve_chn_blend_with_mask_fast for RGB565 alpha-blending commit 8d9d6b1b2b04343e3bacab6ef48cecfd16ca598b Author: Gabriel Wang <[email protected]> Date: Mon May 18 14:16:22 2026 +0800 apply simplified sve2 macro protection commit 296231e999a5fc44841ad16c207a12067f0d6af8 Author: 7aGiven <[email protected]> Date: Mon May 18 12:46:06 2026 +0800 WM_IME_SETCONTEXT not set 0 commit a20530cf15e1edf9d1444263a03e1fe44731c691 Author: Kuratius <[email protected]> Date: Mon May 18 16:03:56 2026 +0200 Fix Steam Controller 2 touchpad finger detection (#15644) commit 8e6fed2cbf464344b13d5dbc86a2beb2bb53f851 Author: 7aGiven <[email protected]> Date: Mon May 18 17:19:02 2026 +0800 fix Korean caret position commit 8b49bff35387e44e7b49784c8a315d376c06e775 Author: Sam Lantinga <[email protected]> Date: Sun May 17 21:42:49 2026 -0700 Fixed Nintendo Switch Pro controller sensors on Android commit 14c31ee12a6456db78ad3ff2f100391416ee38a0 Author: Sam Lantinga <[email protected]> Date: Sun May 17 17:56:33 2026 -0700 Fixed reading the controller accelerometer on Apple platforms DualShock and DualSense controllers no longer have hasGravityAndUserAcceleration set, but we can still get the combined user + gravity acceleration values from those controllers, which is what we want. commit d8b2434047f5a74798cb567b38432e166f4d3361 Author: ceski <[email protected]> Date: Sun May 17 17:22:56 2026 -0700 testcontroller: correct fix for touchpad free/allocate commit 8c89a076a7b8c70ef2ec9af8c8169c4d6775d68e Author: Sam Lantinga <[email protected]> Date: Sun May 17 12:17:26 2026 -0700 Fixed deadlock introduced by 7222c04fbf2b904e815f5ac9c8623ef8030fd261 It turns out this change causes a deadlock: The main UI thread calls synchronized handleMotionEvent() which then calls SDL_LockJoysticks() The main app thread calls SDL_LockJoysticks() and then synchronized pollInputDevices() commit b19ecb40327333d147bc8be5850d5fe398e54c86 Author: Sam Lantinga <[email protected]> Date: Sun May 17 12:15:48 2026 -0700 Reapply "Change controller sensor state on the main UI thread on Android" This reverts commit 02975994c12582aef918bccb3825592e7ea36d10. Accidentally reverted the wrong commit commit 02975994c12582aef918bccb3825592e7ea36d10 Author: Sam Lantinga <[email protected]> Date: Sun May 17 12:04:11 2026 -0700 Revert "Change controller sensor state on the main UI thread on Android" This reverts commit c362f1341f2e2e6abf34ae05d6068ad89bebd00d. It turns out this change causes a deadlock: The main UI thread calls synchronized handleMotionEvent() which then calls SDL_LockJoysticks() The main app thread calls SDL_LockJoysticks() and then synchronized pollInputDevices() commit cbd2917324ab24c18d5afeeb435f7cf23c883403 Author: Ozkan Sezer <[email protected]> Date: Sun May 17 21:36:20 2026 +0300 SDL_render_d3d11.c: fix another bad use of SDL_FUNCTION commit 33e237eb6779ecfda70c781caa656827ee9d70f8 Author: Sam Lantinga <[email protected]> Date: Sun May 17 11:05:43 2026 -0700 visionos: persist all configurable window settings Save the gaze indicator and dimmed mode setting as well as curvature commit 6d3404e4bbdfa02da56bca4ed21f0426da764bfc Author: Cameron Gutman <[email protected]> Date: Sat May 16 16:29:07 2026 -0500 gamepad: Add SDL_GAMEPAD_TYPE_STEAM for Steam Controllers commit f76b736e287f5056ff0d586febe00ef1b7a8a37f Author: Ozkan Sezer <[email protected]> Date: Sun May 17 20:28:56 2026 +0300 SDL_render_d3d12.c: revert an unintended change from commit d70578b9aac commit ae25abeb0daab3b33c94227e339e622bfa72769c Author: Sam Lantinga <[email protected]> Date: Sun May 17 07:28:36 2026 -0700 Don't log game controller buttons in the keyboard handler on Android commit 9aae258aeb3271fbd1e571fc0da799473f90ff57 Author: Frank Praznik <[email protected]> Date: Fri May 15 14:02:18 2026 -0400 wayland: Adjust DnD coordinates when dragging over a mask subsurface commit 336d07c2b78c1f08ff0505ce8184dfeb47ce9d62 Author: Frank Praznik <[email protected]> Date: Fri May 15 13:51:14 2026 -0400 wayland: Implement Wayland_AcceptDragAndDrop() This simply toggles a flag that rejects DnD offers if false. Events were previously dropped silently, but rejecting the offer makes some desktops display a proper icon when the drop will not work. commit 31d6acef64e32f154eba639bbb466cbbe8bf45eb Author: SDL Wiki Bot <[email protected]> Date: Sun May 17 15:51:20 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 63d2635719d0431802e2e1c933c23c3c1c2a2d5e Author: Sam Lantinga <[email protected]> Date: Sun May 17 08:47:36 2026 -0700 Added SDL_HINT_AUDIO_DUCK_OTHERS Previously default audio on Apple platforms would duck other audio streams. This is unexpected, so by default we won't do that and you can use the hint SDL_HINT_AUDIO_DUCK_OTHERS to re-enable that behavior. commit 5b98c1cc2f598115906c9c1f2758d3d256913468 Author: ceski <[email protected]> Date: Sun May 17 08:26:29 2026 -0700 Add capacitive sense gamepad events (#15627) commit 984fcdaa8a7855516a8b84016c0c253680bec3af Author: ceski <[email protected]> Date: Sun May 17 07:21:08 2026 -0700 testcontroller: free/allocate touchpads only when needed commit 34c3fdd35075408e0330533c0c2d710ba497e9bf Author: Sam Lantinga <[email protected]> Date: Sun May 17 06:45:33 2026 -0700 Added extended internal controller types commit 4aeac49311a15a187a8c999fc01b7fee73222edd Author: Ozkan Sezer <[email protected]> Date: Sun May 17 11:55:50 2026 +0300 update openxr headers from khronos. commit 322dfd3adae15e4985d58522bf2a1abf6659bf4c Author: Ozkan Sezer <[email protected]> Date: Sun May 17 11:55:50 2026 +0300 update vulkan headers from khronos. commit 968b0c6910b622bf63253d2847e67bc7fd30516d Author: Ozkan Sezer <[email protected]> Date: Sun May 17 11:55:50 2026 +0300 update gl/egl headers from khronos. commit 75c94e9b3189a40615b74f6484cb226fc0c4a72d Author: Ozkan Sezer <[email protected]> Date: Sun May 17 11:55:40 2026 +0300 SDL_opengl_glext.h, src/video/directx/d3d12.h: revert unintended changes from commit d70578b9aac commit 1f7a42a7b91dc4cbd5879d6ac52f84fc4d5710c3 Author: Tap <[email protected]> Date: Sun May 17 12:04:45 2026 +1000 Correct steam triton haptic commands The listed report IDs are incorrect - there is no skipped ID commit d4fa4b46346b973014bb54f60f6c8067b03251e7 Author: Ozkan Sezer <[email protected]> Date: Sun May 17 11:50:10 2026 +0300 SDL_opengles2_khrplatform.h: add cygwin bit missed in commit 2cd5cd2a. commit a34b35a382bffcd430465e273264021fb0f2fab1 Author: Ozkan Sezer <[email protected]> Date: Sat May 16 22:11:28 2026 +0300 cygwin, test/cmake: hard-code opengl as native opengl32. FindOpenGL from cmake >= 3.19, or cygwin-provided cmake versions don't test for native windows opengl32, but we want native windows opengl32. commit b24feafaa2c7fb6078783113bae1488dd4104fde Author: Ozkan Sezer <[email protected]> Date: Sat May 16 14:56:40 2026 +0300 cygwin: patch vulkan headers for VKAPI_CALL and enable vulkan in cmake commit 2cd5cd2a42318fe97c8a99d6141cdb59d398875f Author: Ozkan Sezer <[email protected]> Date: Sat May 16 14:56:32 2026 +0300 cygwin: patch egl/opengles headers for EGLAPIENTRY commit 71979477c7cb584f2bfa0bd87e9b2db4bbca25fb Author: Anonymous Maarten <[email protected]> Date: Sun May 17 04:24:50 2026 +0200 include: add sve2 to documentation of SDL_HINT_CPU_FEATURE_MASK commit 203800565765caec4359d1e5b63c61a980b45c72 Author: Anonymous Maarten <[email protected]> Date: Tue May 5 19:00:45 2026 +0200 video: don't use NEON blitters when SDL_HasNEON returns false commit db7ac820f9c95dd75c7b71e6d37231534b6c13c5 Author: Christian Semmler <[email protected]> Date: Sat May 16 14:21:31 2026 -0700 emscripten: Fix crash on Safari when probing gamepad rumble support Safari's older Gamepad API exposes `vibrationActuator` with `playEffect` and `reset` but no `effects` enumeration array. The probe added in 651136ac7 dereferences `vibrationActuator['effects']['includes']` unconditionally, throwing `TypeError: undefined is not an object` on every Safari client that opens a connected gamepad. Add the missing `['effects']` null check so the probe returns false on Safari instead of aborting. commit 060b74a6647229991d9d4ec310e827782dc4ae28 Author: Cameron Gutman <[email protected]> Date: Sat May 16 17:07:56 2026 -0500 mouse: Restrict GCMouse to macOS Sonoma and later commit 5e483dc16626b937f24bc10c90dedf8e1e92003e Author: Ryan C. Gordon <[email protected]> Date: Sat May 16 15:29:46 2026 -0400 android: Build the APK asset tree in the same order its listed in the file. This tends to get you enumerations in alphabetical order, instead of them being reverse-alphabetical. Reference Issue #15587. commit 497b2118ba68019fd4c105129b7cf4888a46386d Author: Ryan C. Gordon <[email protected]> Date: Sat May 16 15:26:47 2026 -0400 android: Don't forbid paths of "" in the APK assets tree. This would make `SDL_EnumerateDirectory("assets://")` fail. We check for empty strings at the higher level already, before we strip out the "assets://" prefix to pass through the tree. commit 2ebf23014f8e170ae7df48c51bb72a3644eec16b Author: ceski <[email protected]> Date: Sat May 16 09:04:20 2026 -0700 Add Steam Deck capacitive touch sticks, trackpad clicks, and mapping (#15612) commit 072b2b74c793eb0e5d7925ad0fcdeb3afd712949 Author: A1029384756 <[email protected]> Date: Fri Apr 24 11:08:40 2026 -0400 fix tooltips not showing on KDE commit 3ba4b6b28eef3a5c8c6daa4c98061833efc8d35d Author: Ozkan Sezer <[email protected]> Date: Sat May 16 14:55:50 2026 +0300 SDL_gpu_d3d12.c: fix cygwin -Wformat-warnings commit 774506c2b7ba6067c2b2cf29514f8b55cf925ee1 Author: Ozkan Sezer <[email protected]> Date: Sat May 16 08:44:56 2026 +0300 SDL_opengl.h: clean-up SDL's cygwin customization. commit 880ddb9ca3f8e78e257cf0e534d5245fad4d47e3 Author: Ozkan Sezer <[email protected]> Date: Sat May 16 08:44:40 2026 +0300 SDL_dinputhaptic.c, SDL_dinputjoystick.c: replace %lu usage with new cygwin-friendly macros. commit e972e6a01ba308c90f17ecf111485b762c450efe Author: Ozkan Sezer <[email protected]> Date: Sat May 16 09:08:08 2026 +0300 core/android/SDL_android.c (AddAPKDirs): add missing opening brace fixes build errors commit 4910498820a9f6399857a6f0d757bbf287116801 Author: Ryan C. Gordon <[email protected]> Date: Sat May 16 00:48:00 2026 -0400 android: EnumerateDirectory and GetPathInfo should fail for a path of "". Otherwise, this will get appended to the internal storage path, etc, making a real directory when it shouldn't. Reference Issue #15587. commit 37af10db4d2058a43f44cd35906f8852571e8e11 Author: Ryan C. Gordon <[email protected]> Date: Fri May 15 14:35:56 2026 -0400 android: Support "." and ".." in asset tree paths. Reference Issue #15587. commit e1d623505edafd7a01523ab39910a3900dd682dc Author: Ryan C. Gordon <[email protected]> Date: Fri May 15 14:34:41 2026 -0400 android: Remove call to mktime() in APK entry parsing. commit c00d7b4bf5580462924de5794da50a98fce09b2c Author: ceski <[email protected]> Date: Fri May 15 19:18:38 2026 -0700 Add Steam Controller mapping (#15601) Also fixed Hori QAM button mapping commit 0ffb0bdd87499af6472a20c80728467d11c5826f Author: John Schoenick <[email protected]> Date: Fri May 15 15:29:16 2026 -0700 unix: Fix infinite looping in SDL_FriBidi_Process if len > 127 start/end should be FriBidiStrIndex here -- using FriBidiLevel makes them `signed char` and the loop here will become infinite if `end` is > 127. commit d83e7bf79edfd686020c8ce4a467dfca7a66be6a Author: Rachel Blackman <[email protected]> Date: Fri May 15 13:10:44 2026 -0700 Add Gamesir Supernova in Xinput mode to controller list commit 86296ac8f01597076979630667472a846b04ce46 Author: Evan Hemsley <[email protected]> Date: Fri May 15 11:43:57 2026 -0700 GPU: Set missing fields on Vulkan swapchain texture (#15606) commit aeacf42e0659e3fee1e00730193f63125dc41594 Author: Sam Lantinga <[email protected]> Date: Fri May 15 11:00:11 2026 -0700 gameinput: only add the share button for known Xbox Series X controllers The HID descriptor for the latest firmware always includes the share button, and GameInput will report it as always available, so double check against our list of classic Xbox One controllers and don't include the button on controllers that don't have it. commit a95ce7e734f8f8b5fa5740a8e40a93cf670db8db Author: Sam Lantinga <[email protected]> Date: Fri May 15 10:13:15 2026 -0700 Detect the GameSir Super Nova in Xbox 360 mode commit d1d54b8c56aa1025c663655d8f00e84eaa7a5ef3 Author: Anonymous Maarten <[email protected]> Date: Fri May 15 02:35:10 2026 +0200 test: build testsprite as c++ application commit bd146867e45bd5c8121c866d64161e70d9bf58c6 Author: Anthony <[email protected]> Date: Fri May 15 16:55:50 2026 +0100 Update showFileDialog in proguard-rules.pro to match changes in 439ffd1 commit 6586bebfec42ed1418469d70dffa5216534bc635 Author: stahta01 <[email protected]> Date: Fri May 15 11:48:24 2026 -0400 Fix Cygwin building and add CI (#15566) Co-authored-by: TrueCat17 <[email protected]> Co-authored-by: Anonymous Maarten <[email protected]> Co-authored-by: Ozkan Sezer <[email protected]> commit be97a18d8244969877adf7530e874693a68cfbd7 Author: Ryan C. Gordon <[email protected]> Date: Fri May 15 10:34:30 2026 -0400 android: Don't allow access to the asset tree with a path of "". Reference Issue #15587. commit e1fa336ac4910b9e5b2096a5bc0f3c1b489364f4 Author: Ryan C. Gordon <[email protected]> Date: Fri May 15 10:25:40 2026 -0400 android: Don't ever enumerate absolute paths from the assets tree. This could happen if opendir() failed for a reason other than the directory missing (for example, `opendir("/")` fails with EACCES. Reference Issue #15587. commit d5af35e3fbb5bb6555ed00e69740d52af2a4e877 Author: Anonymous Maarten <[email protected]> Date: Fri May 15 03:47:28 2026 +0200 surface: cannot set a palette to a non-indexed surface This fixes a UBSAN warning later in this function where it calculates (1 << SDL_BITSPERPIXEL(surface->format)). The bpp might be >= 32 and out of range for a bit shift. commit 6b26332785cb67a7380429ec4b8358c99c3773f1 Author: Anonymous Maarten <[email protected]> Date: Thu May 14 19:15:42 2026 +0200 ci+release: build with gameinput support commit ff98125cbd6ca94f0efa45288ec8d4a02fe12d79 Author: SDL Wiki Bot <[email protected]> Date: Fri May 15 00:43:30 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 878789557545e161e048e1501c895d225c6c18b0 Author: Petar Popovic <[email protected]> Date: Fri May 15 02:29:37 2026 +0200 SDL_video.h comment update commit eb340388fc5bbe2240e7f221ac5e9ffb4bd57eec Author: Rachel Blackman <[email protected]> Date: Thu May 14 17:32:25 2026 -0700 Fix HIDAPI support for Flydigi Vader 5 Pro (#15594) commit f286e420afd3ccb0dedc7ec77eb09d4bd2e5e102 Author: Evan Hemsley <[email protected]> Date: Thu May 14 17:01:13 2026 -0700 GPU: Refactor Vulkan barriers to fix defrag segfault (#15593) commit c9bb41bd9ca6fc2ebd1c8be150e41c52ab50e3c7 Author: Sam Lantinga <[email protected]> Date: Thu May 14 16:52:40 2026 -0700 Fixed build when GameInput is enabled commit f3faf67c645023ecb26485781dd26e0948030800 Author: ceski <[email protected]> Date: Thu May 14 16:26:26 2026 -0700 Add Steam Controller touchpads, capacitive touch for sticks, and grip sense (#15528) commit 4d95a63fe3936389119794cf6dce1483465d3d5b Author: Ozkan Sezer <[email protected]> Date: Thu May 14 21:55:55 2026 +0300 fix build after commit 2c4e6ed3585ec63adee2e9a680de3c52b4db3c0c: move SDL_UsingGameInputForXInputControllers() to core/windows/SDL_gameinput.cpp because joystick/gdk/SDL_gameinputjoystick.cpp isn't always added to build. commit 0e07b7c5e20952c3ea6b8b490f81bc2ebc21a6fd Author: Ryan C. Gordon <[email protected]> Date: Thu May 14 15:58:15 2026 -0400 android: Comment out debug logging. Reference Issue #15587. commit fdfbbcefb2470d39726748d17696c577d37586a5 Author: Sam Lantinga <[email protected]> Date: Thu May 14 12:00:55 2026 -0700 Fixed error: "SVE support not enabled" building on Android commit 9e07e0c21535859d85133c62064d97582d021a6d Author: SDL Wiki Bot <[email protected]> Date: Thu May 14 18:52:22 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 439ffd13eb63e79c94df395effe9909d253074de Author: crudelios <[email protected]> Date: Wed May 13 17:50:42 2026 +0100 Android: Add support for folder dialogs commit de08751537b91dc805ad535b876818f825ea6cbd Author: Sam Lantinga <[email protected]> Date: Thu May 14 11:42:54 2026 -0700 Fixed build for older toolchains that don't have arm_sve.h commit 11745aad07bfae129253974df0a94f5a77c842db Author: Sylvain Becker <[email protected]> Date: Thu May 14 20:17:53 2026 +0200 Fix build with SVE2 (#15586) commit 2c4e6ed3585ec63adee2e9a680de3c52b4db3c0c Author: Sam Lantinga <[email protected]> Date: Thu May 14 10:18:58 2026 -0700 Enable GameInput v3 by default if it's available GameInput is now the most functional Windows API for handling XInput controllers. commit d57c3b685c434d2ee0fa3d258f7e165b6e8d0cf6 Author: Anonymous Maarten <[email protected]> Date: Thu May 14 17:40:13 2026 +0200 gameinputjoystick: %02hhX emits a -Wformat warning commit 8122b8f2ac68fde8306bb78c1fa758b46a91a39a Author: Anonymous Maarten <[email protected]> Date: Thu May 14 17:38:30 2026 +0200 gameinput.h emits a few Wundef warnings (WINAPI_PARTITION_* macros) commit 0f2c04319f3192c215bef62c25adf7b41ea8f926 Author: Anonymous Maarten <[email protected]> Date: Thu May 14 17:37:14 2026 +0200 cmake: gameinput.h is a c++-only header commit 2fa7ba1e4fe54918be75a9a466b9ae51fbe14d60 Author: Anonymous Maarten <[email protected]> Date: Thu May 14 17:36:57 2026 +0200 stdinc: _Countof is only available in C mode commit a3376acc2e2fc940a909659f3d95fb199a548194 Author: Cameron Cawley <[email protected]> Date: Thu May 14 14:50:21 2026 +0100 Replace custom NEON cast macros with vreinterpret_*_* commit 006959ca87eb1406a3d1f7021b6852b01600bcb0 Author: ceski <[email protected]> Date: Wed May 13 23:49:01 2026 -0700 Add dual touchpad support to testcontroller (#15540) commit 0defb4ddfc29c7201c57d5dc8cceb07e29e07f62 Author: Sam Lantinga <[email protected]> Date: Wed May 13 10:01:50 2026 -0700 Added controller sensor support for GameInput v3 Verified working with the DualSense controller commit b333c04cccd338a7d81fff46c07415b0b82e89ca Author: Vlad-Florin Ilie <[email protected]> Date: Thu May 14 09:40:55 2026 +0300 Fix Steam Controller 2026 (triton) rumble (#15558) commit a400a70484200c9108ceb8926c3e7955cb60de2b Author: SDL Wiki Bot <[email protected]> Date: Thu May 14 06:39:08 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 0f175891a608108a458890be6194358e0234f09f Author: Gabriel Wang <[email protected]> Date: Thu May 14 14:37:46 2026 +0800 Add SVE2 SIMD Alpha-Blending Blitter (#15504) SVE/SVE2 is a new SIMD extension for AArch64. Compared to NEON, SVE/SVE2 brings the following benefits that are good for SDL projects: - Lane prediction: we don't have to treat the tail part of a stride separately when the width is n times the hardware vector size - Although the performance is almost no difference from NEON when the hardware vector size is 128bits, when the hardware provides a longer vector size, e.g. 256, 512, ... 2048, we can enjoy the large performance gain without modifying the source code or recompiling a library. The functional correctness is validated in a dedicated [qemu project](https://github.com/GorgonMeducer/aarch64_qemu_mac_template/tree/SDL-SVE2-Acceleration-Validation). The performance is tested on [Radxa Orion 6 N](https://radxa.com/products/orion/o6n/), which provides 4x A720 and 4x A520 processors. Since the vector size is 128 bits, which is the same as NEON, the performance is almost the same (or no worse than) the NEON acceleration. commit 0e5e772ba9c67d6822e2e22fc782657f8ec58000 Author: Sam Lantinga <[email protected]> Date: Wed May 13 20:39:38 2026 -0700 Fixed windows getting the wrong size when setting size and aspect ratio back to back commit e50faf4e6aa48d2684818420201260e0c4caf957 Author: Cameron Cawley <[email protected]> Date: Mon May 11 19:19:07 2026 +0100 Support the full set of standard CSS cursors commit 4884dbbe5610d6cd444b03ee694e63f086fa5825 Author: Sam Lantinga <[email protected]> Date: Wed May 13 20:14:50 2026 -0700 Added SDL_SendGamepadEffect() support for the new Steam Controller commit c247f06f01477d319abf6981c860e3a1ed02b05e Author: Joel Auterson <[email protected]> Date: Thu May 14 01:01:33 2026 +0100 Add libusb-1.0-0-dev to Linux deps doc libusb-1.0-0 is needed to enable SDL_HIDAPI_LIBUSB. It does not work with the `libusb-dev` package on Ubuntu, which is for the older version. commit c6b232f5d4478af7d2c2ebfe080450931c15f414 Author: Cameron Cawley <[email protected]> Date: Wed May 13 20:51:02 2026 +0100 Support loading JPEG images through SDL_LoadSurface() commit 9672f5b68b1f3f438bb86c65f8a3c198eb4b9eb1 Author: Ryan C. Gordon <[email protected]> Date: Thu Apr 30 19:59:15 2026 -0400 android: Change how apps access their APK's "assets" directory. Now they can explicitly access it with "assets://" filenames, and SDL_GetBasePath() returns "assets://" Fixes #15347. Fixes #5044. commit e8127a9a11a5d6d720062612d15ddc2c9c812648 Author: Brenton Bostick <[email protected]> Date: Sun May 3 10:58:49 2026 -0400 Fix #15500: deprecation warning on Android for slCreateEngine commit 4eb221881a3d51eae8aa42d1ced97bb994917325 Author: Eddy Jansson <[email protected]> Date: Wed May 13 18:10:50 2026 +0200 DOS: Replace SDL_memset() with SDL_zero*() commit 70159c34f63abb234c3110c661c1e78579c3bc44 Author: Eddy Jansson <[email protected]> Date: Wed May 13 18:05:39 2026 +0200 DOS & Tray: Don't do NULL-checks before SDL_free() commit 3dbd3e43e293931cfa7b356e09fca8e89aac5e53 Author: Sam Lantinga <[email protected]> Date: Wed May 13 09:07:36 2026 -0700 Return the touch device name for SDL_TOUCH_MOUSEID commit b1f390255a239940050f87cfb52dacb796e76728 Author: Cameron Cawley <[email protected]> Date: Wed May 13 14:33:16 2026 +0100 Allow formats with alpha channels for window textures Because the blend mode is explicitly set to SDL_BLENDMODE_NONE, it doesn't matter if there's a transparency channel in the texture format or not for opaque windows. This ensures that a 32-bit format is used with Metal instead of SDL_PIXELFORMAT_RGB565. commit 716c767b7e7099fb0e2fda9db59227a7e1d1d8a4 Author: Sam Lantinga <[email protected]> Date: Tue May 12 20:15:42 2026 -0700 Document that you may receive mouse events with SDL_PEN_MOUSEID commit fcaf5bbf8cf339eab4614e246f33ea67e9a34a28 Author: Sam Lantinga <[email protected]> Date: Tue May 12 20:12:56 2026 -0700 Use predefined names for constant keyboard and mouse IDs Fixes https://github.com/libsdl-org/SDL/issues/15563 commit 36e1efccb473b3aebd68048927d565c17eb48beb Author: Ozkan Sezer <[email protected]> Date: Wed May 13 18:00:02 2026 +0300 revert parts of CodeSpell commit d870911202 from 3rd party sources commit c362f1341f2e2e6abf34ae05d6068ad89bebd00d Author: Sam Lantinga <[email protected]> Date: Tue May 12 19:25:58 2026 -0700 Change controller sensor state on the main UI thread on Android Fixes https://github.com/libsdl-org/SDL/issues/15565 commit 7222c04fbf2b904e815f5ac9c8623ef8030fd261 Author: Sam Lantinga <[email protected]> Date: Tue May 12 18:59:06 2026 -0700 Synchronize controller access on the Java side on Android commit 7071efb6a3a4b3a63d6a1a46516d846ae088ee2c Author: Cameron Cawley <[email protected]> Date: Tue May 12 16:18:27 2026 +0100 Fix switching modes on RISC OS commit 418960bb4e93feaa70f68ec2da7af0f94d08d2dc Author: Rachel Blackman <[email protected]> Date: Tue May 12 17:19:18 2026 -0700 Handle the Amazon Fire TV's weird Bluetooth behavior commit fd8682ccc9aa66d309bbe1a4a3852ee8b6c80460 Author: SDL Wiki Bot <[email protected]> Date: Tue May 12 23:49:34 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 5cf16e452264a6f2f8895ec046cadad41ada6123 Author: Sam Lantinga <[email protected]> Date: Tue May 12 16:48:06 2026 -0700 Added curved window mode on visionOS 26 (#15298) commit f30ec9940af42c08466a36e42fe6d5847f7c124f Author: Sam Lantinga <[email protected]> Date: Mon May 11 22:10:20 2026 -0700 Removed Wooting 60HE (ARM) from the controller blacklist Fixes https://github.com/libsdl-org/SDL/issues/15555 commit 4940345a2e624fe8aca2eda5ceaf3fb0b90392c9 Author: Al. Lopez <[email protected]> Date: Tue May 12 00:45:10 2026 -0400 added additional examples of paddle/misc buttons for Steam Controller (#15544) commit bb4eedd67d9d673925a10f49cd30fd5351f14074 Author: Sam Lantinga <[email protected]> Date: Mon May 11 16:47:26 2026 -0700 Fixed a crash if we get a HID device with no path This can happen on Linux if udev_device_get_devnode() fails. commit e4a327709dcf7d5a623aa5c0403cccfe09e6c0c4 Author: Rachel Blackman <[email protected]> Date: Mon May 11 15:19:57 2026 -0700 Correctly support OG Steam Controller when connected via USB on Android (#15561) commit fd3cfb97c1a1d6ccccc67b2000dee71c9f1bab7d Author: Rachel Blackman <[email protected]> Date: Mon May 11 12:47:30 2026 -0700 Ensure Android gamepad mappings don't lose the first button. commit 76f8705c1243640c7933f05fddf75f3e16fd7dff Author: Evan Hemsley <[email protected]> Date: Mon May 11 11:42:11 2026 -0700 GPU: Fix segfault when copying to Vulkan swapchain (#15543) commit 7ec70d39c46117a0791f315164d577902167af3d Author: Rachel Blackman <[email protected]> Date: Mon May 11 11:16:14 2026 -0700 *Only* preserve report byte for feature reports. Oops. commit 287e2573cd0c4eb6fb16a4bcc407ee7d2e62bf38 Author: Nintorch <[email protected]> Date: Sat May 9 16:01:06 2026 +0500 Ignore `Keychron K10 Pro` and `Huion Tablet_GS1331` commit 7439a94ed244434e3c27df415c8362dd9626daff Author: Cameron Gutman <[email protected]> Date: Sat May 9 11:36:23 2026 -0500 atomic: Implement loads on MSVC without RMW operations This fixes faults when loading from read-only memory and avoids cache line bouncing across cores which reduces performance. commit c94b1435c7c573a626aea8ebec71b8f54471ae02 Author: Anthony <[email protected]> Date: Mon May 11 09:43:39 2026 +0100 Add joystickSetSensorsEnabled to proguard-rules.pro commit f6a1eb9ba96e054aa22c2fa51d291bcfb24dcac4 Author: Anonymous Maarten <[email protected]> Date: Sun May 10 22:34:19 2026 +0200 ci: bump actions, switch away from ilammy/msvc-dev-cmd commit f48525aa703e0e11134347b38571661d6ca829fd Author: Frank Praznik <[email protected]> Date: Sun May 10 13:55:45 2026 -0400 x11: Store the mouse button serial for emulated pointer events as well Otherwise, filtered emulated button events, such as for mouse wheels, can slip through the core event handler. commit e497077cbf6a974640be79c814c1c662ba18c889 Author: SDL Wiki Bot <[email protected]> Date: Sat May 9 23:58:32 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit cbe3fbe9f367340dcd924de29c225c9f4ffea1f5 Author: Evan Hemsley <[email protected]> Date: Thu May 7 19:20:21 2026 -0700 GPU: Validate that 2D textures don't have layers (#15535) commit 8efa8014df6d63af8d72fbc9cfc2236feb642dea Author: SDL Wiki Bot <[email protected]> Date: Fri May 8 00:37:31 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit d08ef12b127dcd69ffdf8498193a42acc4a8c9b6 Author: Evan Hemsley <[email protected]> Date: Thu May 7 16:34:32 2026 -0700 GPU: Allow depth texture arrays (#15534) commit 04d8a654d8d95a59fa04df9833deab8c6ea50b80 Author: Frank Praznik <[email protected]> Date: Thu May 7 12:27:06 2026 -0400 wayland: Ensure the viewport size is always non-zero A viewport size of zero is a protocol error, so guard against it when adjusting the aspect ratio. commit ba3577f5846d3aa6fd074c4decc18eac747b514e Author: Frank Praznik <[email protected]> Date: Wed May 6 12:41:53 2026 -0400 wayland: Ensure window dimensions are greater than zero after adjusting for aspect Resizing to zero can cause a bad viewport size error. commit c8feb297465d6702f293d0941b8e6d3554653a26 Author: cosmonaut <[email protected]> Date: Thu May 7 09:58:56 2026 -0700 GPU: Clarify VK_KHR_maintenance9 comment commit 2949a0d6d51a591e49c189769d2b09ba24db8efe Author: Susko3 <[email protected]> Date: Thu May 7 13:10:47 2026 +0200 Enable text editing events in checkkeys commit ab19d09939f7c3365508f3894ae63d9faa16c529 Author: Sam Lantinga <[email protected]> Date: Wed May 6 19:42:39 2026 -0700 Fixed build commit 5d63a4cad29ba50d04b8136fe8a5a1b87eee7707 Author: Torbjorn Laedre <[email protected]> Date: Fri Apr 10 15:56:06 2026 +0200 Change 3D texture memory barrier sub-resource range to be maintenance9 compatible. commit 386f198622083f8b91753f3bcce75c631c3701b5 Author: Sam Lantinga <[email protected]> Date: Wed May 6 18:12:01 2026 -0700 Don't report 10% battery for Xbox controllers using XInput commit f8c364ae7432bc8efee0914734d3afb18458f394 Author: Rachel Blackman <[email protected]> Date: Wed May 6 15:14:09 2026 -0700 Ensure Android hidapi does not drop the report byte (#15527) commit 56e0d052f18938e8d9c6cfe11d87d118afc1990d Author: Ryan C. Gordon <[email protected]> Date: Wed May 6 12:30:46 2026 -0400 opengles2: Rework render targets. Now this keeps one FBO for each SDL_TEXTUREACCESS_TARGET texture, and doesn't reuse it. We check if the FBO is "complete" once, at creation time, and setting a render target merely has to bind the right FBO and never look back. This simplifies the code and removes a guaranteed pipeline stall when setting a new render target. Fixes #15524. commit 51925aa92e812ec6fc3afd8c39e6c3dc4112eda9 Author: Michael Fitzmayer <[email protected]> Date: Wed May 6 18:31:37 2026 +0200 [N-Gage] Resolve hang on repeated app launch. CAudio::~CAudio() waited on MaoscBufferCopied(KErrAbort) to set EStateDone, but that callback can never fire once the active scheduler loop has exited, deadlocking every close. - StopThread() before iStream->Stop() in ~CAudio() - Force iState = EStateDone instead of waiting on a dead callback - Add 5s timeout to AudioIsReady() poll in E32Main() - Fix CleanupStack LIFO pop order (mainApp before gRenderer) commit e3393e630417c9d74c9eebc3bfab0f6bd9e345b7 Author: Frank Praznik <[email protected]> Date: Wed May 6 11:30:15 2026 -0400 wayland: Queue the surface frame callback after the initial commit Some compositors may dispatch this too early, during the initial empty commit, when subsurfaces are attached to a toplevel window, but a buffer has yet to be committed to the parent surface. Don't set the frame callback until the initial empty commit is done, so it will be called when the actual parent surface frame is committed. commit 702f9d94cd878751add81bf7035bc3144caa950d Author: Sam Lantinga <[email protected]> Date: Wed May 6 09:12:03 2026 -0700 Use SDL_HasWindows() commit 77cd3872c42d71c59c85ccaa08994cb5e0c9eecc Author: Michael Fitzmayer <[email protected]> Date: Wed May 6 17:27:12 2026 +0200 [N-Gage] Add missing include, clean-up. commit b9da2b8d97b2b82e567b402589b6ce6bab4b5e49 Author: Michael Fitzmayer <[email protected]> Date: Tue May 5 18:59:28 2026 +0200 [N-Gage] Add Gouraud-shaded triangle rasteriser Implement DrawGeometry using a software scanline rasteriser that fills triangles directly into the EColor4K framebuffer. Vertices are sorted by Y, split into upper/lower halves and filled with per-scanline edge interpolation. Colour is stepped incrementally across each span (one division per span edge rather than per pixel) to avoid the cost of emulated integer division on the ARM920T. commit 37089cf0a8b82776cc69fc54e1204601244ea83b Author: misscelan <[email protected]> Date: Wed May 6 16:39:23 2026 +0200 Update for N-Gage - Audio is now double buffered (#15516) [N-Gage] Audio is now double buffered to avoid stuttering and glitches. Some audio platform specific variables were exposed through SDL_Hints. Same method was used to display FPS. N-gage functions to obtain the current buffer and screen pitch were added to the render. Adds hints: SDL_AUDIO_NGAGE_LATENCY SDL_AUDIO_NGAGE_SCHEDULER_TICK SDL_AUDIO_NGAGE_PROCESS_TICK SDL_AUDIO_NGAGE_PROCESS_PRIORITY SDL_RENDER_SHOW_FPS Adds functions to get current buffer address and pitch: void *NGAGE_GetBackbufferAddress(void); int NGAGE_GetBackbufferPitch(void); --------- Co-authored-by: Michael Fitzmayer <[email protected]> Co-authored-by: Eddy Jansson <[email protected]> commit 1ac0ae92247285714f50d07007bbb71d2c6d266d Author: Frank Praznik <[email protected]> Date: Tue May 5 18:26:51 2026 -0400 wayland: Unconditionally send an exposure event on window shown status Some compositors send the frame callback as part of the initial configuration sequence, so the window may already be past the "waiting for frame" state. Ensure that the exposure event is always sent. commit 8effeecb8d0f1ac98b633843103733a30a4b6cef Author: Anonymous Maarten <[email protected]> Date: Tue May 5 21:48:20 2026 +0200 cmake/sdlcpu: detect mips PlayStation Portable uses MIPS32 commit fee8c94b5c7211dd04349470a6ff333f07ac0d99 Author: Evan Hemsley <[email protected]> Date: Tue May 5 12:55:16 2026 -0700 GPU: D3D12 stencil plane transition (#15519) commit c7df6fe847b0cf0164567f1e9c9fa08b8a03e0f7 Author: SDL Wiki Bot <[email protected]> Date: Tue May 5 17:47:49 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit b8545fce54ba9d0c24836ff9ab5d5b0737d04f92 Author: Frank Praznik <[email protected]> Date: Tue May 5 12:51:45 2026 -0400 x11: Disable the X Synchronization Extension by default Under the right conditions, this extension can result is smoother resizing when rendering with OpenGL, however, it is known to cause problems in certain cases, such as when handling presentation externally. Gate it behind a hint, and disable it by default. Developers can selectively enable it when they verify that they meet the criteria for using it, and that it behaves correctly in their apps/games. commit f6f4664ed1c75663e71ab4e39f6de0909fcb5106 Author: Sam Lantinga <[email protected]> Date: Tue May 5 08:53:01 2026 -0700 Fixed rare cursor corruption on Windows If the cursor was created with a temporary surface that was pointing at external memory, then when the cursor is used it might be referencing memory that had already been freed. commit 93a5d33386ba867034d4ec09169325f8f5df3ce0 Author: Michael Fitzmayer <[email protected]> Date: Tue May 5 13:04:07 2026 +0200 [N-Gage] Rename variable to avoid warning that the declaration of free' shadows global declaration. commit 922b872b4f3ea0fa5ae959040fe14157ac295449 Author: Ryan C. Gordon <[email protected]> Date: Mon May 4 23:43:34 2026 -0400 thread: Remove semaphore in thread creation. This was added so that the new thread definitely has its threadid set, via SDL_GetCurrentThreadID(), before SDL_CreatThread returns, but this broke Emscripten, which can't wait on a newly-created thread, since the thread won't start until a later mainloop iteration. Now we have the creating thread set this id in SDL_SYS_CreateThread, where platform-specific logic can figure out how to calculate the new thread's ID from the parent thread, without using SDL_GetCurrentThreadID(). Fixes #15509. commit 3c1636a9584e5ccaecd9371bdf92520ec39cd04e Author: Nintorch <[email protected]> Date: Mon May 4 20:41:48 2026 +0500 Fix JoyCon mappings on Android commit c699512adcc139ec1a355ff97cb2e5dbab3c9ac2 Author: Nintorch <[email protected]> Date: Mon May 4 00:35:34 2026 +0500 Add support for joystick motion sensors on Android commit 3ee0439ae508671ec9e5dc54b4a3e59105ad6972 Author: Frank Praznik <[email protected]> Date: Sun May 3 17:31:37 2026 -0400 wayland: Pass the inverted flag for horizontal scroll events Natural scrolling affects both axes, and the compositor may not send the vertical axis orientation if the frame has no vertical scroll motion, so purely horizontal events need to be flagged as inverted as well. commit c805a4d6327dc33a8a9df0ccfc393967d10dade8 Author: Nintorch <[email protected]> Date: Sun May 3 21:26:15 2026 +0500 Fix Xbox controller names in MFI joystick backend (#15499) controller.vendorName returns a generic name for Xbox controllers ("Controller"), so we have to give them proper names. commit 7629a5cf9add411269cd6ae1f3d6b18fd160beb1 Author: Ozkan Sezer <[email protected]> Date: Sat May 2 20:21:20 2026 +0300 SDL_test_memory.c: revised DWORD64 print commit 4a52a5ee04cd5cd3e2757aa165b4cb7b96857c92 Author: Sam Lantinga <[email protected]> Date: Fri May 1 16:57:07 2026 -0700 Fixed crash on Windows when a controller is connected commit e70f1bfc29aa0aa9a4c066725df48ab336067d73 Author: Igor <[email protected]> Date: Fri May 1 18:01:13 2026 -0300 X11TK: fix late null-check causing segfault The code is using `controls.window` before checking if it isn't null. I found this bug by accident when I tried to run `SDL_ShowSimpleMessageBox`. It first tried using Wayland with `zenity`, but since I don't have `zenity`, it fallbacked to `X11_ShowMessageBoxImpl`. For some reason it couldn't create a window, maybe something related to XWayland, so `controls.window` was `NULL`. commit 1cb61df1e51a715916233ba91e845c66a5a87e81 Author: Michael Fitzmayer <[email protected]> Date: Fri May 1 11:14:17 2026 +0200 [N-Gage] Fix image transformations, add color keying, and improve overall rendering performance. Fixes #15427 [N-Gage] Correct SDL_FLIP_HORIZONTAL for sprite sheet textures - ApplyFlip: swap toward midpoint when dest == source to avoid overwriting pixels before they are read - CopyEx: restore original bitmap pixels after BitBlt so the texture is not permanently mutated across frames - CopyEx: extract srcrect sub-region before transforming so flip/ rotate/scale operate on the correct pixels, not the full texture [N-Gage] Use scratch bitmap in CopyEx to avoid mutating source texture. Replace the write-then-restore pattern on the source texture with a persistent iScratchBitmap. The transform pipeline operates entirely within iPixelBufferA/B; the final result is copied into iScratchBitmap and BitBlt reads from there. The source texture is never written to. [N-Gage] Fix Copy() for render-target textures by using direct BitBlt Bypass pixel readback for SDL_TEXTUREACCESS_TARGET textures in CRenderer::Copy(). Reading raw pixels via DataAddress() on a server-side bitmap is unreliable; use BitBlt directly instead. [N-Gage] Implement color-key masking using Symbian's BitBltMasked. This implementation works fine, but relies on a platform specific property. This isn't ideal. Todo: Add SDL_PIXELFORMAT_ARGB4444 to the N-Gage's rendering back-end. [N-Gage] Avoid using BitBltMasked to improve performance. Much better! Write only non-color-key source pixels directly into the destination bitmap preserving existing destination pixels wherever the color key matches. This replaces BitBltMasked and avoids the cost of building an EGray2 mask. [N-Gage] Remove redundant function call since we're not using BitBltMasked() anymore. [N-Gage] Remove SDL_PROP_TEXTURE_NGAGE_COLOR_KEY_NUMBER - Promote SDL_PIXELFORMAT_XRGB4444 to SDL_PIXELFORMAT_ARGB4444 instead. - Remove now unused functions. commit f0b89704e915bc0d678cec9efbf961cf979d1ba6 Author: Anonymous Maarten <[email protected]> Date: Wed Apr 29 22:17:44 2026 +0200 stdinc: use _Countof in SDL_arraysize _Countof is a compiler intrinsics that errors when using a pointer argument commit c677c913a634a9ecf1e131f089fb31415382b722 Author: Cameron Gutman <[email protected]> Date: Thu Apr 30 21:57:50 2026 -0500 haptic: Enable gamepad haptic support under sdl2-compat commit e9a6d7eda0bbd7c4468fc9b4e2a37e4e3b584985 Author: Sam Lantinga <[email protected]> Date: Thu Apr 30 19:55:24 2026 -0700 Fixed copyright on SDL_hidapi_steam_triton.c Fixes https://github.com/libsdl-org/SDL/issues/15486 Closes https://github.com/libsdl-org/SDL/pull/15487 commit 41f079491a0e79b22441fd32a7c8ad91db237744 Author: Cameron Gutman <[email protected]> Date: Wed Apr 29 17:51:26 2026 -0500 pen: Fix enabling touch emulation while a pen is connected commit 81cde11d1e680e2d8ba779377209f398a35c0c4c Author: Anonymous Maarten <[email protected]> Date: Wed Apr 29 20:30:14 2026 +0200 tests: fix test/emscripten/server.py when running without --map commit 1492911c7d752e5dc73b836ca25490919b344508 Author: Jakub Wasilewski <[email protected]> Date: Wed Apr 29 10:26:35 2026 +0200 metal: Added missing lock in METAL_INTERNAL_PerformPendingDestroys. Without this lock, a concurrent call to SDL_ReleaseGPUBuffer, SDL_ReleaseGPUTransferBuffer or SDL_ReleaseGPUTexture can cause one of the arrays to be reallocated while METAL_INTERNAL_PerformPendingDestroys is iterating over it, causing a bad day all around. commit 1aa72247af95802d897dabd51b29311e87c41ae0 Author: Cameron Gutman <[email protected]> Date: Tue Apr 28 21:52:21 2026 -0500 pen: Only create touch emulation device when a pen is present commit e1e6cbe6ecf78da703829c62ff5335e7e9a16774 Author: Sam Lantinga <[email protected]> Date: Tue Apr 28 17:26:11 2026 -0700 Disable accidentally enabled debug logging commit 9235ac4efdbd175d0c217ca0fd1bc824ccb968a0 Author: Ryan C. Gordon <[email protected]> Date: Tue Apr 28 10:45:34 2026 -0400 android: Parsing the APK's central dir is separate from the AAssetManager. Only parse when necessary, which it isn't when opening a file, so this is now separated from creating the cached AAssetManager object. commit 40e60452ade1c82c3ce728ce4631f8824182f609 Author: Ryan C. Gordon <[email protected]> Date: Thu Apr 23 23:15:13 2026 -0400 android: Use enough zip64 format info to see APKs with files that are > 4gb. commit bb4332bdc2ff32aa41bdb7354731ac1ef38f7d9e Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 20 20:18:45 2026 -0400 android: Parse the APK directory tree, replace AAssetManager enum/getpathinfo. The AAssetManager won't supply this information to us, but it's just a zip file, so we can read its central directory ourselves. We can still use AAssetManager for file i/o to the APK's assets, so we don't have to deal with compression and other zipfile features. Fixes #15220. Reference Issue #15347. commit 71d0d069edf49eaed63762ea0d593e7296cff357 Author: Sam Lantinga <[email protected]> Date: Tue Apr 28 15:31:10 2026 -0700 GameInput: don't say the device is present if we won't handle it commit d5fca9628affff85fc7dd8dc8fb2e70a6e1957dd Author: Sam Lantinga <[email protected]> Date: Tue Apr 28 14:10:04 2026 -0700 Don't use the fake HID endpoint for Xbox controllers on Windows commit b40baf1532eb98b08b65cb9f51cd0e3e76be6459 Author: SDL Wiki Bot <[email protected]> Date: Tue Apr 28 19:11:35 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 7212ab1c2a12db7a81b1b13cc28e860cb9cfa138 Author: Ryan C. Gordon <[email protected]> Date: Tue Apr 28 08:08:15 2026 -0400 checkkeys: Sleeping for 100ms every frame makes the program too unresponsive. Makes it feel like there's a bug in SDL's text input handling. 10ms is fine. commit 788bd816e7c3d90ba7eaa3b3703a384e1ef50483 Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 27 14:53:45 2026 -0400 SDL_openxr.h: Another attempt to fix the wiki bridge. commit 085447a56e889abfaa4317b2a9c6d0826774d26a Author: Anonymous Maarten <[email protected]> Date: Mon Apr 27 00:58:38 2026 +0200 apple: add exports file commit 364c8037f45b8b2110451575aca2c40f50d8a5c5 Author: SDL Wiki Bot <[email protected]> Date: Mon Apr 27 18:46:49 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 96a061e1b1ab2318ea841cd9a391ba70c7cabc34 Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 27 14:42:10 2026 -0400 SDL_openxr.h: Wrap some non-SDL pieces in `!SDL_WIKI_DOCUMENTATION_SECTION`. commit 6d9b470e84921a847bd641e02920efd81baa22bf Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 27 14:41:45 2026 -0400 SDL_openxr.h: tweak the category docs language slightly. commit 30aeb330f24223f824f26b71cfd4bf9219c286c9 Author: SDL Wiki Bot <[email protected]> Date: Mon Apr 27 18:38:02 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit 66e98b5598d840b3e4d767ace145b197bc0a9962 Author: Cameron Gutman <[email protected]> Date: Fri Apr 24 22:52:17 2026 -0500 atomic: Fix infinite recursion in SDL_CompilerBarrier() fallback On some platforms, SDL_MemoryBarrierRelease() is defined to SDL_CompilerBarrier(). If SDL_CompilerBarrier() is also defined to the fallback spinlock acquire/release, then we will infinitely recurse in SDL_UnlockSpinlock(). Avoid this by not unlocking the temporary spinlock we create. commit b7726026f8fd9d5bf3c39a8566162db23f755e7d Author: Sam Lantinga <[email protected]> Date: Mon Apr 27 10:18:25 2026 -0700 Fixed double-backspace with hardware keyboard on iOS commit dcf05165d389af01d5680b66e2656c2cdc5a24ca Author: Sam Lantinga <[email protected]> Date: Mon Apr 27 09:57:31 2026 -0700 Use SDL_SendScreenKeyboardShown() and SDL_SendScreenKeyboardHidden() on iOS We now have events for on-screen keyboard visibility, so we should use these instead of starting and stopping text input. Fixes https://github.com/libsdl-org/SDL/issues/15437 Confirmed not to regress the fix in https://github.com/libsdl-org/SDL/pull/11845 commit 6f952a8e636b8c3173075ddf1fd9458489adedf3 Author: Sam Lantinga <[email protected]> Date: Mon Apr 27 10:06:00 2026 -0700 testime: use the correct properties when enabling text input commit 73fc274ef7f96e181ec217f54ed74e0dca91b771 Author: Frank Praznik <[email protected]> Date: Mon Apr 27 12:29:55 2026 -0400 renderer: Check the surface validity flag when re-acquiring the surface in the software renderer If a size change occurs, the sdl2-compat event handler will flush the renderer, which will cause the software renderer to re-acquire a surface that was invalidated due to the size change. However, if the OnWindowPixelSizeChanged handler is called afterward, the invalid flag will be set on the surface, causing presentation to fail. Check both for a null surface pointer and an invalid surface flag when checking surface validity in the software renderer. commit fe6c1f113402cbdf708e14533c18710f371b52de Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 27 11:46:15 2026 -0400 coreaudio: Patched to compile, again, on iOS. commit 1226725e9ac1321614e1ecd0d7f245285bd73131 Author: Ozkan Sezer <[email protected]> Date: Mon Apr 27 18:04:02 2026 +0300 docs/README-platforms.md: Add DOS. [ci skip] commit 62ea2968944b6eb709d0c945f21f0abb3f5bec9c Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 27 10:39:06 2026 -0400 coreaudio: Patched to compile on iOS. commit a74722ed746a54f176a1fb44c8d9d1ae7db3d950 Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 27 10:25:25 2026 -0400 coreaudio: Always init/deinit session listener on iOS. Previously, if UpdateAudioSession() failed on close--which it might if something strange has happened with the system's audio configuration--the listener wouldn't be deregistered, and would risk touching a free'd pointer if the app moved to or from the background afterwards, firing an event handler that should have been deregistered. Closes #15439. commit 0bf2fa89784344973bceaa6f6163f46885ebf8e6 Author: Ryan C. Gordon <[email protected]> Date: Mon Apr 27 09:33:46 2026 -0400 internal: Replace SDL_PUSH_ERROR with SDL_PushError. Reference Issue #15458. commit c46dfdba543195873c205f8a30957d1a50b99565 Author: SDL Wiki Bot <[email protected]> Date: Mon Apr 27 04:32:58 2026 +0000 Sync SDL3 wiki -> header [ci skip] commit d5acd7f123f593a256124f313a47816c97532652 Author: Cameron Gutman <[email protected]> Date: Sun Apr 26 21:42:23 2026 -0500 atomic: Use __atomic_signal_fence() for SDL_CompilerBarrier() This is the (slightly) more standard way to accomplish it. commit 3308183dfaedceb7cabb861d6ddb1bbc528d6cca Author: Ozkan Sezer <[email protected]> Date: Mon Apr 27 05:30:14 2026 +0300 video, dos: silence -Wdangling-pointer warnings commit 1023f48b5a403890ecd59cd862f2c373e2255a7b Author: Ozkan Sezer <[email protected]> Date: Sun Apr 26 21:12:14 2026 +0300 add missing newlines at end of dos sources. commit c65c8093377cfa286854a3ff1bed9668b9d2a255 Author: Frank Praznik <[email protected]> Date: Sat Apr 25 11:32:19 2026 -0400 wayland: Use manual masking on KDE for non-native aspect fullscreen modes KDE doesn't automatically center and mask fullscreen windows that don't match the display aspect ratio, so they are masked manually. Can be removed when https://invent.kde.org/plasma/kwin/-/merge_requests/6953 is merged. commit 80a590507535da7403c3f75c958e7a45517ada4d Author: Frank Praznik <[email protected]> Date: Sat Apr 25 11:07:39 2026 -0400 wayland: Change the non-native fullscreen mode scaling default to 'aspect' commit 543a05bf08b8f07462458826b5a0a58e3b025384 Author: ShulkerSakura <[email protected]> Date: Sun Apr 26 22:45:06 2026 +0800 Add keychron Q3 blacklist (#15462) commit 47d14491a6e89322b2a649cdbfb854fccce12cd3 Author: Sam Lantinga <[email protected]> Date: Sat Apr 25 17:10:54 2026 -0700 Fixed keyboard being hidden while being shown on Android commit 8fb1c6e367620be931ef5b1477737e144c1c10c1 Author: Ryan C. Gordon <[email protected]> Date: Sat Apr 25 15:26:22 2026 -0400 haiku: Don't strdup SDL_GetError()'s string before using it in SDL_SetError(). This isn't necessary anymore, after rece…
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
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.
Description
Adds dual touchpad support to testcontroller, including virtual dual touchpads. Useful for testing Steam Controller, Steam Deck, etc. The testcontroller window height was increased to handle the extra "touch finger" rows without overlapping the "setup mapping" button.
Existing Issue(s)
No issues, but would have been helpful for #15528