Log

Author Commit Date CI Message
Anonymous Maarten 44903d8a 2023-07-22T21:20:34 SDL_atomic.h: __ARM_ARCH is not always defined for an arm platform e.g. riscos toolchain (cherry picked from commit 8105f1d5b5b83328f4d0017a562674efca821077)
Ozkan Sezer e3f90c60 2023-07-17T00:10:50 remove unused vulkan/*.hpp files. (cherry picked from commit 611b3dd1fd7aec30ba9c830c7c5f8a0cdbaf9ff5)
Ozkan Sezer 8cdc2b3e 2023-07-25T20:51:32 update docs/README-os2 after the last os/2 audio patch.
Ozkan Sezer b4d87654 2023-07-25T11:40:02 os2 audio refactoring and capture support - Fixed audio device detection and usage. - Implemented audio capture support - Refactored buffer handling to separate pointers to fill and drain buffers. Based on patches by josch1710 and Lars Erdmann: https://github.com/bitwiseworks/SDL2-os2/pull/7 (cherry picked from commit 890bee64a4494b8575c53c68adfaf7c594d07c27)
Anonymous Maarten e6f044dd 2023-07-22T17:36:02 ci: bump mymindstorm/setup-emsdk to latest tag
Weng Xuetian 2eb73e24 2023-07-20T12:04:01 Remove the unimplemented CloseIC in fcitx module This call is actually a left-over when porting from fcitx4 service to the new org.freedesktop.portal.Fcitx supported by both fcitx4/fcitx5. CloseIC is actually never a part of the new interface on org.freedesktop.portal.Fcitx. It cause any issue user visible effect.
Sam Lantinga fb57ba76 2023-07-17T17:08:17 Fixed LED pending check failing when the controller timestamp is very large In this case we know the controller has been on for a while and the Bluetooth connection LED cycle is complete. Also fixed the timestamp being zero the first time it is checked (cherry picked from commit bd4f155bbbdc4be34505535e4bd936ae12671925) (cherry picked from commit f7dc8c0eaa66cf33dcacb31cc3d09dee197bacbe)
Sam Lantinga 63a98d0d 2023-07-17T16:45:31 Don't send k_EPS5FeatureReportIdCapabilities to Sony PS5 controllers This report is for third party controllers only. (cherry picked from commit 16dd5f0da4ee950e9f998a757dcb4789463e67e2) (cherry picked from commit bb036ef5441f6e0374eed6a02adb9dc66273c629)
Sam Lantinga 78f11e05 2023-07-17T16:42:58 Don't tickle Bluetooth PS5 controllers in simple mode with an effects packet That will put the PS5 controller into enhanced mode, which breaks DirectInput games (cherry picked from commit 2fef0be2f646ae048e239aa6694e632081c85238) (cherry picked from commit 910dad505af1684d1a6ebce3a8a371830fd3e50b)
Sam Lantinga ac4f5dca 2023-07-12T09:53:52 Relicensed testutils to match other test code Permission granted in https://github.com/libsdl-org/SDL/commit/76a7b629bfc4869df7659c2f2e47d9253c73696f#commitcomment-121408342 (cherry picked from commit 6c2472d459602eb3c3ee109d6e8f255336109673) (cherry picked from commit a4ad293d4a184057c6dc370538ddd808ca9b0c90)
Sam Lantinga ff4fd93f 2023-07-14T10:01:04 Fixed getting the CRC of virtual joysticks without a VID/PID (cherry picked from commit b40fb5c51e2a5350ba00fbf4db86b4ae1066db92) (cherry picked from commit 6089b35706171b950f55a010bc9df2114cd7a783)
Frank Praznik 52a14998 2023-07-10T11:48:14 wayland/video: Validate the returned window display pointer before dereferencing it If, in the case where all displays has been disconnected, and some window state change occurs before an active display is re-added and finalized, the pointer returned by SDL_GetDisplayForWindow() will be null necessitating that the returned pointer be checked for validity before dereferencing it. (cherry picked from commit a999100858c10e82a397adf8d37306a4232edb32)
Anonymous Maarten 14b0b0e6 2023-07-14T15:02:10 ci: move 'set -eu' to after source_cmd
Sam Lantinga 11022c23 2023-07-11T10:17:02 Fixed crash if RAWINPUT is not initialized We shouldn't be doing any of this work in that case (cherry picked from commit dfc5e6964eca0a0813768518d08cf1c80136e896) (cherry picked from commit 9117b2e3000da4d9066dd5f2cfb1c9cbbbee6861)
Sam Lantinga cb4b41dd 2023-07-11T10:50:43 RAWINPUT_RegisterNotifications() should return int, for consistency (cherry picked from commit 1903d7b1bf6c73ef23e4d6934c9fec5246dd0b2e) (cherry picked from commit e8b6edd5a081d0b45c2ac39ab690e584a6b95a84)
Sam Lantinga 5a2d165b 2023-07-11T07:56:07 Improved RAWINPUT <-> XInput/WGI device correlation If there is only one controller slot available, assume that's the one matching new RAWINPUt devices. This will be right most of the time, and uncorrelation will fix any bad guesses. (cherry picked from commit 41882a1acb6054dc7a56fd5ff7f0a279ba1144c0) (cherry picked from commit 34c5bde3554d2a78d14eb73c14d971cee20f3108)
Sam Lantinga b7c93a2d 2023-07-10T09:15:02 Don't send k_ePS4FeatureReportIdCapabilities to Sony PS4 controllers This report is for third party controllers only, and might be causing issues with fake PS4 controllers. Reference https://github.com/libsdl-org/SDL/issues/7960 (cherry picked from commit 092a4b780ca464de71b89ffa5dc655ce256ce350) (cherry picked from commit 6bf5f5a221f971a5804062e365a281c30668dd9c)
Christopher Wellons 078e817c 2023-07-09T20:05:32 Unaligned stacks on i686-w64-mingw32, may lead to crashes (#7607) Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>(cherry picked from commit 8231278817faabdff4a232770f798684bd2e12df)
Ozkan Sezer aba2be82 2023-07-10T00:15:56 SDL_RWFromMem, SDL_RWFromConstMem: reject negative size parameters. (cherry picked from commit 0ad822eb700e64f219c1a681da2f2d0ea4c64a93)
Sam Lantinga 0dbeec44 2023-07-09T09:49:09 Re-added mappings for older Xbox One controllers on Linux The xpad kernel driver doesn't know about these controllers and ends up using BTN_C and BTN_Z and the automatic mapping doesn't work correctly. It turns out VID 0x045e and PID 0x02e0 is used by the 8BitDo SN30 Pro when connecting via Bluetooth in XInput mode. Fixes https://github.com/libsdl-org/SDL/issues/7925 (cherry picked from commit 80e1c75e1c6d330318478c1549a97aedb09e58bc) (cherry picked from commit 156c7badf542d1e83a836ef4a8e6df3909d833da)
Joshua Barnett 3f46546f 2023-07-09T00:12:32 Add kernel32 to SDL_EXTRA_LIBS required for cross-compilation to Win32 native Linking error experienced while compiling with the following toolchain due to lack of kernel32.lib https://github.com/llvm-mirror/llvm/blob/d35e5f8dded4c884ca25ca88f184e1505cad106c/cmake/platforms/WinMsvc.cmake#L317-L321
Sam Lantinga a614d8f8 2023-07-08T18:18:22 Fixed mapping BTN_TR2 to right trigger (cherry picked from commit ea60da5b94ed8ec69aad69ca46e81567ab99ed2a) (cherry picked from commit 4b1dd54a56236a41e647f129c6018c78499975b3)
Sam Lantinga bb3997d8 2023-07-08T10:24:00 Added WGI gamepad added/removed listeners for RAWINPUT This fixes WGI correlation on startup when the WGI gamepad list isn't populated yet (cherry picked from commit f047e178b610c6888212c3096c10eb3f64f31a15) (cherry picked from commit f8a0135edfb07ebe7201b764fd0aba42d600b99c)
Sam Lantinga 03512104 2023-07-07T15:55:40 Don't tickle Bluetooth PS4 controllers in simple mode with an effects packet That will put the PS4 controller into enhanced mode, which breaks DirectInput games (cherry picked from commit efed24850af2994802c28f7a257ea17c9ec97d0a) (cherry picked from commit 1f7bc08884f93ede9775cdec5ae1582796fb947c)
Sam Lantinga f2d016e3 2023-07-07T14:43:57 Lazily initialize the WGI gamepad support Initializing "Windows.Gaming.Input.Gamepad" will put Bluetooth PS4 controllers into enhanced report mode, which breaks any game using DirectInput. Let's wait to do this until absolutely necessary. (cherry picked from commit 785f57eb9102206e74ac7f9b363a37cbf037cf9d) (cherry picked from commit de849d5e6f23a7621471befb69f1b036bc346f5e)
Sam Lantinga b8582428 2023-07-08T09:32:24 Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers (cherry picked from commit a6228e7aafb66075fe8f4aaf411314fc92340499)
Sam Lantinga 46927b13 2023-07-07T09:47:03 Prefer using XInput for rumble over WGI, as it allows rumble in the background (cherry picked from commit e16a83d393ae1784040519f42c482e2641b971a2)
Sam Lantinga 3bee5cf5 2023-07-07T09:33:53 Continue running XInput detection while RAWINPUT is active This allows us to re-enable XInput correlation for RAWINPUT devices without reintroducing the controller shutdown bug for controllers using the wireless adapter in https://github.com/libsdl-org/SDL/issues/3468. Fixes https://github.com/libsdl-org/SDL/issues/7940 (cherry picked from commit a0a3957eb65e22721a124476072af0f6f5a7ca18)
Takase 03dcee17 2023-07-07T08:53:00 video(wayland): use both --icon and --icon-name for Zenity (#7897) video(wayland): use both --icon and --icon-name for Zenity Many distros ship an older version of Zenity that supports GTK3, while some distros ship newer version of Zenity which uses libadwaita. This command tries to use --icon and fall back to --icon-name when it fails. (cherry picked from commit b90343e512bb7e8a026b3f78947c67693c63ff0c)
Sam Lantinga fdcc1d59 2022-12-26T09:49:36 Fixed crash if mutex functions are used before any mutex has been created (cherry picked from commit cc49f1e279b7ef0edf30d8eeaee9e05fd079bf82) (cherry picked from commit 488a91eb401c2642f80373bfe029b4e1db275d01)
Anonymous Maarten 26335407 2023-07-05T00:15:46 cmake: explicitly disable WINDOWS_EXPORT_ALL_SYMBOLS for SDL2 This fixes the following errors when a dll attempts to link to a shared SDL2::SDL2: m.c.obj : error LNK2019: unresolved external symbol __imp___acrt_iob_func referenced in function printf m.c.obj : error LNK2019: unresolved external symbol __imp___stdio_common_vfprintf referenced in function _vfprintf_l MSVCRTD.lib(init.obj) : error LNK2019: unresolved external symbol _CrtDbgReport referenced in function _CRT_RTC_INIT MSVCRTD.lib(init.obj) : error LNK2019: unresolved external symbol _CrtDbgReportW referenced in function _CRT_RTC_INITW MSVCRTD.lib(error.obj) : error LNK2019: unresolved external symbol strcpy_s referenced in function "void __cdecl _RTC_StackFailure(void *,char const *)" (?_RTC_StackFailure@@YAXPEAXPEBD@Z) MSVCRTD.lib(error.obj) : error LNK2019: unresolved external symbol strcat_s referenced in function "void __cdecl _RTC_StackFailure(void *,char const *)" (?_RTC_StackFailure@@YAXPEAXPEBD@Z) MSVCRTD.lib(error.obj) : error LNK2019: unresolved external symbol __stdio_common_vsprintf_s referenced in function _vsprintf_s_l MSVCRTD.lib(error.obj) : error LNK2001: unresolved external symbol __C_specific_handler_noexcept MSVCRTD.lib(pdblkup.obj) : error LNK2019: unresolved external symbol _wmakepath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" (?GetPdbDllPathFromFilePath@@YAHPEB_WPEA_W_K@Z) MSVCRTD.lib(pdblkup.obj) : error LNK2019: unresolved external symbol _wsplitpath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" (?GetPdbDllPathFromFilePath@@YAHPEB_WPEA_W_K@Z) MSVCRTD.lib(pdblkup.obj) : error LNK2019: unresolved external symbol wcscpy_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned __int64)" (?GetPdbDllPathFromFilePath@@YAHPEB_WPEA_W_K@Z) MSVCRTD.lib(pdblkup.obj) : error LNK2019: unresolved external symbol __vcrt_GetModuleFileNameW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" (?GetPdbDll@@YAPEAUHINSTANCE__@@XZ) MSVCRTD.lib(pdblkup.obj) : error LNK2019: unresolved external symbol __vcrt_GetModuleHandleW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" (?GetPdbDll@@YAPEAUHINSTANCE__@@XZ) MSVCRTD.lib(pdblkup.obj) : error LNK2019: unresolved external symbol __vcrt_LoadLibraryExW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" (?GetPdbDll@@YAPEAUHINSTANCE__@@XZ)
Sam Lantinga 116a5344 2023-07-03T17:39:29 Fixed resource leak and crash at exit in the D3D11 renderer Also, for some reason ID3D11DeviceContext_OMGetRenderTargets() was failing in the second read pixels call in the "testautomation --filter render_testViewport" test. We already know the target view, so just use that. (cherry picked from commit 619f65af0c390dd10bc0e6bf9dc1227e7ecee54d) (cherry picked from commit 61808b03b5c5e2efe9b37d6c699c133d47448ea9)
Sam Lantinga f3436bc1 2023-07-03T17:09:49 The clip rect is defined in terms of the current viewport Don't use the viewport offset when setting the clip rect in the D3D12 renderer. This fixes "testautomation --filter render_testViewport" on Windows (cherry picked from commit 304d425f99b3b62e5f77ef869731bb702810a572) (cherry picked from commit bf277eb808103cb86a5af235495e866d33f87b0a)
Ozkan Sezer 5e215713 2023-07-04T02:24:28 fixed windows build after commit 7e8be3f
Sam Lantinga 699f8697 2023-07-03T16:06:59 Retry to open the clipboard in case another application has it open This fixes 'testautomation --filter clipboard_testClipboardTextFunctions' on Windows (cherry picked from commit c24496727cdd40d5c0ffdf7b6a61085ec3a2766d) (cherry picked from commit 7e8be3f2804b8dfca1ede2a4e463f8a0b2b352d5)
scribam 0352301e 2023-07-01T22:30:31 cmake: use SDL_CPU_ARM32 instead of CMAKE_GENERATOR_PLATFORM STREQUAL "ARM"
Sam Lantinga 4761467b 2023-07-01T09:56:20 Updated to version 2.28.1 for release
Ryan C. Gordon cd662ceb 2023-07-01T00:30:23 rwops: Use SetFilePointerEx on Windows for appending writes. Fixes #7900. (cherry picked from commit 769bf2ebcca8f0cbcde4ec50008942f4eda57f4a)
Sam Lantinga 7207f515 2023-06-29T16:10:55 Added Linux mapping for the Logitech Chillstream Fixes https://github.com/libsdl-org/SDL/issues/7829 (cherry picked from commit 675fc8c38f3f5685d177f0ecf7f43d57a109992e) (cherry picked from commit fc0854651becb207de28f926e0b84aedbfff8b7b)
Anonymous Maarten 5d9013be 2023-05-26T23:00:56 wayland: don't use libdecor_frame_get_* functions when header doesn't have it and we're statically linking to the library. This fixes building SDL with -DSDL_WAYLAND_SHARED=OFF (cherry picked from commit 5b5b67df203e9f8391e7e53aa5de54abf14c482e) (cherry picked from commit e6f635ca172027f57542b715787ac5b50f3f6d33)
Sam Lantinga 4af1f6ed 2023-06-29T11:25:54 Fixed build (cherry picked from commit 099e53f3a51d17155063977d5f4b40d0f07f73a2)
Sam Lantinga 446fb302 2023-06-28T19:15:11 Added support for the Nintendo Online Famicom controllers (cherry picked from commit baa9c57581490bd9cdefabb213e7cb6d0c30b296) (cherry picked from commit 0f940cb6ce350631b53c77360adffe276cad4660)
Sam Lantinga ba170daf 2023-06-27T16:07:56 Don't crash if SDL_MapRGB() and SDL_MapRGBA() are passed a NULL format (cherry picked from commit fadc4916a9bcc410c2148a91bf0adf742410a4ba) (cherry picked from commit 0ba93e4aac8232de45e2a6df4d0a42ec53f53ec3)
Sam Lantinga 7fa2ddb0 2023-06-27T07:48:42 Fixed Nintendo Switch Pro controllers that don't have readable user calibration (cherry picked from commit 9ee1200e6f8fecd394d9355781af40ac90851546) (cherry picked from commit 170428b107bdc004eb44fa9818eb14c2aa8798d1)
Narr the Reg 9aca2a43 2023-06-26T10:54:52 hidapi: switch: Handle MCU input reports (cherry picked from commit 425062c123f88b6890277905714e02c9375f5b5e) (cherry picked from commit 950ff0056a74a2cb6f6ff0b5ebaa9c16c305234a)
Sam Lantinga 491fba1d 2023-06-24T15:38:38 SDL_FindFreePlayerIndex() will always return the next available player index Fixes https://github.com/libsdl-org/SDL/issues/7868 (cherry picked from commit 87e916dd214866af9cfd67eb4618918bc8b0f1b4) (cherry picked from commit 38619bb28db83bc5844d13d99b3072496adcd498)
Sam Lantinga c27f3ead 2023-06-21T14:11:41 Removed 100 ms hitch when querying third party Nintendo Switch controllers that don't respond to request for info (cherry picked from commit 8acf72965031a5101f478eccd69d092001134184)
Sam Lantinga 1429e525 2023-06-21T10:28:45 Use default sensor calibration if we can't read it from the Nintendo Switch controller Fixes https://github.com/libsdl-org/SDL/issues/7830 (cherry picked from commit 3694dabe7c16bb8e76f6f4820a1987ce16c4a3c9) (cherry picked from commit dfbdaca2b8a2bc4c7e1871698066b62b42806a46)
Sam Lantinga de6963ea 2023-06-21T08:42:38 Apply DPI scale to mouse coordinates in SDL_WarpMouseInWindow() Fixes https://github.com/libsdl-org/SDL/issues/7855 (cherry picked from commit 657c346556f18044dac04957ee7894220e86ac8e)
Sam Lantinga ffa78e6b 2023-06-20T11:00:20 Updated to version 2.28.0 for release
Simon McVittie 4ce5c3a6 2023-06-20T13:22:55 ibus: Handle error when getting the D-Bus machine ID It is possible for retrieving the machine ID to fail, either because dbus was installed incorrectly (machine ID absent or corrupt), or in 32-bit builds, because stat() on the machine ID fails with EOVERFLOW if it has an out-of-range timestamp or inode number. dbus has historically treated this as a faulty installation, raising a warning which by default causes the process to crash. Unfortunately, dbus_get_local_machine_id() never had a way to report errors, so it has no alternative for that (bad) error handling. In dbus >= 1.12.0, we can use dbus_try_get_local_machine_id() to get the same information, but with the ability to cope gracefully with errors. ibus won't work in this situation, but that's better than crashing. (cherry picked from commit 91198baed40d5709020c3001e9234f4580df696a) Mitigates: https://github.com/ValveSoftware/steam-for-linux/issues/9605 Signed-off-by: Simon McVittie <smcv@collabora.com>
Sam Lantinga a3d4fd71 2023-06-19T08:36:30 Added support for blitting SDL_PIXELFORMAT_INDEX1LSB Fixes https://github.com/libsdl-org/SDL/issues/7844
Sam Lantinga d97423eb 2023-06-18T12:19:54 Fixed DualSense controllers not being picked up by the HIDAPI driver The hidraw device may take additional time to get the correct permissions for us to open it. In my tests on Steam Deck hardware, this ranges between 5-8ms. (cherry picked from commit c6ee9780df4286f66c38f3fa9732daa9afe0a8a3)
Sam Lantinga 333a03f1 2023-06-17T13:15:07 We don't know in advance whether a device is connected over Bluetooth in SDL2
Sam Lantinga 5b8fc907 2023-06-17T12:42:55 Added support for the GameSir G4 Pro We can't read device info or IMU calibration from this controller, and it has no gyro or accelerometer, but is otherwise perfectly functional. (cherry picked from commit f168f9c81326ad374aade49d1dc46f245b20d07a)
Eric Wasylishen 76392f4f 2023-01-11T19:45:01 Handle DPI scaling in SDL_GetWindowSurface Fixes DPI awareness of testdrawchessboard (previously, the surface was being created in points instead of pixels, resulting in the demo app only drawing in a corner of the screen on High-DPI displays) *_CreateWindowFramebuffer()/*_UpdateWindowFramebuffer(): are updated to use SDL_GetWindowSizeInPixels instead of SDL_GetWindowSize() or window->w/window->h. Most of the _CreateWindowFramebuffer backends are untested except for Windows. Fixes #7047 (cherry picked from commit 67c91353e01f6f2c0cc80c17eeddbad6def7cb01)
Sam Lantinga 3a5abee5 2023-06-14T15:16:21 Removed unused function (cherry picked from commit 73927b09480fd5d664f7077a70a8b6df318cdd2d)
Sam Lantinga e7ee375f 2023-06-14T10:15:06 Fixed third-party Nintendo Switch Pro controllers shutting down when we try to set the home LED. This fixes the PDP Afterglow Wireless Deluxe Controller. (cherry picked from commit 0c16f4faf00eb573d051cac7d60ed8dd22e5596a)
Sam Lantinga 4aec5498 2023-06-13T22:40:51 Allow switching licensed Nintendo Switch Pro controllers into gyro input mode (cherry picked from commit 8c95bd814bf1cf0ea1f12aa724938176a7dfd780)
Sam Lantinga 271e03f0 2023-06-13T22:20:58 Added support for the PowerA Fusion Pro Wireless Controller in Bluetooth mode This controller shows up with a VID/PID of 0, but has full functionality over Bluetooth (cherry picked from commit cdfc0c5a3314e4e0cd5152feddd8950c7eb797f1)
Sam Lantinga d4f9be44 2023-06-13T19:44:26 Updated to version 2.27.1 for release candidate
Sam Lantinga 1f5b21ea 2023-06-13T16:53:10 Removed more Linux Xbox mappings in favor of the automatic mapping This fixes the Xbox Series X share button on Linux 5.x kernels. (cherry picked from commit 0f4b15e16b7f07a46db6dc8e651f8c1849d658c5)
Sam Lantinga 35c78849 2023-06-13T16:41:52 Use the automatic mapping instead of a hardcoded one for Xbox controllers on Linux This is much more robust and able to dynamically create a mapping for Xbox One S, Xbox Series X, and Xbox Elite 2 controllers. (cherry picked from commit 9567989eb3ce9c858f0fe76806c5ccad69da89ba)
Sam Lantinga 3f6c4ec6 2023-06-13T16:49:33 Cleanup for previous change, fixing typos, etc. (cherry picked from commit 883b0f4071687f2e5c8329963f97504e9679394b)
Sam Lantinga fc72f12e 2023-06-13T16:40:30 Added automatic mapping support for Xbox controllers on the 6.x Linux kernels This automatically adds support for the share button and paddles when present. (cherry picked from commit db1d4d3d76f5e21b2547463710b513fe0ebd7fad)
Ozkan Sezer 681f67d3 2023-06-14T00:25:50 fixed build after commit d2372c853843def01b7adb9872cbb89b0d6079ec.
Sam Lantinga d2372c85 2023-06-13T10:06:36 Added automatic mapping for Xbox Elite paddles using the xpadneo driver We can't actually tell yet whether a controller has paddles, so this code isn't effective, but I'll file an upstream issue and see if we can get that resolved. (cherry picked from commit b0677f476fa43f4a113b04a959228fd38f95d740)
Sam Lantinga 7db23f4e 2023-06-13T10:05:19 Fixed joystick vendor detection in Linux automatic gamepad mapping (cherry picked from commit 071d1e29dd4f80605932f320aa2e05fda383944c)
Simon McVittie 36ff6327 2023-06-09T13:24:21 linux: Improve gamepad mapping heuristic to accept Android conventions This heuristic for gamepads without a more specific mapping already tried two incompatible conventions for handling triggers: the Linux Gamepad Specification uses hat switch 2 for the triggers (for whatever reason), but the de facto standard set by the drivers for older Xbox and Playstation controllers represents each trigger as the Z-axis of the nearest analog stick. Android documentation encourages Bluetooth gamepad manufacturers to use a third incompatible convention where the left and right triggers are represented as the brake and gas pedals of a driving simulator controller. The Android convention also changes the representation of the right stick: instead of using X and Y rotation as a second pair of axes, Android uses Z position as a second horizontal axis, and Z rotation as a second vertical axis. Try to cope gracefully with all of these. This will hopefully resolve the issue described in #5406 (when using unpatched kernels). Signed-off-by: Simon McVittie <smcv@collabora.com> (cherry picked from commit cf1dc66e2cfc7a65374c5fea681dd31c50363a2c)
Simon McVittie 26a38a0b 2023-06-09T13:06:30 linux: Reduce magic numbers when mapping gamepad axes The bitfield `mapped` has two different sets of meanings, depending whether we're setting up the triggers or the d-pad. Represent them as symbolic constants rather than opaque integers. Signed-off-by: Simon McVittie <smcv@collabora.com> (cherry picked from commit c4d49fadd4500cb522b2a98e5a42d024c566d8bf)
Sam Lantinga b3e1fd97 2023-06-12T16:57:41 Fixed enumerating Steam Controllers on iOS (cherry picked from commit dec0dbff13d4091035209016eb2d0dd82c9aba58)
Sam Lantinga c77aaa5d 2023-06-12T15:39:57 Fixed n3ds build (cherry picked from commit d95dbe78bb7a5087ecfb8d301417b1108d868738)
Sam Lantinga e4e0a129 2023-06-12T15:26:34 Reduce the chance of destroying the joystick mutex while it's in use Fixes https://github.com/libsdl-org/SDL/issues/7811 (cherry picked from commit 6390165fd4c193631d6780758a4aeec0d02b90eb)
Ryan C. Gordon 2afb49ba 2023-06-11T12:43:47 cocoa: Warp mouse to center of window before enabling relative mouse. This prevents the case where the mouse might be at the edge of the window when enabling relative mode, which confuses macOS, at it might believe the user is attempting to resize the window. Fixes #6994.
Ozkan Sezer 154ad6fa 2023-06-10T20:50:10 SDL_dynapi.c: minor cosmetics.
Sam Lantinga 2aa8525e 2023-06-10T09:29:09 Fixed build
Sam Lantinga 36033e38 2023-06-10T08:54:36 Make it clear that you can't mix 2D rendering and the window surface API Also added functions to query and destroy the window surface so you can switch between modes if you want. See https://github.com/pygame-community/pygame-ce/issues/2190 for more details.
Sam Lantinga 320f3fff 2023-06-09T18:41:21 Fixed querying device info on the MOBAPAD M073 The query packet needs to contain valid rumble data in order to be accepted by the controller. Fixes https://github.com/libsdl-org/SDL/issues/7788 (cherry picked from commit 5490873daa12a57ff4b36090f25f04530323c6e4)
Sam Lantinga 30b4d90f 2023-06-09T17:34:12 Only update the serial number if it hasn't already been set This fixes the serial number for Nintendo Switch Pro, which is queried from the hardware in device initialization, and was later clobbered by the USB string which isn't correct. (cherry picked from commit 2042e9c4e3cba6ffa9c34abac14828e31365f98b)
Sam Lantinga 1cdd6dc8 2023-06-09T14:34:59 Fixed reading input from the Razer Atrox Arcade Stick using Windows Gaming Input (cherry picked from commit 172cfca51332a845abf9c141ae56aa121fe4ada5)
Ozkan Sezer f5b3247a 2023-06-08T03:40:32 further mouse relative motion fix for os/2 (thanks Andrey Vasilkin)
Ryan C. Gordon aa536217 2023-06-07T15:42:22 x11: check if window size/position has changed during SDL_ShowWindow. Fixes #4216. (cherry picked from commit 49b5cfa6c5cb9bb8cecce508e12fa7f8e0cc302f)
Anonymous Maarten 14f4fd3f 2023-06-07T20:35:15 git commit -m "cmake: set maximum policy to 3.5 This fixes the following warning when configuring with CMake 3.27+: ``` CMake Deprecation Warning at CMakeLists.txt:3190 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. ```
Ozkan Sezer b1324fbc 2023-06-05T11:50:50 fixed os/2 mouse relative motion not working (thanks Andrey Vasilkin,) for issue reported at https://github.com/bitwiseworks/SDL2-os2/issues/5
Sam Lantinga 4700fbcb 2023-06-04T05:37:06 Don't bother re-encoding Latin1 characters in the ASCII range (cherry picked from commit 6150b5b3cbde0e592c4ffe822f66aa5f9c90c3d9)
Eddy Jansson 2660da6f 2023-02-28T17:50:26 Always allocate zt in output of SDL_iconv_string() Before this, the function could not be used on buffers, as it would not account for the zero-termination unless it was included in the input. (cherry picked from commit 5f5abb680523e1adedd3fca2a8e252db01fc1c52)
Sam Lantinga 7c86d96e 2023-06-04T01:01:06 Fixed SDL_iconv_string() truncation when handling SDL_ICONV_E2BIG (cherry picked from commit c369b900199f905c51edb372bd7780f67a544a8c)
Ozkan Sezer a1dea11d 2023-06-04T14:29:10 fix MSVC build error.
Sam Lantinga bfef7c30 2023-06-04T02:06:52 Only convert the result of XLookupString() if it's not already UTF-8 Fixes https://github.com/libsdl-org/SDL/issues/7766 (cherry picked from commit 491ae20d963cff397b5980b31d142d576e74becb)
Sam Lantinga b9d1c483 2023-06-03T23:55:56 Fixed building with the 16.1.4479499 Android toolchain
Sam Lantinga dc94cca8 2023-06-03T11:57:08 Fixed typo in cherry-pick (thanks @HadesD!)
Sam Lantinga 97fe777a 2023-06-03T11:39:03 Steam uses a different VID/PID for the Steam Virtual Gamepad on Windows (cherry picked from commit 6815e75cafee8e7caaacf1f428b6539c8bbc7f7d)
Sam Lantinga f1bad83a 2023-06-03T11:36:38 Revert "Fixed detection of the Steam Virtual Gamepad on macOS" This reverts commit 7aa28ce279045884653c8153a5cee99f4622af10. Steam has been updated to send a version of 1 to avoid conflicts with controllers that report a version of 0.
Sam Lantinga 7aa28ce2 2023-06-02T18:37:45 Fixed detection of the Steam Virtual Gamepad on macOS (cherry picked from commit 5fcd70578bdde3eaaa51aa4ab6c24ed08bd49db3)
Sam Lantinga c89a4606 2023-06-02T11:20:31 Fixed build if SDL_JOYSTICK_RAWINPUT_MATCHING isn't enabled (cherry picked from commit 7c55845c804e2272df8bc111dea5d3e9d11670a0)
Sam Lantinga e3bfacde 2023-06-02T11:16:07 Don't use raw input while Remote Desktop is active Raw input will not send game controller events while Remote Desktop is active, so dynamically switch between XInput and raw input when Remote Desktop state changes. Fixes https://github.com/libsdl-org/SDL/issues/7759 (cherry picked from commit 767507fcf6f4607edb413acb53a6c029863701ed)
Sam Lantinga 9c05098e 2023-06-02T09:38:18 Fixed WGI immediately being correlated with raw input devices with no input The at rest match state is 0x0000008800000000, not 0 (cherry picked from commit e8b5b4881c8eb31bb7de5adef3479305a73fb0bf)
Alibek Omarov c3952404 2023-06-02T05:59:06 hints: clarify support for comma-separated values for QtWayland orientation that's available since 2.0.22 Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
Alibek Omarov 68e3e990 2023-06-02T05:55:42 wayland: reset orientation bitmask before reading values from hint on QtWayland Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
Ozkan Sezer 7f7ea909 2023-05-31T04:50:02 testautomation_guid.c: fix integer warning in 32 bit builds.