Commit graph

21606 commits

Author SHA1 Message Date
Christian Semmler
581c18f693 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.

(cherry picked from commit db7ac820f9)
2026-05-16 15:48:06 -07:00
ceski
f30c0e4ee2 Add Steam Deck capacitive touch sticks, trackpad clicks, and mapping (#15612)
(cherry picked from commit 2ebf23014f)
2026-05-16 09:04:44 -07:00
ceski
cdbc651f65 Add Steam Controller mapping (#15601)
Also fixed Hori QAM button mapping

(cherry picked from commit c00d7b4bf5)
2026-05-15 19:18:56 -07:00
John Schoenick
b8547af466 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.

(cherry picked from commit 0ffb0bdd87)
2026-05-15 15:40:55 -07:00
Rachel Blackman
819bb962fa Add Gamesir Supernova in Xinput mode to controller list
(cherry picked from commit d83e7bf79e)
2026-05-15 13:26:10 -07:00
Evan Hemsley
f3281f6e3d GPU: Set missing fields on Vulkan swapchain texture (#15606)
(cherry picked from commit 86296ac8f0)
2026-05-15 11:44:33 -07:00
Sam Lantinga
a7f93c5c55 Detect the GameSir Super Nova in Xbox 360 mode
(cherry picked from commit a95ce7e734)
2026-05-15 10:13:53 -07:00
Anthony
e5246aaa6a Update showFileDialog in proguard-rules.pro
to match changes in 439ffd1

(cherry picked from commit bd146867e4)
2026-05-15 08:59:51 -07:00
Anthony
b87c1101e0 Add joystickSetSensorsEnabled to proguard-rules.pro
(cherry picked from commit c94b1435c7)
2026-05-15 08:44:19 -07:00
Anonymous Maarten
f00b0291b3 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.

(cherry picked from commit d5af35e3fb)
2026-05-14 20:55:02 -07:00
Rachel Blackman
b84e981ed8 Fix HIDAPI support for Flydigi Vader 5 Pro (#15594)
(cherry picked from commit eb340388fc)
2026-05-14 17:33:36 -07:00
Evan Hemsley
ee49e69ed7 GPU: Refactor Vulkan barriers to fix defrag segfault (#15593)
(cherry picked from commit f286e420af)
2026-05-14 17:02:13 -07:00
ceski
1226f4a56d Add Steam Controller touchpads, capacitive touch for sticks, and grip sense (#15528)
(cherry picked from commit f3faf67c64)
2026-05-14 16:30:02 -07:00
Brenton Bostick
775a8d0ef7 make sure #endif comment matches the macro name
(cherry picked from commit 3ac4e684ab)
2026-05-14 16:29:53 -07:00
Sam Lantinga
2e7bd8902c Use the correct report format for BLE Steam Controller reports
(cherry picked from commit 79f5f674bd)
2026-05-14 16:29:26 -07:00
Cameron Cawley
c9bdfd8fed Replace custom NEON cast macros with vreinterpret_*_*
(cherry picked from commit a3376acc2e)
2026-05-14 09:16:46 -07:00
Vlad-Florin Ilie
f35b77c417 Fix Steam Controller 2026 (triton) rumble (#15558)
(cherry picked from commit b333c04ccc)
2026-05-13 23:42:14 -07:00
Sam Lantinga
f55416bf00 Added controller sensor support for GameInput v3
Verified working with the DualSense controller

(cherry picked from commit 0defb4ddfc)
2026-05-13 23:41:39 -07:00
Sam Lantinga
f37f4f06d5 Fixed windows getting the wrong size when setting size and aspect ratio back to back
(cherry picked from commit 0e5e772ba9)
2026-05-13 20:40:09 -07:00
Sam Lantinga
c02d2b8c73 Added SDL_SendGamepadEffect() support for the new Steam Controller
(cherry picked from commit 4884dbbe56)
2026-05-13 20:15:43 -07:00
Joel Auterson
a8442d38be 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.

(cherry picked from commit c247f06f01)
2026-05-13 18:36:16 -07:00
RaceTheMaSe
3e3d045cf1 hidapi, windows: Fix -Wjump-misses-init warning (#14990)
Clang: jump from this goto statement to its label is incompatible with C++ [-Wjump-misses-init]

(cherry picked from commit ba3274e3a1)
2026-05-13 19:32:50 +03:00
Max Seidenstücker
088a0fc91c Static at beginning
GCC: 'static' is not at beginning of declaration [-Wold-style-declaration]

(cherry picked from commit 0c7d4d5a89)
2026-05-13 19:32:50 +03:00
RaceTheMaSe
9363ecc764 Fix warning: strict prototypes (#14992)
clang: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]

(cherry picked from commit 4f183506f6)
2026-05-13 19:32:50 +03:00
RaceTheMaSe
a7e5870b88 Fix -Wnewline-eof warnings (#14989)
(cherry picked from commit 9fda8f2669)
2026-05-13 19:32:50 +03:00
RaceTheMaSe
5400cdd307 PS2, VITA: Fix void pointer arithmetic warnings (#14995)
(cherry picked from commit 863912aa03)
2026-05-13 19:32:50 +03:00
Sam Lantinga
9848c32d9a Return the touch device name for SDL_TOUCH_MOUSEID
(cherry picked from commit 3dbd3e43e2)
2026-05-13 09:07:51 -07:00
Cameron Cawley
17cf746550 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.

(cherry picked from commit b1f390255a)
2026-05-13 08:52:51 -07:00
Sam Lantinga
a7482a1acb Document that you may receive mouse events with SDL_PEN_MOUSEID
(cherry picked from commit 716c767b7e)
2026-05-13 08:12:42 -07:00
Sam Lantinga
a979d8d060 Use predefined names for constant keyboard and mouse IDs
Fixes https://github.com/libsdl-org/SDL/issues/15563

(cherry picked from commit fcaf5bbf8c)
2026-05-13 08:12:42 -07:00
Anonymous Maarten
2499e1a4c2 stb_image: use SDL_HasSSE2 and <SDL3/SDL_intrin.h> macro's for SSE2 detection
(cherry picked from commit 0457891d50)
2026-05-13 18:10:02 +03:00
Max Seidenstücker
1d8673a885 Void function return
Clang: void function should not return void expression [-Wpedantic]

(cherry picked from commit 144ab4ba99)
2026-05-13 18:10:02 +03:00
Sam Lantinga
ecc33ac29a Change controller sensor state on the main UI thread on Android
Fixes https://github.com/libsdl-org/SDL/issues/15565

(cherry picked from commit c362f1341f)
2026-05-13 08:02:45 -07:00
Sam Lantinga
dfc0e4bb4f Synchronize controller access on the Java side on Android
(cherry picked from commit 7222c04fbf)
2026-05-13 08:02:42 -07:00
Cameron Cawley
08c33bb861 Fix switching modes on RISC OS
(cherry picked from commit 7071efb6a3)
2026-05-12 20:18:26 -07:00
Sam Lantinga
90c68dce38 Removed Wooting 60HE (ARM) from the controller blacklist
Fixes https://github.com/libsdl-org/SDL/issues/15555

(cherry picked from commit f30ec9940a)
2026-05-11 22:11:01 -07:00
Al. Lopez
98ed044509 added additional examples of paddle/misc buttons for Steam Controller (#15544)
(cherry picked from commit 4940345a2e)
2026-05-11 21:45:39 -07:00
Sam Lantinga
ef3196bedd Fixed a crash if we get a HID device with no path
This can happen on Linux if udev_device_get_devnode() fails.

(cherry picked from commit bb4eedd67d)
2026-05-11 16:48:43 -07:00
Rachel Blackman
717bb2dcef Correctly support OG Steam Controller when connected via USB on Android (#15561)
(cherry picked from commit e4a327709d)
2026-05-11 15:23:50 -07:00
Rachel Blackman
7e101bdce9 Ensure Android gamepad mappings don't lose the first button.
(cherry picked from commit fd3cfb97c1)
2026-05-11 12:59:59 -07:00
Evan Hemsley
d348116157 GPU: Fix segfault when copying to Vulkan swapchain (#15543)
(cherry picked from commit 76f8705c12)
2026-05-11 11:42:55 -07:00
Rachel Blackman
2b7c3d8a6c *Only* preserve report byte for feature reports. Oops.
(cherry picked from commit 7ec70d39c4)
2026-05-11 11:33:20 -07:00
Nintorch
b52e6d10ce Ignore Keychron K10 Pro and Huion Tablet_GS1331
(cherry picked from commit 287e2573cd)
2026-05-11 11:11:24 -07:00
Cameron Gutman
a61f02cc88 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.

(cherry picked from commit 7439a94ed2)
2026-05-11 06:43:40 -07:00
Frank Praznik
321557f339
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.

(cherry picked from commit f48525aa70)
2026-05-10 14:18:06 -04:00
Evan Hemsley
7a827b145a GPU: Validate that 2D textures don't have layers (#15535)
(cherry picked from commit cbe3fbe9f3)
2026-05-07 19:21:10 -07:00
Evan Hemsley
a14da0d366 GPU: Allow depth texture arrays (#15534)
(cherry picked from commit d08ef12b12)
2026-05-07 16:41:09 -07:00
Frank Praznik
7cdf4fd7ee
wayland: Ensure window dimensions are greater than zero after adjusting for aspect
Resizing to zero can cause a bad viewport size error.

(cherry picked from commit ba3577f584)
2026-05-07 13:17:29 -04:00
cosmonaut
1ebe9161c3 GPU: Clarify VK_KHR_maintenance9 comment
(cherry picked from commit c8feb29746)
2026-05-07 10:00:07 -07:00
Susko3
5902d6622c Enable text editing events in checkkeys
(cherry picked from commit 2949a0d6d5)
2026-05-07 09:57:22 -07:00