Log

Author Commit Date CI Message
Sam Lantinga 947ad6e1 2021-07-12T17:57:21 Added support for the Xbox Series X controller on iOS and tvOS
Cameron Cawley 297ce148 2021-07-11T17:38:33 CI: Add Android builds to GitHub Actions
Brick 7fe6dbaf 2021-07-11T15:25:24 Reset rawInputEnableCount when RawInput is not supported
scribam 32e736d2 2021-07-10T11:39:51 CI: add github actions for windows x86
Ozkan Sezer 5ac81c75 2021-07-10T10:05:40 fixed typo in previous commit
Ozkan Sezer a809d626 2021-07-10T10:01:40 cmake: set SDL_JOYSTICK_RAWINPUT for windows builds Fixes: https://github.com/libsdl-org/SDL/issues/4412
Sam Lantinga 24059a19 2021-07-09T18:11:42 The RAWINPUT driver is no longer tied to HIDAPI in any way
h5p9sl e52733af 2021-07-09T13:39:05 Use CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR This allows for building with cmake's add_subdirectory() function.
Sam Lantinga f93e9047 2021-07-08T18:44:50 Implemented the timeout in hid_read_timeout() on Android This fixes detecting PS5 controllers connected over USB
Daniel Gibson e2234ee9 2021-05-16T06:33:29 CMake: Fix SOVERSION/SONAME of non-release versions When building SDL2 from git with CMake, you got libSDL2-2.0.so.1 instead of .0 (as it's the case when building with autotools). This was caused by using LT_REVISION instead of LT_MAJOR for SOVERSION. fixes #4310
Daniel Gibson c20207d7 2021-05-04T10:00:16 SDL2Config.cmake: Clean it up a bit, remove gcc-style SDL2_LIBRARIES The GCC-style SDL2_LIBRARIES were lacking the rpath on Linux, which seems to be implicitly set when linking path/to/libSDL2-2.0.so.0.* and is explicitly set in the SDL2_LIBRARIES in sdl2-config.cmake (from some autotools variable), so I removed that hack and the format remains sth like "path/to/libSDL2main.a;path/to/libSDL2-2.0.so.0.14.1". It's still in the revision history in case it turns out that some platform really needs the "-L/path/to/bla/lib -lSDL2main -lSDL2" format
Daniel Gibson 501fe465 2021-04-21T06:34:46 sdl2-config.cmake.in: Make SDL2::SDL2 work with MinGW, fixes #3665 It didn't work at all because shared libs defined in CMake with add_library() need something like IMPORTED_IMPLIB (pointing to a .dll.a or .lib for th DLLs) set to link on Windows. But even with that it didn't work because the order of the libs is very important: it must be -lmingw32 -lSDL2main -lSDL -mwindows - but with normal add_library(SDL2::SDL2 SHARED IMPORTED) libs, SDL2 itself is always linked first. So I use an "INTERFACE" library (usually used for header-only libs), which doesn't implicitly/automatically link anything so I can specify the whole order of the linked libs. (SDL2::SDL2-static is completely untested)
Daniel Gibson fac6e9f1 2021-04-21T06:27:41 sdl2-config.cmake.in: Use more CMake variables and less autotools ones this makes it easier to create a portable sdl2-config.cmake that doesn't hardcode its path (by replacing the hardcoded prefix with something like "${CMAKE_CURRENT_LIST_DIR}/../../..")
Daniel Gibson c3426961 2021-04-18T17:15:34 Enhanced SDL2Config.cmake to also work on non-Windows tested Linux; I assume most other Unices are similar; I don't have a Mac
Daniel Gibson 3ea11f9a 2021-04-18T06:23:20 Make SDL2Config.cmake export SDL2_LIBRARIES etc (on Windows) still WIP and other platforms than windows still TODO and open questions etc see https://github.com/libsdl-org/SDL/issues/4004
Vladislav Dmitrievich Turbanov f9bf1aeb 2021-07-09T00:51:16 Latest Unifont with OFL is now bundled. (#4268) * * Latest Unifont with OFL is now bundled. * * Added a Unifont license file. Co-authored-by: Vladislav Dmitrievich Turbanov <vladislav@turbanov.ru>
Hanseul Jun 557d0f82 2021-03-11T13:36:56 Commenting a false alarm in WIN_GLES_SetupWindow. When hint SDL_HINT_OPENGL_ES_DRIVER is set to "1" (e.g. for ANGLE support), assertion due to !_this->gl_config.driver_loaded can be causes while EGL is available.
Sam Lantinga d135c076 2021-07-08T13:22:41 Added SDL_GameControllerSendEffect() and SDL_JoystickSendEffect() to allow applications to send custom effects to the PS4 and PS5 controllers See testgamecontroller.c for an example of a custom PS5 trigger effect
Ozkan Sezer 073cbc40 2021-07-08T21:20:02 SDL_platform.h: define TARGET_OS_SIMULATOR as 0 if not already defined. c.f.: https://github.com/libsdl-org/SDL/issues/4475
Ozkan Sezer be41cf2d 2021-07-08T21:20:02 CMake: don't blacklist TARGET_OS_SIMULATOR for Metal configuration https://github.com/libsdl-org/SDL/commit/7fa5e95b6284f2cc7855022c9f0c2b086dcee43f enabled it.
Ozkan Sezer 97d4fe94 2021-07-08T20:55:10 removed extra whitespace.
Ozkan Sezer 3da6d2cd 2021-07-08T20:33:50 WIN_SetErrorFromHRESULT: kill CR/LF that FormatMessage sticks at the end Fixes: https://github.com/libsdl-org/SDL_mixer/issues/320
Dean Herbert 8fb95034 2021-04-02T12:52:21 Avoid warping the cursor to the center of the window when not in relative_warp_mode When relative mode is enabled and not using warp mode, the cursor is being clipped to the window. Therefore there is no reason to restore the cursor position to the center. Avoiding the warp to center simplifies mouse position event flow, as we are no longer potentially receiving mouse events for the automated movement of the cursor and can be (mostly) assured that an incoming event from the windowing system is that of external means.
Dean Herbert 4359a47b 2021-04-02T12:48:16 Simplify ClipCursor behaviour when RelativeMouseMode is enabled The implementation of clip logic for relative mode seemed to unnecessarily limit the usable area to the middle of the window, in a 2x2 pixel region. This has the adverse side effect of moving the operating system cursor to that location, even if it is in a valid location in the window. While in most scenarios this is handled correctly (by storing the original position of the cursor in the window and restoring when leaving relative mode), there are edge cases where this clip operation can cause WM_MOUSEMOVE to fire at a point in time where it counts as a relative delta from SDL's perspective.
Dean Herbert 3720e254 2021-04-02T12:48:02 Trim some stray whitespace
Sam Lantinga 17092427 2021-07-08T09:24:54 Fixed https://github.com/libsdl-org/SDL/issues/4475 -Wundef errors from clang-11.1 when targeting macOS Targeting i386 against 10.8 SDK: In file included from src/SDL_assert.c:21: In file included from src/./SDL_internal.h:52: In file included from include/SDL_config.h:33: include/SDL_platform.h:73:5: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_] ^ 1 error generated. src/joystick/iphoneos/SDL_mfijoystick.m:38:5: error: 'TARGET_OS_IOS' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_] ^ src/joystick/iphoneos/SDL_mfijoystick.m:460:5: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_] ^ 2 errors generated. src/filesystem/cocoa/SDL_sysfilesystem.m:83:6: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_] ^ 1 error generated. Targeting x86_64 against 10.12 SDK: src/video/SDL_video.c:1492:25: error: 'TARGET_OS_MACCATALYST' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_] ^ 1 error generated.
Austin Shafer 16e3bfe8 2021-06-28T11:29:16 SetDisplayMode: Call XRRSetScreenSize before setting CRTC config X11_SetDisplayMode currently calls X11_XRRSetCrtcConfig alone. This results in the monitor's viewport getting changed, but the underlying screen dimensions stay the same. The spec indicates that RRSetCrtcConfig only changes the crtc mode and has no effect on the screen dimensions, only mentioning that the new crtc must fit entirely within the screen size. For the size to change, RRSetScreenSize also needs to be called. This affects Metro Exodus on Linux, when changing the resolution in the in-game settings Metro gets stuck in a loop waiting for the size of its vulkan surface to change. Because XRRSetScreenSize is not called the screen size is never changed, the vulkan surface dimensions do not change, and Metro hangs forever watching for a surface size update that will never come. This change disables the CRTC, calls XRRSetScreenSize, and then updates the CRTC configuration. This fixes changing the resolution from the Metro settings. Tested with: Metro Exodus, Portal 2
Ozkan Sezer 118480e5 2021-07-08T17:56:14 fix permissions
Sam Lantinga 4a20dd3e 2021-07-08T07:38:18 Removed unnecessary comment, the mic button is in byte 16 on all firmware versions
Sam Lantinga 46f19c31 2021-07-08T07:23:29 Implemented mouse relative mode for iOS 14.1 and newer
Croydon 3433f3c4 2021-07-08T01:18:01 CMake: Small improvement for MinGW This is currently a small patch we have in our Conan package for SDL https://github.com/bincrafters/community/blob/4dc894cc2c4df43aabf39c212aa0a31047d183e1/recipes/sdl2/all/conanfile.py#L184 Introduced in https://github.com/bincrafters/conan-sdl2/commit/9fb93a60446914da2a0fafc692cbd175c2d5db50
Ozkan Sezer 6f0865fe 2021-07-07T23:51:32 updated os2 makefile.
Sam Lantinga 599001d4 2021-07-07T13:30:48 Revert "Removed reference to ant project." This reverts commit 0cad302346f95da770e5e1dc818f585c4ab4530d. The ant directory still exists in source control
Sam Lantinga 75a9f8e2 2021-07-07T13:06:15 Added SDL_hidapi_luna.c to the Xcode project
Sam Lantinga 430bbcb8 2021-07-07T09:49:33 Added HIDAPI support for the Amazon Luna Controller connected over USB in DirectInput mode
Sam Lantinga 863f5669 2021-07-07T08:55:16 Fixed reading thumbstick axes and mic button on the Amazon Luna Controller firmware version 305164320
Dimitriy Ryazantcev 17ed8d80 2021-07-07T16:05:35 Added HIDAPI backend for Amazon Luna Controller Model T28B69 connected via Bluetooth LE (VID:0171, PID:0419). To enter Bluetooth pairing mode hold B and Action (button with circle) buttons for 3 seconds. It works via usual HIDAPI if special filter driver is not installed: https://www.amazon.com/gp/help/customer/display.html?nodeId=GZCT4CTFHXLHEB9T With that driver installed it mimics Xbox One controller and works via XInput under Windows. Under DInput this controller is not usable at all.
Sam Lantinga 00d67620 2021-07-06T11:32:11 Added the SteelSeries manufacturer to the Nimbus+ entry on macOS
Sam Lantinga 0f00f6dd 2021-07-06T10:01:31 Ignore checkkeysthreads
Sam Lantinga 24e836b0 2021-07-06T10:00:09 Added controller mapping for the Nimbus+ controller on macOS when MFi support is not available
Ozkan Sezer 6b21a6cc 2021-07-05T20:02:02 Update config.guess and config.sub from mainstream.
Ivan Epifanov 0994a758 2021-07-01T20:36:49 Don't hardcode message length
Ivan Epifanov 3b6e9992 2021-06-23T14:57:04 Vita: remove unused variable and allow Razor perf analysis
Ivan Epifanov 656eb7df 2021-06-23T14:35:36 Vite: return system installed memory
Ivan Epifanov 89015b9c 2021-06-22T00:09:06 Vita: default window size for tests
Ivan Epifanov b55ee12f 2021-06-21T23:56:04 Vita: fix clip rectangle
Ivan Epifanov e41d3e61 2021-06-21T23:15:37 VIta: fix render clearing
Ivan Epifanov 6b122805 2021-06-21T23:14:56 Vita: proper syntax
Ivan Epifanov 32deb6f7 2021-06-21T23:14:40 Vita: fix point size
Ivan Epifanov 9d452719 2021-06-21T15:42:47 Vita: append messagebox title
Ivan Epifanov 6460151c 2021-06-21T15:03:31 Vita: add missing stub
Dimitriy Ryazantcev 39302c92 2021-06-02T14:28:33 Add Steam Virtual Gamepad and Xbox 360 Wired Controller defines instead of magic values See https://partner.steamgames.com/doc/features/steam_controller/steam_input_gamepad_emulation_bestpractices for details on what is Steam Virtual Gamepad.
Sam Lantinga 0c4ac33a 2021-06-28T14:31:27 Added support for the Razer Wolverine Tournament Edition controller
Ozkan Sezer 2143534a 2021-06-28T02:00:24 configure.ac: manually check immintrin.h with AC_COMPILE_IFELSE(). AC_CHECK_HEADER() emits warnings when configuring for non-x86, because the preprocessor check is OK but the compile check is not: configure: WARNING: immintrin.h: present but cannot be compiled configure: WARNING: immintrin.h: check for missing prerequisite headers? configure: WARNING: immintrin.h: see the Autoconf documentation configure: WARNING: immintrin.h: section "Present But Cannot Be Compiled" configure: WARNING: immintrin.h: proceeding with the compiler's result
Joshua Ashton ca383599 2021-06-27T01:49:31 Fix Anne Pro II keyboard showing up as a joystick Having used this for a couple years, I can definitely confirm that it is not a joystick.
Joshua Ashton c90bd3bf 2021-06-27T03:13:47 Add missing PS5 DualSense GUIDs Fixes my DualSense controller not being recognised as a SDL GameController which breaks Steam Input filtering causing SDL to fight for input.
Ozkan Sezer bfdea605 2021-06-26T05:56:10 avoid -Wundef warning from SDL_config_windows.h
Sam Lantinga 205b951b 2021-06-25T14:20:08 SDL_DINPUT_JoystickPresent() needs to do the full device enumeration It is called from WGI before the normal joystick detection has been run, so it needs to actually enumerate currently connected devices. We can skip the logic checking for other drivers also supporting this device, because that logic is duplicated from the call site.
Sam Lantinga ae6d9e34 2021-06-25T11:09:46 Correcting the name of the Amazon Luna Controller
Sam Lantinga 5042ab6f 2021-06-24T18:09:06 Added Linux and macOS mappings for the DirectInput mode of the Amazon Luna Controller
Sam Lantinga 5b051459 2021-06-24T18:09:04 Fixed warnings on Windows
Sam Lantinga 99700a5c 2021-06-24T18:09:01 SDL: add Windows mappings for Luna controllers for USB DirectInput mode and BT. Note: the triggers do not seem to work in BT mode.
Ozkan Sezer 33b84c8d 2021-06-24T23:10:56 s/memcmp/SDL_memcmp/ for conistency
Ethan Lee 56b77b12 2021-06-04T19:51:58 cocoa: Implement FlashWindow
scribam c2e8a791 2021-06-12T16:20:47 SDL_windowsevents: add support for multiple mice
Cameron Gutman 7948c16d 2021-06-12T17:56:52 Pump events each time through the loop in SDL_WaitEventTimeout_Device() Not only is it more efficient to batch process pending events, it is necessary for correctness with the Win32 backend. WIN_PumpEvents() runs periodic updates of the cursor clip region and disambiguation of left and right shift keys in addition to standard event processing.
Cameron Gutman 105de64c 2021-06-12T16:19:03 Only queue one wakeup event per wait Queuing more than one can lead to a spurious wakeup on the next wait.
Anthony Pesch c262569c 2021-06-22T00:03:18 kmsdrm: fix KMSDRM_SetDisplayMode being called for the default desktop mode doing nothing
Anthony Pesch 98bda391 2021-06-23T00:21:31 kmsdrm: sync the display's current mode with what's set in KMSDRM_CreateSurfaces
Anthony Pesch d031a24e 2021-06-08T00:39:04 kmsdrm: defer surface recreation inside of KMSDRM_SetWindowSize and KMSDRM_SetWindowFullscreen as is done in KMSDRM_SetWindowDisplayMode
Anthony Pesch 5a296e25 2021-06-08T20:48:24 kmsdrm: avoid overriding the mode requested by SDL_SetWindowDisplayMode when recreating surfaces
Sam Lantinga 814285d6 2021-06-23T09:19:02 Workaround for crash on Apple Mac M1 hardware
Cameron Cawley bc141e44 2021-06-23T15:09:07 Remove -static-libgcc from sdl2-config output
Ozkan Sezer a6715a20 2021-06-23T14:56:02 revert the previous -Wc,-static-libgcc patch: Someone reported breakage with that: https://github.com/libsdl-org/SDL/commit/bc51de2f87194e45eec94414bc248a6e7a0f9d26#commitcomment-52550755
Ozkan Sezer bc51de2f 2021-06-22T18:11:24 regenerated configure script.
Cameron Cawley 23575a42 2021-06-22T15:18:25 Ensure that libgcc is linked statically on Windows
Sam Lantinga 41fab853 2021-06-18T18:10:24 ControllerList: set the default deadzone for Ps5 controller back to same one as Xbox controllers. Too many users complained about drift.
Sam Lantinga a8b28939 2021-06-18T18:10:23 ControllerList: add more Xbox controllers from minidumps
Sam Lantinga 08eff56a 2021-06-18T18:10:22 ControllerList: add Brooks Mars controller to PS4 controller list
Sam Lantinga afd100f0 2021-06-18T17:37:46 Added support for the PowerA Fusion Pro 2 and the PDP Xbox Series X Afterglow and Blue controllers
Ryan C. Gordon 839387ed 2021-06-17T22:09:13 video/dummy: Don't zero out the fake display mode before adding it. The SDL_zero call was in the wrong place as a historical accident, I think.
Sam Lantinga 268fbcd4 2021-06-17T11:23:47 Fixed compiler warning on Visual Studio
Sam Lantinga d8dba5bc 2021-06-17T11:22:08 Added support for the Logitech G923 racing wheel
Ethan Lee 7f261d3b 2021-06-15T00:35:13 wayland: Fix returning to a window from fullscreen without calling SetWindowSize
Ivan Epifanov 8da0dd17 2021-06-15T18:54:52 Oops. Renderer already queues viewport change
Ivan Epifanov 1fc51988 2021-06-15T18:49:55 Reset/re-apply viewport on frame start/target change. Fixes SDL_RenderSetLogicalSize on PSVita
Gianfranco Berardi 0cad3023 2021-06-14T13:56:12 Removed reference to ant project. The android-project-ant directory does not exist anymore.
Ivan Epifanov 2465444f 2021-06-14T21:27:09 Add missing dependencies
Phillip Trudeau bc7ac134 2021-06-11T09:22:41 Windows: Fix SDL_GetBasePath() truncating paths SDL_GetBasePath grows its path buffer for long paths, but GetModuleFileNameExW always truncates and succeeds, so `len` was always equal to (buflen - 1) which is 127. This is easily fixed by checking for (buflen - 1) instead of buflen. For paths longer than MAX_PATH, this problem sometimes got hidden by Windows path shortening ("C:\PROGRA~1\" etc.). Tested on Windows 10 x64 19041 and 10586.
Paul Cercueil db5cd8c6 2021-06-12T14:57:34 joystick: virtual: Fix event injection for axes/hats SDL_JoystickSetVirtualAxisInner() and SDL_JoystickSetVirtualHatInner() did not properly sanitize the 'axis' and 'hat' parameters. Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Paul Cercueil f3cf019e 2021-06-12T13:25:34 joystick: Add missing comma in joystick drivers list Without this comma it is impossible to enable both the Vita and Dummy drivers at the same time. Signed-off-by: Paul Cercueil <paul@crapouillou.net>
nia 98f2e38b 2021-06-12T09:42:54 Use <sys/endian.h> for endian detection on NetBSD Signed-off-by: Nia Alarie <nia@NetBSD.org>
Ozkan Sezer bc9888c9 2021-06-12T14:55:24 OS2_GetDisplayModes: malloc a new copy of mode's driver data. Based on a patch by Jochen Schäfer <josch1710@live.de> : The problem is, that in the initialization code uses the same structure for desktop_mode and current_mode. See SDL_os2video.c:OS2_VideoInit(): stSDLDisplay.desktop_mode = stSDLDisplayMode; stSDLDisplay.current_mode = stSDLDisplayMode; ... stSDLDisplayMode.driverdata = pDisplayData; Then, if you call GetDisplayModes, current_mode will added to the modes list, with the same driverdata pointer to desktop_mode. SDL_AddDisplayMode( display, &display->current_mode ); When VideoQuit gets called, first the modes list gets freed including the driverdata, the desktop_mode gets freed. See SDL_video.c:SDL_VideoQuit(): for (j = display->num_display_modes; j--;) { SDL_free(display->display_modes[j].driverdata); display->display_modes[j].driverdata = NULL; } SDL_free(display->display_modes); display->display_modes = NULL; SDL_free(display->desktop_mode.driverdata); display->desktop_mode.driverdata = NULL; So, the display_modes[j].driverdata gets freed, but desktop_mode->driverdata points to the same memory, but is not NULL'ed. When desktop_mode->driverdata gets freed the memory is already freed, and libcx crashes the application on SDL_Quit.
Ozkan Sezer d28437de 2021-06-12T08:00:50 SDL_keyboard.c: Add bounds guards when assigning to the scancode array. Based on a patch by Jochen Schäfer <josch1710@live.de> : On a T420 pressing the ACPI button for volume control, big scancodes were emitted. This was causing an overflow, because missing guards.
Ethan Lee eb15b4e9 2021-06-11T23:40:09 wayland: Drop SwapWindow calls for hidden windows
Ryan C. Gordon 37d35a3e 2021-06-11T21:02:49 kmsdrm: hook up KMSDRM_GLES_DefaultProfileConfig for use. Fixes #3678.
Ivan Epifanov 3c028141 2021-06-10T13:26:38 Update docs and fix typos
Ivan Epifanov bbdd08e0 2021-06-10T13:20:39 Build without PIB support by default and add flag to enable it
Ivan Epifanov a4442476 2021-06-10T12:14:14 Cleanup dead and duplicate code
Ivan Epifanov c2b8b556 2021-06-10T12:06:28 Older api, not needed