Sam Lantinga
b6fa4dc794
Only use Steam Virtual Gamepads if we're running under Steam
...
Fixes https://github.com/libsdl-org/SDL/issues/11214
Fixes https://github.com/libsdl-org/SDL/issues/11215
(cherry picked from commit 8a30def5f2 )
2024-10-16 17:51:50 -07:00
Sam Lantinga
cfb3db01dc
Added support for the Steam Virtual Gamepad on macOS Sequoia
...
(cherry picked from commit d7b1ba1bfc )
2024-10-16 17:51:50 -07:00
Sam Lantinga
da4608ed03
Fixed typo in SDL_audio.h
2024-10-10 08:49:41 -07:00
Sam Lantinga
da19244f7f
Added support for wired XBox controllers on macOS 15.0 Sequoia
...
Fixes https://github.com/libsdl-org/SDL/issues/11002
(cherry picked from commit 7da728a642 )
2024-10-07 16:41:34 -07:00
Sam Lantinga
bb33eb409e
Fixed detecting the Steam Virtual Gamepad on macOS
2024-10-07 16:21:44 -07:00
Sam Lantinga
c9f3cbe02f
Don't use BlitARGBto555PixelAlpha() for SDL_PIXELFORMAT_ARGB1555
...
This didn't properly take into account destination alpha.
Fixes https://github.com/libsdl-org/SDL/issues/8401
(cherry picked from commit 1aea43846e )
2024-09-25 21:58:20 -07:00
Sam Lantinga
1b26b54402
Verify that the subsystems were successfully initialized
...
(cherry picked from commit 0548050fc5 )
2024-09-15 12:05:31 -07:00
Sam Lantinga
f5ed158d1f
SDL_XINPUT_Enabled() returns false until XInput DLL is successfully loaded
...
We make sure we initialize XInput first, so that anything checking whether it's enabled gets a valid result based on whether we were able to load it or not.
(cherry picked from commit 8f46cb771c )
2024-09-06 11:24:43 -07:00
Sam Lantinga
5aadfd4eaf
Fixed race condition at startup that could cause a crash in the XInput driver
...
(cherry picked from commit 6d7c211faf )
2024-09-06 10:17:37 -07:00
Sam Lantinga
224a37faab
Fixed memory leak in testthread
...
(cherry picked from commit dfe6efcd2d )
2024-09-05 07:11:56 -07:00
Sam Lantinga
a75227aaeb
Use atomic variables for thread communication
...
Fixes https://github.com/libsdl-org/SDL/issues/10711
(cherry picked from commit a0f36fb85b )
2024-09-05 07:09:27 -07:00
Sam Lantinga
2834d8b3b7
Revert "Sync SDL2 wiki -> header"
...
This reverts commit f23cc950f5 .
This edit was incorrect.
2024-09-04 09:15:20 -07:00
Sam Lantinga
10b4a79379
Make newer DRM and GBM functions optional
...
Fixes https://github.com/libsdl-org/SDL/issues/10675
(cherry picked from commit d501f6db07 )
2024-09-02 11:11:02 -07:00
Sam Lantinga
0de601dc64
Added support for the Retro-bit Controller in PS3 mode
...
Fixes https://github.com/libsdl-org/SDL/issues/10557
(cherry picked from commit e75175129f )
2024-08-19 16:47:54 -07:00
Sam Lantinga
a3546e5069
PSP: Throw SDL_EVENT_QUIT event upon exit (thanks @sharkwouter!)
...
Closes https://github.com/libsdl-org/SDL/pull/10565
(cherry picked from commit 59ac561062 )
2024-08-18 08:30:03 -07:00
Sam Lantinga
4bd07ea9a4
Revert "PSP: Throw SDL_Quit event upon exit"
...
This reverts commit e52e68d160 .
2024-08-18 08:27:29 -07:00
Sam Lantinga
b360214950
Use drmModeAddFB() if drmModeAddFB2WithModifiers() fails
...
Fixes https://github.com/libsdl-org/SDL/issues/10276
(cherry picked from commit 8e99ec34bb )
2024-08-15 11:53:02 -07:00
Sam Lantinga
70890b175e
Fixed build
2024-08-13 07:39:43 -07:00
Sam Lantinga
a5bff78d81
kmsdrm: free the connector when looking for available devices
...
Fixes https://github.com/libsdl-org/SDL/issues/10499
(cherry picked from commit 1a57ea7fba )
2024-08-08 09:29:38 -07:00
Sam Lantinga
5ca0639a42
Fixed crash when the current mouse capture window is destroyed
...
Fixes https://github.com/libsdl-org/SDL/issues/10494
(cherry picked from commit 91d97a367e )
2024-08-07 12:28:53 -07:00
Sam Lantinga
1512013320
Added detail about why a file couldn't be opened (thanks mgerhardy!)
...
Fixes https://github.com/libsdl-org/SDL/issues/10484
2024-08-06 05:45:48 -07:00
Sam Lantinga
8f5d3ca57d
Added SDL_CreateRenderer to the "see also" for SDL_RenderPresent()
2024-08-05 07:58:02 -07:00
Sam Lantinga
2efbe7fa3f
Implemented left-justification in SDL_PrintString()
...
Fixes https://github.com/libsdl-org/SDL/issues/10310
(cherry picked from commit f59d66f4b1 )
2024-08-04 20:05:41 -07:00
Sam Lantinga
230f1debd0
Fixed macOS build
2024-08-01 14:11:06 -07:00
Sam Lantinga
0b6eff4167
Fixed building on macOS with OpenGL disabled
...
Fixes https://github.com/libsdl-org/SDL/issues/6226
2024-08-01 13:57:26 -07:00
Sam Lantinga
7fdf794377
Fixed crash with joystick rumble after disconnection
...
This prevents continuing a rumble after the first one fails, and fixes a long standing crash issue if rumble is started immediately before the controller is disconnected.
Thanks to @AntTheAlchemist for the key bug report that showed what was happening here.
Fixes https://github.com/libsdl-org/SDL/issues/10422
(cherry picked from commit 0a924b185d )
2024-07-29 13:50:55 -07:00
Sam Lantinga
15c73f5bfe
Fixed whitespace
...
(cherry picked from commit 67b973b5fa )
2024-07-29 12:52:40 -07:00
Sam Lantinga
b057159db7
Make sure SDL subsystems are initialized before starting threads
2024-07-12 09:09:57 -07:00
Sam Lantinga
b378bc5c83
Make sure timers are initialized before any threads start
...
This prevents race conditions and divide by zero if multiple threads start using the time functions simultaneously.
2024-07-12 08:00:04 -07:00
Sam Lantinga
b13dcf24d6
Fixed OS/2 build
2024-07-11 13:55:24 -07:00
Sam Lantinga
551164812a
Added TLS initialization and shutdown functions
...
Fixes https://github.com/libsdl-org/SDL/issues/8576
(cherry picked from commit b517043936 )
2024-07-11 13:10:15 -07:00
Sam Lantinga
3899cb1696
Revert "Fixed build"
...
This reverts commit 026dfc6305 .
Fixed build again!
2024-07-08 14:46:15 -07:00
Sam Lantinga
026dfc6305
Fixed build
2024-07-08 11:39:08 -07:00
Sam Lantinga
e22c89536a
Make sure we're actually running on Windows before using D3D renderers
2024-07-08 11:28:29 -07:00
Sam Lantinga
4c44450258
Improved detection of Nintendo Switch Pro controller report mode
...
Fixes https://github.com/libsdl-org/SDL/issues/10182
(cherry picked from commit 4ba2e9f4f4 )
2024-07-06 05:30:08 -07:00
Sam Lantinga
a4cbba1276
Try to create an accelerated renderer for the window surface even if SDL_HINT_RENDER_DRIVER is "software"
...
This case is properly handled inside SDL_CreateWindowTexture()
Fixes https://github.com/libsdl-org/SDL/issues/10155
(cherry picked from commit c7ed78a9ef )
2024-07-05 08:23:17 -07:00
Sam Lantinga
845ebbbe96
Added support for the ROG RAIKIRI
...
(cherry picked from commit a04596c9a7 )
2024-07-03 13:54:31 -07:00
Sam Lantinga
cd8ea5e3f1
Only use the default gamepad mapping if an automatic mapping isn't available
...
Fixes https://github.com/libsdl-org/SDL/issues/10162
(cherry picked from commit 0f8054cf87 )
2024-07-03 11:47:20 -07:00
Sam Lantinga
288aea3b40
Fixed build
2024-06-29 11:22:29 -07:00
Sam Lantinga
0d9e54237c
Respect SDL_HINT_RENDER_DRIVER when creating an accelerated window surface
...
Fixes https://github.com/libsdl-org/SDL/issues/10061
(cherry picked from commit 2a58e7b11c )
2024-06-29 11:13:01 -07:00
Sam Lantinga
a3f0c373d3
Clean up any renderer in SDL_DestroyWindowSurface()
...
Also added an automated test to verify window surface functionality.
Fixes https://github.com/libsdl-org/SDL/issues/10133
(cherry picked from commit a522bfe3f1 )
2024-06-29 11:04:15 -07:00
Sam Lantinga
ee3b2b7de1
Make sure we don't try to use the XInput DLL after it's unloaded
...
Steam ran into a crash SDL_XINPUT_JoystickDetect() with XINPUTGETCAPABILITIES being NULL. I'm not sure how that happened, and there may still be a race condition if this is a multi-threaded issue, but at least this is more correct.
(cherry picked from commit 0ae4fd0ec9 )
2024-06-26 15:55:31 -07:00
Sam Lantinga
88bbab275f
Fixed building with older libdrm headers
...
(cherry picked from commit 8949de3978 )
2024-06-26 15:55:08 -07:00
Sam Lantinga
ecde0ca6b6
Fixed building with the steamrt/scout SDK
...
(cherry picked from commit 4b82bed259 )
2024-06-26 15:54:53 -07:00
Sam Lantinga
64d4baccb5
Fix building with the steamrt/scout SDK
...
(cherry picked from commit b552f26e6a )
2024-06-26 15:54:20 -07:00
Sam Lantinga
5a26b26880
Fixed requesting USB permission on Android 14 (thanks @ikhoeyZX!)
...
Fixes https://github.com/libsdl-org/SDL/issues/9831
(cherry picked from commit 8ab1ffca8a )
2024-06-17 15:11:48 -07:00
Sam Lantinga
a6fdd155fb
Pass through the original name used by the Steam Virtual Gamepad
...
Proton uses this on Linux to determine what the XInput slot is for the gamepad. Other applications will get the real controller name and VID/PID by virtue of the code in SDL_steam_virtual_gamepad.c
(cherry picked from commit 361cae0874 )
2024-06-17 12:14:59 -07:00
Sam Lantinga
169f77ed5e
Re-enable full controller reports for Joy-Con controllers
...
When they are in simple report mode, the thumbstick gets turned into a digital hat, so let's use them in full report mode.
(cherry picked from commit bf27269952 )
2024-06-13 00:02:00 -07:00
Sam Lantinga
6b9bf71133
Try to guess the type of a Nintendo Switch controller if we can't read the device info
...
(cherry picked from commit 6619de8f24 )
2024-06-13 00:01:40 -07:00
Sam Lantinga
f1b19aa744
Ignore spurious reply packets when reading Nintendo Switch controller reports
...
(cherry picked from commit 5ee9a840b1 )
2024-06-12 23:59:07 -07:00
Sam Lantinga
477c718744
Added wiki-style documentation for SDL_JoystickGUID
2024-06-08 08:50:24 -07:00
Sam Lantinga
7fce9f3fd0
Minor cleanup for SDL style
2024-06-07 09:26:55 -07:00
Sam Lantinga
2e8bd8f1f3
Fixed build
2024-06-07 09:05:10 -07:00
Sam Lantinga
f520062ad1
Fixed PlayStation detection interrupting input for the Logitech K400 keyboard
...
Also added the Logitech Chillstream to the list of PS3 controllers and fixed the right shoulder axis.
(cherry picked from commit b6d7adfec1 )
2024-06-05 19:29:48 -07:00
Sam Lantinga
e2f597de84
Added support for the Saitek Cyborg V.3 Rumble Pad in PS3 mode
...
(cherry picked from commit b6ca360228 )
2024-06-05 19:28:26 -07:00
Sam Lantinga
997ef88605
Sort joystick drivers in Android.mk
...
(cherry picked from commit 27728db41d )
2024-06-05 12:09:45 -07:00
Sam Lantinga
f725ce492c
Build the dummy joystick driver on Android
...
Fixes https://github.com/libsdl-org/SDL/issues/9978
(cherry picked from commit 69bfa5c951 )
2024-06-05 12:09:39 -07:00
Sam Lantinga
35d719ef25
Added support for the Razer Kitsune in PS5 mode
...
(cherry picked from commit e3beaa1972 )
2024-05-31 15:18:46 -07:00
Sam Lantinga
51ba036e64
Verify that the timer callback is passed the correct parameters
2024-05-30 16:53:28 -07:00
Sam Lantinga
8bc47dc3f1
Fixed compiling SDL_platform_defines.h on macOS with older compilers (thanks @sezero!)
...
Fixes #9632
(cherry picked from commit 36015ad5e5 )
2024-05-27 14:38:41 -07:00
Sam Lantinga
964e0c9b47
Added Linux bindings for the Qanba Drone 2 Arcade Joystick
...
(cherry picked from commit 98a9ca5e32 )
2024-05-23 15:35:03 -07:00
Sam Lantinga
efaa58732a
Don't enable enhanced report mode for Bluetooth Nintendo Switch controllers by default
...
This breaks applications using them in DirectInput mode, which isn't worth just getting battery status. We'll turn on enhanced mode if the application enables sensors.
(cherry picked from commit a87fa020ac )
2024-05-10 12:19:18 -07:00
Sam Lantinga
8c92af5e54
Added a Windows mapping for the SPEEDLINK STRIKE Gamepad
...
Fixes https://github.com/libsdl-org/SDL/issues/9705
(cherry picked from commit 01d560df50 )
2024-05-06 10:11:39 -07:00
Sam Lantinga
1caa427035
Fixed building with GDK (thanks @Romans-I-XVI!)
2024-04-30 10:20:55 -07:00
Sam Lantinga
67c60e0b9c
Fixed build error (thanks @sezero!)
...
(cherry picked from commit ac5a61cd60 )
2024-04-25 09:45:36 -07:00
Sam Lantinga
59cc43ccbb
Added a note about WIN+V for future reference (thanks @orconut!)
2024-04-24 09:38:26 -07:00
Sam Lantinga
33af02ae68
Fixed Win+V handling (pasting from clipboard history) on Windows (thanks @ocornut!)
...
Fixes https://github.com/libsdl-org/SDL/issues/9613
2024-04-24 09:22:57 -07:00
Sam Lantinga
4e29be814e
Fixed compilation with C89 (thanks @d-s-a!)
...
Closes https://github.com/libsdl-org/SDL/pull/9564
2024-04-17 07:47:29 -07:00
Sam Lantinga
effc16954f
Fixed build
2024-04-15 09:32:00 -07:00
Sam Lantinga
5fff9bc1e3
Don't fail joystick initialization if udev isn't available
2024-03-25 11:45:41 -07:00
Sam Lantinga
a9ac349846
Poll for the initial controller state when using DirectInput
...
This fixes getting a deflected axis as the first buffered input reading on a generic USB controller (G-Shark GS-GP702)
(cherry picked from commit 70b0d33106 )
2024-03-20 10:41:56 -07:00
Sam Lantinga
2d6c100058
Added a mapping for the Defender Joystick Cobra R4 (thanks @kotenok2000!)
...
(cherry picked from commit d972244d3a )
2024-03-17 12:14:17 -07:00
Sam Lantinga
07f04bb35e
Use the CRC as part of the unique key for mappings
...
(cherry picked from commit 4697153d1e )
2024-03-17 12:14:11 -07:00
Sam Lantinga
b8daf14fe5
If a mapping specifies a crc, don't match for controllers that don't have that CRC
...
The CRC is used to distinguish between different controllers that have the same VID/PID, so if the CRC doesn't match, it's probably a different controller that we don't know about.
Fixes https://github.com/libsdl-org/SDL/issues/9265
(cherry picked from commit 30e93b40c2 )
2024-03-14 13:36:12 -07:00
Sam Lantinga
e54774faca
Removed incorrect mapping for a HORI controller
...
This broke support for the Hori Fighting Stick EX2, which gets a good mapping if the automatic mapping is allowed to create one.
If the original controller needs a mapping, it should be added with a crc, since that VID/PID combination is used by several HORI controllers.
(cherry picked from commit d79f865251 )
2024-03-11 17:14:11 -07:00
Sam Lantinga
66054a6515
Turn HIDAPI joystick support off by default on mobile platforms
...
On Android, HIDAPI prompts for permissions and acquires exclusive access to the device, and on Apple mobile platforms it doesn't do anything except for handling Bluetooth Steam Controllers.
Fixes https://github.com/libsdl-org/SDL/issues/9241
(cherry picked from commit e3cf2e4794 )
2024-03-10 15:03:47 -07:00
Sam Lantinga
cd197be53b
Fixed crash if joystick functions are passed a NULL joystick
...
In particular this affects the doomsday game engine if no joystick or
gamepad is attached.
(cherry picked from commit 0dfdf1f3f2 )
[smcv: Also included minor adjustment from https://github.com/libsdl-org/SDL/pull/9233 ]
2024-03-09 08:40:49 -08:00
Sam Lantinga
528b71284f
Added support for the 6-button SEGA Mega Drive Control Pad for Nintendo Online
2024-03-08 12:38:05 -08:00
Sam Lantinga
26054d9934
Fixed mapping for the Sanwa Supply JY-P76USV controller
...
(cherry picked from commit 57a160c9ab )
2024-03-06 20:54:33 -08:00
Sam Lantinga
bdc7ad8f56
Keep track of whether the Android on-screen keyboard was opened by the application
...
Fixes https://github.com/libsdl-org/SDL/issues/9202
(cherry picked from commit edbcef11ff )
2024-03-05 13:53:56 -08:00
Sam Lantinga
75c5cff0bf
Fixed "${folder^}Activity: bad substitution" with bash 3.2 on macOS
...
(cherry picked from commit c36f773eb4 )
2024-03-05 13:47:59 -08:00
Sam Lantinga
a842bc29fa
Uppercase the first letter of the class name to match Java conventions
...
Fixes https://github.com/libsdl-org/SDL/issues/8930
(cherry picked from commit 4189edaeb7 )
2024-03-03 16:57:16 -08:00
Sam Lantinga
d35dee76c7
Added a mapping for the Sanwa Supply JY-P76USV controller
...
Fixes https://github.com/libsdl-org/SDL/issues/8644
(cherry picked from commit ccd309c433 )
2024-03-03 12:23:59 -08:00
Sam Lantinga
9e1e0fb92f
Removed the mapping for the G-Shark GS-GP702
...
This uses the same chipset as the DragonRise Inc. Generic USB Joystick, which many manufacturers use for different products with different mappings.
In order to add a mapping for a controller using this chipset, we need a unique crc for the device name.
(cherry picked from commit 8d8076263e )
2024-03-03 12:20:43 -08:00
Sam Lantinga
627e15871a
SDL_GameControllerGetAppleSFSymbolsNameForAxis() returns NULL if the symbol isn't found
2024-03-03 11:56:29 -08:00
Sam Lantinga
b87116ff03
SDL_GameControllerGetAppleSFSymbolsNameForButton() returns NULL if the symbol isn't found
...
Fixes https://github.com/libsdl-org/SDL/issues/9071
2024-03-03 11:09:03 -08:00
Sam Lantinga
05f6709617
If the viewport changes the cliprect should be updated
...
The clip rectangle is defined to be viewport relative, so if the viewport changes we need to update it.
Fixes https://github.com/libsdl-org/SDL/issues/9094
(cherry picked from commit d0af01e7d4 )
2024-02-28 08:48:40 -08:00
Sam Lantinga
69fb802a90
Fixed Visual Studio warning 4459
...
(cherry picked from commit d135daad5b )
2024-02-21 23:33:11 +03:00
Sam Lantinga
903d888cc3
Convert mouse wheel coordinates to renderer view
...
Fixes https://github.com/libsdl-org/SDL/issues/9097
2024-02-20 15:44:26 -08:00
Sam Lantinga
120b8d4189
Revert "wayland: Don't initialize OpenGL when the window flags didn't specify it"
...
This reverts commit f522c5380c .
We don't want this change for SDL2, and we're doing further investigation for SDL3.
Fixes https://github.com/libsdl-org/SDL/issues/9035
2024-02-12 16:01:48 -08:00
Sam Lantinga
6669d04ea6
Fixed error: unused variable 'axes' [-Werror,-Wunused-variable]
...
(cherry picked from commit 814a94c349 )
2024-02-12 11:18:41 -08:00
Sam Lantinga
971c5c2610
Explicitly retain and release NSObjects in C structures
...
Fixes https://github.com/libsdl-org/SDL/issues/9021
Fixes https://github.com/libsdl-org/SDL/issues/9042
(cherry picked from commit 42cdbf6b21 )
2024-02-12 10:21:34 -08:00
Sam Lantinga
646cccede7
Guarded ElementAlreadyHandled with #ifdef ENABLE_PHYSICAL_INPUT_PROFILE (thanks @Donione!)
...
Fixes https://github.com/libsdl-org/SDL/issues/9033
(cherry picked from commit 3ebbf0f409 )
2024-02-09 16:12:57 -08:00
Sam Lantinga
93d7b6e50c
Redefine XINPUT_CAPABILITIES_EX as an SDL typedef
...
mingw-w64 has added this from Proton (which added this from SDL), so we need to re-define it as a local symbol to avoid conflicting with mingw-w64 headers.
Fixes https://github.com/libsdl-org/SDL/issues/9031
(cherry picked from commit b7c61569f8 )
2024-02-09 01:28:15 -08:00
Sam Lantinga
40b61b81f1
Added VIDPID for OpenFFBoard wheel (thanks @groybe!)
...
Closes https://github.com/libsdl-org/SDL/pull/7987
(cherry picked from commit 26e947f8ea )
2024-02-07 16:35:49 -08:00
Sam Lantinga
fc787a41dc
vulkan_metal.h: Make compatible with ObjC ARC (thanks @jmroot!)
...
(re)Fixes #6598
We need to remember to apply this again once we update from upstream headers.
(cherry picked from commit e67e0c5d55 )
2024-02-02 18:31:14 -08:00
Sam Lantinga
05bb182a53
Don't test 10-bit pixel format conversion
...
We either need to explicitly test using the sRGB colorspace or update the tests for HDR10 color conversion. We'll just disable them for now, as these formats aren't commonly used in games.
(cherry picked from commit f9c57e16b0 )
2024-02-02 18:26:01 -08:00
Sam Lantinga
8eed915dfa
Don't use the system iconv on Apple mobile platforms
...
Fixes https://github.com/libsdl-org/SDL/issues/8964
(cherry picked from commit d6a48e4958 )
2024-02-01 15:55:00 -08:00
Sam Lantinga
8ce6fb2513
Use the exact motion associated with the warp
...
When Windows DPI scaling is enabled, the warp coordinates will be modified, so make sure we send exactly the coordinates that the warp attempted.
Fixes https://github.com/libsdl-org/SDL/issues/8940
2024-01-30 11:11:10 -08:00
Sam Lantinga
c55bd24827
Fixed testautomation log callback calling convention
...
(cherry picked from commit 9f7eb6c4c1 )
2024-01-27 22:44:55 -08:00