Commit Graph

11546 Commits

Author SHA1 Message Date
Sam Lantinga 40e08ee7af Assume new XBox controllers have a share button
The list of old XBox controllers was taken from controller_list.h, removing controllers already known to have a share button.
2025-04-03 12:31:45 -07:00
Sam Lantinga 6bb16296b0 Added special handling for SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY
This hint needs to persist outside of the normal application flow, so use the environment to set the initial value, and then save the value set via SDL_SetHint() after that.

Fixes https://github.com/libsdl-org/SDL/issues/12677
2025-04-03 11:33:34 -07:00
Sam Lantinga 756b455d3a Fixed building for Xbox One
Fixes https://github.com/libsdl-org/SDL/issues/12714
2025-04-03 09:08:56 -07:00
Lucas Murray f78aa4d8ea GPU: Expose debug information from devices
Co-authored-by: Nikita Kogut <glinka1202@gmail.com>
2025-04-03 08:52:51 -07:00
Sam Lantinga b521400861 Note that the Emscripten window properties are strings 2025-04-02 08:33:16 -07:00
Sam Lantinga 82b245d13a Added support for the HORI Taiko No Tatsujin Drum Controller 2025-04-02 08:30:26 -07:00
Temdog007 cc8ec6cf18
Handle global mouse state for Emscripten (#12669) 2025-04-02 07:21:21 -07:00
Temdog007 cbc26fe2c4 Add Emscripten window data to window properties 2025-04-02 07:19:52 -07:00
Sam Lantinga 4aefde015e Only send sensor data if sensors are enabled for 8BitDo controllers 2025-04-01 19:58:28 -07:00
siery 6d78273442 Return early in stead of goto 2025-04-01 17:40:34 -07:00
Sam Lantinga c3ce216c4d Fixed crash at shutdown on Windows
The taskbar list is invalid after OleUninitialize(), so make sure we clean it up first.

Also don't bother creating the taskbar list if we don't have any progress state
2025-04-01 14:56:08 -07:00
Sam Lantinga 366a5281b9 Fixed comment 2025-04-01 09:07:20 -07:00
Sam Lantinga 79a41ca7fc Implemented DEBUG_8BITDO_PROTOCOL 2025-04-01 09:06:30 -07:00
Sam Lantinga 5922e2cb78 Corrected comment with 8BitDo controller report sizes 2025-04-01 09:01:32 -07:00
Sam Lantinga 0d9ff082fe 8BitDo HIDAPI driver cleanup 2025-04-01 09:00:39 -07:00
8BitDo e236a48e13 8BitDo
Add adaptation ULTIMATE2_WIRELESS V1.02
2025-03-31 21:22:11 -07:00
Sam Lantinga 36fc1c2c9c Fixed texture colorspace when creating a texture from a surface
Fixes https://github.com/libsdl-org/SDL/issues/12691
2025-03-31 18:49:58 -07:00
blukai 512485869c fix vulkan vertex buffer indexing
this was causing problems when i was specifying non-zero buffer slots in
`SDL_BindGPUVertexBuffers`, `SDL_GPUVertexAttribute` and
`SDL_GPUVertexBufferDescription`.

`firstSlot + 1` is simply copied over from metal and d3d12 backends.
2025-03-31 18:41:34 -07:00
Sam Lantinga 44faac2921 Fixed A/B/X/Y buttons on Nintendo 3DS
Fixes https://github.com/libsdl-org/SDL/issues/12690
2025-03-31 15:36:03 -07:00
Sam Lantinga 38c2081ae3 Temporarily default SDL_HINT_JOYSTICK_HIDAPI_8BITDO off
We'll default this off for now, since we don't detect whether the controller is running firmware v1.03 and don't have a fallback for controllers running firmware v1.02 (the out-of-box firmware)
2025-03-31 10:00:11 -07:00
8BitDo e18c6bd2e7
8BitDo (#12661)
Added HIDAPI support for the 8BitDo Ultimate 2 Wireless Controller running firmware v1.03 or newer over Bluetooth.
2025-03-31 09:56:01 -07:00
Frank Praznik 6b1d6bfbe7
wayland: Commit the confinement region upon creation
This may prevent the pointer from escaping small regions if moving quickly.
2025-03-31 11:57:42 -04:00
Frank Praznik 266ee41c86
wayland: Defer creating cursor confinement regions until the surface is mapped
Otherwise, the confinement area will be lost if the window is recreated when initializing the renderer.
2025-03-31 11:57:42 -04:00
Sam Lantinga 0d04e9ea6a Fixed build 2025-03-30 21:35:14 -07:00
Sam Lantinga 7bb95bde49 Set the alpha opaque when blending to an RGB format
Fixes the render_testRGBSurfaceNoAlpha automated test in sdl2-compat
2025-03-30 21:24:53 -07:00
Ryan C. Gordon 8eb57c5a42
diskaudio: Use SDL_GetAudioFormatName instead of recreating it from scratch. 2025-03-30 19:26:02 -04:00
Ryan C. Gordon f05bb7aae2
diskaudio: Log the raw PCM's format during "device" open. 2025-03-30 14:16:29 -04:00
Frank Praznik 210b317d8d x11: Popup positions after constraining are in the window-relative space, not global 2025-03-29 14:00:53 -04:00
Sam Lantinga a23f97483f Temporarily disable DwmFlush()
For some reason this locks up the Windows compositor when called by Steam. I'm disabling it for now until we understand why and whether this can cause issues for other applications as well.
2025-03-28 20:31:07 -07:00
Ryan C. Gordon 536a1a236f
coreaudio: Added some NULL pointer checks.
These might not be necessary, just trying to track down a reported issue.

Reference Issue #12660.
2025-03-28 18:39:59 -04:00
Cameron Gutman 712c76fdc1 gamepad: Fix inability to disable SDL_EVENT_GAMEPAD_UPDATE_COMPLETE events 2025-03-28 17:06:29 -05:00
Sam Lantinga 633b9f6fb1 Added SDL_SetRenderTextureAddressMode() and SDL_GetRenderTextureAddressMode()
Fixes https://github.com/libsdl-org/SDL/issues/4820
Fixes https://github.com/libsdl-org/SDL/issues/12610
2025-03-28 13:51:19 -07:00
Green Sky eb918af3dc video: fix surface leak when duplicating mjpeg 2025-03-28 13:18:28 -07:00
Frank Praznik 401aaf3d2f
video: Revert unnecessary member assignment 2025-03-28 10:21:24 -04:00
Sam Lantinga 0f27c3aabd Added SDL_PROP_PROCESS_CREATE_WORKING_DIRECTORY_STRING
Fixes https://github.com/libsdl-org/SDL/issues/12654
2025-03-27 11:30:00 -07:00
Ryan C. Gordon 289f5cfdbb
touch: Don't call ResetTouch() if SDL_GetTouch() can't find a virtual device.
Fixes #12577.
2025-03-27 12:02:09 -04:00
Ryan C. Gordon b00b08f832
touch: Keep state correct when removing virtual touch devices during quit.
This is probably not strictly necessary, since SDL_InitMouse will zero out
the whole struct to start if SDL is reinitialized, but just in case.
2025-03-27 12:02:08 -04:00
Frank Praznik 09fff161e9 cocoa: Clear pending state on fullscreen switch failures
The window failing to enter/exit fullscreen notifications don't necessarily imply anything about the actual state of the window. On failure, dump pending events, and don't presume anything about the current window state, as it will be handled by subsequent enter/leave notifications.
2025-03-27 11:57:47 -04:00
Frank Praznik 05d23cae73 cocoa: Re-add sync timeout
This should never happen, but it's a failsafe against future bugs or odd configurations
2025-03-27 11:49:02 -04:00
Sam Lantinga 2e61b41652 Don't send relative motion while in a modal loop
This fixes queuing up a bunch of relative motion events while moving or resizing a window.
2025-03-27 08:10:50 -07:00
Ryan C. Gordon 4c035a1fd8
audio: Allow PipeWire and PulseAudio streams to migrate to other sinks.
SDL still manages hotplug and default device management here, but if a user
wants to use an external tool, such as `pactl move-sink-input`, to put it
onto a different device, they probably know what they're doing and we
shouldn't stop them.

If this turns out to have some unexpected consequences, though, we can revisit
the change.

Fixes https://github.com/libsdl-org/sdl2-compat/issues/367
2025-03-27 11:00:51 -04:00
Frank Praznik 8e6eaf12a4 wayland: Expose wl_output objects on video displays
Some protocols take a wl_output object to function, so expose them via a property on the video displays.
2025-03-26 13:12:23 -04:00
Sam Lantinga e28974124a Added mappings for the NSO N64/SEGA/SNES controllers
These are used on Linux when the HIDAPI driver isn't available.
2025-03-25 14:46:03 -07:00
Sam Lantinga b88200b797 Fixed face buttons for the NSO SNES controller under the HIDAPI driver 2025-03-25 14:46:03 -07:00
Sam Lantinga f355c7f217 Allow the progress API to be used on all platforms
It's visually only hooked up on Windows for now, but the API will be internally consistent on all platforms.
2025-03-25 11:24:22 -07:00
Frank Praznik 716e33f106 x11: Send the _XWAYLAND_MAY_GRAB_KEYBOARD message when grabbing the keyboard
GNOME requires this to allow keyboard grabs on XWayland. Otherwise, XGrabKeyboard will still report success, but shortcuts won't be inhibited.

See 5f132f3975
2025-03-25 12:35:34 -04:00
Rémy Tassoux 6cc00a31b6
WindowProgressState API getters and fixes (#12629) 2025-03-25 08:03:32 -07:00
Frank Praznik b520cde18f cocoa: Properly set the pending fullscreen spaces state when in a transition 2025-03-24 23:23:32 -04:00
Carl Åstholm dd9b9d4513 Check if GL_OES_EGL_image_external is supported before trying to use it 2025-03-24 19:52:13 -07:00
Ryan C. Gordon ae17b04c0d
alsa: Don't start the hardware until the device thread is ready to do work.
Otherwise, in the time it takes the thread to start and other init tasks to
complete, we tend to get an underrun on some systems, which ALSA logs to
stderr.

So this is moved to an InitThread implementation, which runs from the device
thread, right before it begins its main loop.

Reference PR #12632.
2025-03-24 19:41:26 -04:00