Commit graph

21635 commits

Author SHA1 Message Date
Sam Lantinga
b59f09809d 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

(cherry picked from commit 3545bad589)
2026-05-21 06:53:37 -07:00
Sam Lantinga
fb8bf997e9 android: handle sensor registration synchronized in one place
(cherry picked from commit 47c8dcc968)
2026-05-20 15:55:41 -07:00
Sam Lantinga
5bd0eb068c Fixed a rare crash on Raspberry Pi when creating a window
(cherry picked from commit 19d73016e8)
2026-05-20 15:11:26 -07:00
Sam Lantinga
257de23efc Fixed a rare crash on Raspberry Pi when creating a window
(cherry picked from commit 0dbd9d2a65)
2026-05-20 14:58:41 -07:00
Frank Praznik
b94ffff046
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.

(cherry picked from commit ef9a5b7040)
2026-05-20 13:08:47 -04:00
Frank Praznik
6f9205a3c3
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.

(cherry picked from commit 8371c09aa7)
2026-05-20 13:08:40 -04:00
Ryan C. Gordon
dcf8f960c7
assert: fixed compiler warning with LLVM + x86_64-pc-windows-msvc target.
Fixes #15578.

(cherry picked from commit 9a56bc66b5)
2026-05-20 13:03:31 -04:00
Ryan C. Gordon
9a3eab45f9
README-migration: Note that render target support is not universally available.
Fixes #15474.

(cherry picked from commit f8dab6ad51)
2026-05-20 12:52:35 -04:00
Sam Lantinga
69300875ec Allow setting NULL palette on any surface
Fixes https://github.com/libsdl-org/SDL/issues/15654

(cherry picked from commit cfed9b3aca)
2026-05-19 14:22:37 -07:00
Ozkan Sezer
6545e5b0b8 SDL_rawinputjoystick.c: fixed a type redefinition error
(cherry picked from commit f19dca3ca0)
2026-05-19 18:55:50 +03:00
Ozkan Sezer
eb8caad5a4 SDL_windows_gaming_input.c: work-around to build against old SDKs.
Fixes https://github.com/libsdl-org/SDL/issues/15646

(cherry picked from commit 42c4a0e30f)
2026-05-19 17:26:28 +03:00
Ozkan Sezer
2f660cb332 hidapi/netbsd: import mainstream commit 7e994d8671:
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

(cherry picked from commit 169480a352)
2026-05-19 17:23:14 +03:00
Kuratius
49aa0c0667 Fix touchpad finger detection on Steam Deck
(cherry picked from commit 6ed1de089c)
2026-05-19 06:54:09 -07:00
Ozkan Sezer
b938acab19 SDL_wasapi.c: added comment about SDL_AudioClientProperties workaround
(cherry picked from commit 48fe7b7d6a)
2026-05-19 11:21:24 +03:00
Frank Praznik
3b73938b5f video: Windows keep any position set when in fullscreen after leaving fullscreen
Adds an automated test for the behavior as well.

(cherry picked from commit f31ca02723)
2026-05-18 09:10:25 -07:00
Susko3
edad1c5563 Properly fix cursor position in Korean IME
(cherry picked from commit b608108593)
2026-05-18 09:02:23 -07:00
7aGiven
89fa8a4c0c fix Korean caret position
(cherry picked from commit 8e6fed2cbf)
2026-05-18 09:02:23 -07:00
Ahmed
3c45d1361a examples: Fix float division
(cherry picked from commit b5ac641372)
2026-05-18 09:00:29 -07:00
Ozkan Sezer
afbbfc6e98 wasapi: workaround that AudioClientProperties->Options not being available in old SDKs
Closes: https://github.com/libsdl-org/SDL/issues/15641.

(cherry picked from commit bf03728873)
2026-05-18 18:56:52 +03:00
7aGiven
7a4cce82eb WM_IME_SETCONTEXT not set 0
(cherry picked from commit 296231e999)
2026-05-18 07:05:26 -07:00
Kuratius
d147bb2a06 Fix Steam Controller 2 touchpad finger detection (#15644)
(cherry picked from commit a20530cf15)
2026-05-18 07:04:16 -07:00
Sam Lantinga
85d86dd72c Fixed deadlock introduced by 7222c04fbf
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()

(cherry picked from commit 8c89a076a7)
2026-05-17 12:22:37 -07:00
Sam Lantinga
da76e438be Reapply "Change controller sensor state on the main UI thread on Android"
This reverts commit 02975994c1.

Accidentally reverted the wrong commit

(cherry picked from commit b19ecb4032)
2026-05-17 12:16:07 -07:00
Sam Lantinga
59b38dfe85 Revert "Change controller sensor state on the main UI thread on Android"
This reverts commit c362f1341f.

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()

(cherry picked from commit 02975994c1)
2026-05-17 12:12:20 -07:00
Ozkan Sezer
2e8567bdeb SDL_render_d3d11.c: fix another bad use of SDL_FUNCTION
(cherry picked from commit cbd2917324)
2026-05-17 21:37:00 +03:00
Ozkan Sezer
f689caed82 SDL_render_d3d12.c: revert an unintended change from commit d70578b9aa
(cherry picked from commit f76b736e28)
2026-05-17 20:29:28 +03:00
Frank Praznik
bf7c5e2df2
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.

(cherry picked from commit 336d07c2b7)
2026-05-17 11:52:58 -04:00
Ozkan Sezer
e03ee2f0d9 SDL_opengl_glext.h, src/video/directx/d3d12.h: revert unintended changes from commit d70578b9aa
(cherry picked from commit 75c94e9b31)
2026-05-17 16:30:30 +03:00
Tap
273eeebe71 Correct steam triton haptic commands
The listed report IDs are incorrect - there is no skipped ID

(cherry picked from commit 1f7a42a7b9)
2026-05-17 06:24:22 -07:00
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