Commit Graph

21984 Commits

Author SHA1 Message Date
Sam Lantinga
47c8dcc968 android: handle sensor registration synchronized in one place 2026-05-20 15:55:24 -07:00
Sam Lantinga
19d73016e8 Fixed a rare crash on Raspberry Pi when creating a window 2026-05-20 15:11:09 -07:00
Sam Lantinga
0dbd9d2a65 Fixed a rare crash on Raspberry Pi when creating a window 2026-05-20 14:56:54 -07:00
Frank Praznik
ef9a5b7040 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.
2026-05-20 13:05:38 -04:00
Frank Praznik
8371c09aa7 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.
2026-05-20 13:05:38 -04:00
Ryan C. Gordon
9a56bc66b5 assert: fixed compiler warning with LLVM + x86_64-pc-windows-msvc target.
Fixes #15578.
2026-05-20 13:02:41 -04:00
Ryan C. Gordon
f8dab6ad51 README-migration: Note that render target support is not universally available.
Fixes #15474.
2026-05-20 12:51:41 -04:00
Ryan C. Gordon
d8f42ee069 examples/renderer/20-blending: Make thumbnail/onmouseover match other examples. 2026-05-20 00:42:57 -04:00
Ryan C. Gordon
8fe1d7faec 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.
2026-05-20 00:40:25 -04:00
Vittorio Romeo
35098e927c emscripten: don't dispatch user input to hidden windows 2026-05-19 21:15:22 -07:00
Ahmed Lyas
c9e2e732b6 examples: Add blending example (#15657) 2026-05-19 21:05:23 -07:00
Sam Lantinga
f9380e15de 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
2026-05-19 15:41:04 -07:00
Sam Lantinga
cfed9b3aca Allow setting NULL palette on any surface
Fixes https://github.com/libsdl-org/SDL/issues/15654
2026-05-19 14:22:32 -07:00
Ozkan Sezer
f19dca3ca0 SDL_rawinputjoystick.c: fixed a type redefinition error 2026-05-19 18:55:20 +03:00
Ozkan Sezer
42c4a0e30f SDL_windows_gaming_input.c: work-around to build against old SDKs.
Fixes https://github.com/libsdl-org/SDL/issues/15646
2026-05-19 17:25:56 +03:00
Ozkan Sezer
169480a352 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
2026-05-19 17:22:50 +03:00
Kuratius
6ed1de089c Fix touchpad finger detection on Steam Deck 2026-05-19 06:52:17 -07:00
Ozkan Sezer
48fe7b7d6a SDL_wasapi.c: added comment about SDL_AudioClientProperties workaround 2026-05-19 11:21:04 +03:00
Sam Lantinga
0e480bee30 visionOS: re-enable dimming mode 2026-05-18 16:59:01 -07:00
Sam Lantinga
7f7c1628cb 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
2026-05-18 13:43:09 -07:00
Sam Lantinga
b4ebf70e0c visionOS: dimming doesn't seem to be reliable, so disable it for now 2026-05-18 13:43:09 -07:00
Sam Lantinga
e759cc850e Added an internal type for the Nintendo Switch 2 Pro controller 2026-05-18 09:23:38 -07:00
Frank Praznik
f31ca02723 video: Windows keep any position set when in fullscreen after leaving fullscreen
Adds an automated test for the behavior as well.
2026-05-18 09:09:49 -07:00
Susko3
b608108593 Properly fix cursor position in Korean IME 2026-05-18 09:01:01 -07:00
Ahmed
b5ac641372 examples: Fix float division 2026-05-18 09:00:12 -07:00
Ozkan Sezer
bf03728873 wasapi: workaround that AudioClientProperties->Options not being available in old SDKs
Closes: https://github.com/libsdl-org/SDL/issues/15641.
2026-05-18 18:55:57 +03:00
Gabriel Wang
508450e9c0 adds Blit565to565SurfaceAlphaSVE2 2026-05-18 07:10:05 -07:00
Gabriel Wang
e07cfdff2c adds sdl_sve_chn_blend_with_mask_fast for RGB565 alpha-blending 2026-05-18 07:10:05 -07:00
Gabriel Wang
8d9d6b1b2b apply simplified sve2 macro protection 2026-05-18 07:10:05 -07:00
7aGiven
296231e999 WM_IME_SETCONTEXT not set 0 2026-05-18 07:05:09 -07:00
Kuratius
a20530cf15 Fix Steam Controller 2 touchpad finger detection (#15644) 2026-05-18 07:03:56 -07:00
7aGiven
8e6fed2cbf fix Korean caret position 2026-05-18 07:00:42 -07:00
Sam Lantinga
8b49bff353 Fixed Nintendo Switch Pro controller sensors on Android 2026-05-17 21:44:24 -07:00
Sam Lantinga
14c31ee12a 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.
2026-05-17 18:19:42 -07:00
ceski
d8b2434047 testcontroller: correct fix for touchpad free/allocate 2026-05-17 18:19:29 -07:00
Sam Lantinga
8c89a076a7 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()
2026-05-17 12:22:12 -07:00
Sam Lantinga
b19ecb4032 Reapply "Change controller sensor state on the main UI thread on Android"
This reverts commit 02975994c1.

Accidentally reverted the wrong commit
2026-05-17 12:15:48 -07:00
Sam Lantinga
02975994c1 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()
2026-05-17 12:04:11 -07:00
Ozkan Sezer
cbd2917324 SDL_render_d3d11.c: fix another bad use of SDL_FUNCTION 2026-05-17 21:36:20 +03:00
Sam Lantinga
33e237eb67 visionos: persist all configurable window settings
Save the gaze indicator and dimmed mode setting as well as curvature
2026-05-17 11:35:30 -07:00
Cameron Gutman
6d3404e4bb gamepad: Add SDL_GAMEPAD_TYPE_STEAM for Steam Controllers 2026-05-17 11:19:16 -07:00
Ozkan Sezer
f76b736e28 SDL_render_d3d12.c: revert an unintended change from commit d70578b9aa 2026-05-17 20:28:56 +03:00
Sam Lantinga
ae25abeb0d Don't log game controller buttons in the keyboard handler on Android 2026-05-17 09:11:39 -07:00
Frank Praznik
9aae258aeb wayland: Adjust DnD coordinates when dragging over a mask subsurface 2026-05-17 11:52:10 -04:00
Frank Praznik
336d07c2b7 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.
2026-05-17 11:52:10 -04:00
SDL Wiki Bot
31d6acef64 Sync SDL3 wiki -> header
[ci skip]
2026-05-17 15:51:20 +00:00
Sam Lantinga
63d2635719 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.
2026-05-17 08:47:36 -07:00
ceski
5b98c1cc2f Add capacitive sense gamepad events (#15627) 2026-05-17 08:26:29 -07:00
ceski
984fcdaa8a testcontroller: free/allocate touchpads only when needed 2026-05-17 07:45:59 -07:00
Sam Lantinga
34c3fdd350 Added extended internal controller types 2026-05-17 06:52:47 -07:00