Commit Graph

21836 Commits

Author SHA1 Message Date
sxvlsl
7fc7c9b0e8 joystick: Add VKB Gladiator NXT Evo to the flight stick device list
(cherry picked from commit 6a3062fd6c)
2026-08-26 07:44:28 -07:00
Vlad Zahorodnii
4cbc0b06e2 x11: Skip announcing WM_TAKE_FOCUS in WM_PROTOCOLS
By putting the WM_TAKE_FOCUS atom in the WM_PROTOCOLS property, SDL
chooses either the "Locally Active" or "Globally Active" input model
depending on the input flag in WM_HINTS.

In order to assist the window manager with making the right decision,
for example, skip this window when choosing what window to activate
next, it will be better if the WM knows right away that the window
accepts or doesn't accept focus (in other words, have either both
the input flag set in WM_HINTS + WM_TAKE_FOCUS or none).

Since the WM_TAKE_FOCUS atom is placed in the WM_PROTOCOLS property, the
WM wanting to adhere to the spec has no choice but send a client message
asking to activate the window and hope for the better.

At quick glance, it appears that the WM_TAKE_FOCUS atom is leftover from
SDL_WINDOWEVENT_TAKE_FOCUS, which was dropped a while ago, and is not
used anymore. So this change removes the WM_TAKE_FOCUS atom to help
window managers such as kwin work better.

(cherry picked from commit 5e8eb0d4e7)
2026-08-25 12:42:21 -04:00
muzikbike
8bbdd0d409 Add Wake Up key code for Windows
deduced experimentally via experimentation with consumer hardware

(cherry picked from commit 40e1357e29)
2026-08-24 15:37:50 -07:00
Sam Lantinga
8b7cf83909 Added a Windows mapping for the Gamesir-G5
Fixes https://github.com/libsdl-org/SDL/issues/16190

(cherry picked from commit 6648b7966c)
2026-08-24 13:19:30 -07:00
Sam Lantinga
15fff4770a Added detection for Turtle Beach Xbox 360 controllers
(cherry picked from commit 05a0cb5894)
2026-08-24 13:09:52 -07:00
Eri the Switch
98e0329ad9 joystick: Accept partial user calibration for sticks on Switch controllers
This allows user stick calibration to be applied on JoyCons and possibly
partially user calibrated Pro controllers.

(cherry picked from commit fb8a32cc75)
2026-08-24 09:54:37 -07:00
muzikbike
c6570a4de9 Add some missing Microsoft keyboard codes
Deduced experimentally using https://git.stary.pc.pl/Grzesiek11/w32ev

(cherry picked from commit 9712c2c7fc)
2026-08-24 09:51:33 -07:00
quasar32
32f1edb4b9 Hit test no longer executes when destroying wayland window
Signed-off-by: quasar32 <fontejam32@gmail.com>
(cherry picked from commit be51a15ba2)
2026-08-24 10:48:41 -04:00
Sam Lantinga
f107c8f116 GPU: D3D12: set MultisampleEnable for multisampled pipelines (thanks @sailro!)
Closes https://github.com/libsdl-org/SDL/pull/16183

(cherry picked from commit 58702e533f)
2026-08-23 10:52:42 -07:00
Dario Binacchi
143286988d Fix build on PowerPC with uClibc
PPC_FEATURE_HAS_ALTIVEC is not defined by all C libraries. The following
error was raised while testing SDL3 in Buildroot with a PowerPC toolchain
using uClibc-ng:

  src/cpuinfo/SDL_cpuinfo.c: In function 'SDL_GetAltiVecFeatures':
  src/cpuinfo/SDL_cpuinfo.c:351:37: error: 'PPC_FEATURE_HAS_ALTIVEC' undeclared (first use in this function)
    351 |     altivec = getauxval(AT_HWCAP) & PPC_FEATURE_HAS_ALTIVEC;
        |                                     ^~~~~~~~~~~~~~~~~~~~~~~

Provide a fallback definition when it is not defined.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
(cherry picked from commit e721af3baf)
2026-08-23 10:35:31 -07:00
Sam Lantinga
1277616105 Show the child process wait code instead of turning it into an error string
The exit code of the child process may not fit in 8 bits, it's more useful to provide the full child process status.

Fixes https://github.com/libsdl-org/SDL/issues/16188

(cherry picked from commit 8b1e4aa41b)
2026-08-23 10:33:59 -07:00
Dav999-v
d90e52acf2 Fix SDL_PLATFORM_UNI typo in migration guide
SDL_PLATFORM_UNI doesn't actually exist, it seems like it's supposed to
be SDL_PLATFORM_UNIX.

(cherry picked from commit 85260aa180)
2026-08-23 10:10:36 -07:00
Sam Lantinga
33edac8e15 Rebuilt test shader headers
(cherry picked from commit 4601c46a68)
2026-08-23 10:09:35 -07:00
momoko-h
33bf6d6964 Update testgpurender_effects_grayscale.frag.hlsl
The formular did not use blue at all but red twice and the factor intended for blue was off.

(cherry picked from commit 902484f65c)
2026-08-23 10:09:35 -07:00
Sam Lantinga
2024984769 Fixed typo
(cherry picked from commit 38aace9359)
2026-08-22 11:50:12 -07:00
Jaan Soulier
18cf4517cb fix SDL_gpu_vulkan validation warning
(cherry picked from commit a2b27528db)
2026-08-22 08:43:35 -07:00
Sam Clegg
5517f5adb1 [emscripten] Use keyEvent->key instead of deprecated charCode
keyEvent->charCode is deprecated in DOM Level 3 and marked deprecated
in Emscripten's html5.h. Use keyEvent->key instead.

(cherry picked from commit f0b84476f9)
2026-08-22 07:54:17 -07:00
Anonymous Maarten
aa9a2f8813 cmake: add FFmpeg components as argument to find_package
(cherry picked from commit a0db66a718)
2026-08-21 17:59:13 +02:00
Anonymous Maarten
b0bd971b52 ci: vita's lame does not declare mpg123 dependency, so disable testffmpeg
[sdl-ci-filter *vita*]

(cherry picked from commit 80ad29564c)
2026-08-21 03:01:19 +02:00
Anonymous Maarten
6e0fb33e00 ci: vitasdk/vitasdk Docker container switched from Alpine to Ubuntu
See 960c16ac23

[sdl-ci-filter *vita*]

(cherry picked from commit d15e373576)
2026-08-21 03:01:19 +02:00
Ryan C. Gordon
1d4b0337ac wikiheaders: Report full path when dying for a doubly-defined section. 2026-08-20 15:12:00 -04:00
Ryan C. Gordon
9b3b6d5a48 events: Note that SDL_PenProximityEvent::pen_state was added for 3.4.16.
(cherry picked from commit e4c41d393b)
2026-08-18 21:02:51 -04:00
Ryan C. Gordon
82fb81f3d3 pen: Report SDL_PenInputFlags in SDL_PenProximityEvent.
Fixes #16125.

(cherry picked from commit 3bdb7d00d5)
2026-08-18 16:09:35 -04:00
Caleb Cornett
38bb1bddca test: Fix MSAA support in testgpu_spinning_cube
(cherry picked from commit d4440c0446)
2026-08-14 16:46:24 -04:00
Revincx
0d08d3e73e evdev: Fix vertical high-resolution mouse wheel scaling
This commit fixes a regression introduced by c44fa5bb

The evdev backend currently uses high_res_hwheel to select the
normalization denominator for both horizontal and vertical wheel
events.

This causes devices which advertise REL_WHEEL_HI_RES but not
REL_HWHEEL_HI_RES to report vertical wheel movement 120 times
larger than intended.

Use the corresponding high-resolution capability independently for
each axis, restoring the behavior before c44fa5bb.

(cherry picked from commit b640b804a8)
2026-08-10 09:09:00 -07:00
xentripetal
b79a5e27ff metal: Fix inverted return value in METAL_QueryFence
SDL_QueryGPUFence is documented to return true when the fence is signaled (complete). Since 514b26e it returns METAL_INTERNAL_IsFenceBusy directly, so it returns true when the fence is still busy, breaking usage of SDL_AcquireGPUSwapchainTexture.

(cherry picked from commit b340ddcd7b)
2026-08-09 12:00:19 -07:00
Sawkez
46604eb8c0 Haiku: Fix incorrect version macro in SDL_SYS_OpenURL
(cherry picked from commit 700cf42a9d)
2026-08-06 10:35:35 -07:00
Sam Lantinga
66ca28e3be Clarify how the draw blend mode is used in the 2D renderer
Fixes https://github.com/libsdl-org/SDL/issues/16109

(cherry picked from commit 81afb82f2d)
2026-08-06 08:48:31 -07:00
Frank Praznik
15bc6cbdd4 wayland: Use the correct parameter type in the capabilities callback
The capabilities parameter is a uint32_t in the function signature in the header, not an enum.

Fixes a clang-tidy warning.

(cherry picked from commit 2afc369e8a)
2026-08-05 11:05:49 -04:00
Frank Praznik
bd9312a108 wayland: Fix a circular include issue
The event header being included before a header guard was hiding a circular include issue.

(cherry picked from commit b23ae0eec7)
2026-08-05 10:57:56 -04:00
Frank Praznik
759df98b36 wayland: Move include after the guard
(cherry picked from commit 2bf7014836)
2026-08-05 10:39:32 -04:00
capitalistspz
0837c1584c camera: Detect exclusive_caps v4l2loopback devices (#16116)
(cherry picked from commit 355d1ac848)
2026-08-05 07:33:15 -07:00
zuiki_inn
095ac35986 add EVOTOP AXIS controller support (#16117)
(cherry picked from commit f1c274038b)
2026-08-05 07:29:48 -07:00
Caleb Cornett
7ae71a4fab docs: Add section on Xbox GDK suspend/resume handling
(cherry picked from commit 53b485c7aa)
2026-08-04 16:16:10 -07:00
Sam Lantinga
8ad19ab681 Updated to version 3.4.15 for development 2026-08-03 15:16:23 -07:00
Sam Lantinga
147a8ee32d Updated to version 3.4.14 for release release-3.4.14 2026-08-03 14:55:14 -07:00
Evan Hemsley
e1015700c6 GPU: Allow combinations of read flags on buffers (#16111)
(cherry picked from commit 5538d52430)
2026-08-03 13:16:38 -07:00
Ryan C. Gordon
1ef4551c6d cocoa: SDL_GetClipboardData() needs to conform the mimetype.
Fixes #16077.

(cherry picked from commit f17fc121aa)
2026-08-03 11:52:29 -04:00
Ryan C. Gordon
c3e06fe741 cocoa: Use macOS 26.x mouse workaround for all windows, not just fullscreen.
This is a temporary workaround until we understand the issue better.

Reference Issue #15967.

(cherry picked from commit 958c4cbf0d)
2026-08-03 02:21:05 -04:00
Sanjay Govind
f16d4e81ea Add support for GIP instruments via hidapi, and drums via gameinput (#16009)
(cherry picked from commit 7010faef34)
2026-08-02 16:28:28 -07:00
Sam Lantinga
1fc5a58e3a GameInput: don't say the device is present if we won't handle it
(cherry picked from commit 71d0d069ed)
2026-08-02 15:57:17 -07:00
Sam Lantinga
9d8087305d Clarify supported Apple deployment targets for SDL 3.0
(cherry picked from commit a4340f1187)
2026-08-02 08:50:01 -07:00
Sam Lantinga
5cb568dbec Leave open Xbox devices in the libusb enumerated list on macOS
Fixes https://github.com/libsdl-org/SDL/issues/15961

(cherry picked from commit 8dc177294b)
2026-08-02 08:17:30 -07:00
Michal Trepka
cecc16ea51 cocoa: Workaround for an issue with incorrect window position after exiting fullscreen on some displays
Fix for https://github.com/libsdl-org/SDL/issues/15920

(cherry picked from commit f514394d1c)
2026-08-02 07:28:03 -07:00
Nick Waanders
bcbdcaf6e4 Metal: Fix for required rebinding when switching pipelines
(cherry picked from commit 4c69fd050c)
2026-07-30 17:10:03 -07:00
Frank Praznik
105ad5e875 x11: Register the input context destroyed callback
Register the destroyed callback to handle cases where the IC is suddenly no longer valid (e.g. if ibus or fcitx dies).

(cherry picked from commit 63bf4c1c79)
2026-07-28 15:47:34 -04:00
Sam Lantinga
b0e329b322 Use the render passes we just created when creating a Vulkan render target
(cherry picked from commit f4337eded2)
2026-07-27 10:57:23 -07:00
Alynne
c9ad296376 Add Retro Fighters D6 mappings (#16048)
(cherry picked from commit 091261b3bd)
2026-07-23 11:35:56 -07:00
Alynne
6fefc36b21 Support for Retro Fighters Defender Pro (#16045)
(cherry picked from commit b9d64c45a9)
2026-07-23 10:17:44 -07:00
Frank Praznik
01997ebebd wayland: Don't clear the clipboard when a nil selection is ignored
If the previous selection offering was recursive, a nil selection should be ignored, or clearing the clipboard may clear the backing memory of the client's selection offering as well.

(cherry picked from commit cc2713c047)
2026-07-22 12:10:06 -04:00