src


Log

Author Commit Date CI Message
Sam Lantinga 3f89d170 2022-09-01T11:30:02 Fixed building with libusb not dynamicaly loaded
Sam Lantinga 7708bf0f 2022-09-01T08:18:58 Try matching game controller mappings on CRC and version and fall back to no CRC and no version, in that order. We do exact match when adding mappings, but loose matching everywhere else we look up a mapping for a GUID.
Sam Lantinga 7861f924 2022-08-31T13:34:43 Removed debug print statements
Sam Lantinga 62f2379e 2022-08-31T13:24:23 Try up to 20 times to read the controller type It takes a while for Joy-Cons to initialize when plugged in via the Nintendo Joy-Con Charging Grip.
Sam Lantinga e5f161bd 2022-08-30T19:12:22 Restored accidentally removed code to guess XInput device
Ozkan Sezer 973a677a 2022-08-31T02:32:28 SDL_xinputjoystick.c: commented out GuessXInputDevice() Not used since commit 277b033e78235d6ffad7525a1fb9acfef3a43433.
Shawn Hoffman 42d09a8f 2022-08-30T13:54:32 wgi: refcount the delegate objects
Shawn Hoffman ca915b18 2022-08-30T13:54:58 WGI_JoystickUpdate: bounds-check array sizes
Sam Lantinga cdaafcec 2022-08-30T14:56:11 The Kinvoca Joy-Cons are handled by the Joy-Con driver, not the Switch Pro driver.
Sam Lantinga b2c3237b 2022-08-30T14:14:38 Added support for the Kinvoca Joy-Cons These report their VID/PID as a Nintendo Switch Pro controller, but they are actually left/right Joy-Cons. We'll fix up the joystick GUID so applications can handle them appropriately.
Sam Lantinga 92d3fc48 2022-08-30T12:58:38 Fixed deadlock when shutting down the Windows joystick system
Brad Smith 371735e9 2022-08-30T15:45:16 Silence unused variable warning SDL_x11dyn.c:123:17: warning: unused variable 'i' [-Wunused-variable] int i; ^
Sam Lantinga 0e4baf1c 2022-08-30T12:39:23 Don't crash if SDL functions are passed a closed joystick or gamecontroller
Sam Lantinga 675d90c7 2022-08-30T12:09:07 Revert "wgi: refcount the delegate objects" This reverts commit ff233fe3060e51706937a7b366438403bce774a4. This doesn't compile cleanly with Visual Studio and I don't want to introduce any subtle issues because we're passing the wrong types of pointers to WGI functions.
Sam Lantinga 40bd4fee 2022-08-30T11:42:13 Revamped joystick locking This makes the joystick locking more robust by holding the lock while updating joysticks. The lock should be held when calling any SDL joystick function on a different thread than the one calling SDL_PumpEvents() and SDL_JoystickUpdate(). It is now possible to hold the lock while reinitializing the joystick subsystem, however any open joysticks will become invalid and potentially cause crashes if used afterwards. Fixes https://github.com/libsdl-org/SDL/issues/6063
Shawn Hoffman ff233fe3 2022-08-28T22:20:58 wgi: refcount the delegate objects assert if calls become unbalanced.
Francisco Javier Trujillo Mata f1e46858 2022-08-26T17:58:59 Adding specific SDL_Hint for the dynamic VSYNC
Sam Lantinga 2f08bf23 2022-08-29T22:15:35 Added the share button to the Linux mapping for the third party Nintendo Switch Pro controllers
Sam Lantinga b2ac758f 2022-08-29T17:33:00 Added support for the Hori Fighting Stick Alpha to the HIDAPI driver
Ludovico de Nittis 3c78ba57 2022-08-29T11:08:24 dbus: Use xdg-desktop-portal Inhibit when running under Flatpak or Snap In order to inhibit the screen saver, SDL currently uses `org.freedesktop.ScreenSaver.Inhibit()` and, as a fallback, a protocol specific method for X11 or Wayland. Accessing `org.freedesktop.ScreenSaver` is usually not allowed when inside a sandbox like Flatpak, unless the permission has been explicitly granted to the application. Another issue is that the Wayland protocol "Idle inhibit" is relatively new and not yet widely adopted. For example Mutter still doesn't support it. For those reasons, when running under Flatpak or Snap, we should try to inhibit the screen saver by using xdg-desktop-portal instead. This should give us an higher chance of success. Fixes: https://github.com/libsdl-org/SDL/issues/6075 Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
Ludovico de Nittis e8cb4da7 2022-08-26T12:28:33 Add utility function to detect if SDL is inside a sandbox Refactor the previous sandbox check in a standalone function that also includes Snap support. Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
Ludovico de Nittis a3ce700d 2022-08-25T16:18:45 dbus: Add generic internal function to send messages with reply SDL_DBus_CallWithBasicReply() allows us to send a DBus message and get its result, if it is a basic type, e.g. integer or string. With this function we avoid duplicating code. Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
Sam Lantinga 1153aaae 2022-08-29T00:15:56 Fixed compiling with USB_GET_DEVICEINFO on DragonFly BSD Although the ioctl() currently fails on this platform...
Sam Lantinga 57cbec10 2022-08-28T23:18:40 Added controller mappings for Xbox 360, PS4, and PS5 controllers on OpenBSD Removed the axis flipping hack for Xbox controllers which would actually apply to any controller with a full 16-bit range. Fixes https://github.com/libsdl-org/SDL/issues/6143
Sam Lantinga 0b8b321f 2022-08-28T23:01:30 Allow the product version to be different when trying to find a controller mapping This is in the hope that revving the product version doesn't change the mapping, which is the case for some devices. In cases where it does, we just need to provide a mapping for each version of the product.
Sam Lantinga 761b9d1e 2022-08-28T22:33:17 Use the HID usage for the button as the button number
Sam Lantinga bac8df4a 2022-08-28T17:55:49 Fixed memory leak when out of memory
Sam Lantinga ffbad361 2022-08-28T16:21:05 Use the correct type for the device_instance
Sam Lantinga 4a800ae1 2022-08-28T16:11:12 Created a consolidated define enabling BSD gameport joystick support
Sam Lantinga 42f90c62 2022-08-28T16:01:03 Removed unused path variable
Sam Lantinga a9d3935a 2022-08-28T18:17:50 Improved code to get the name and guid for joysticks on OpenBSD and NetBSD Also dynamically allocate joysticks to reduce static memory usage
Sam Lantinga 32700294 2022-08-28T17:56:11 Don't crash if SDL_CreateJoystickGUID() is passed a NULL name
Cameron Gutman b7c1fbf9 2022-08-28T17:38:02 WGI: Fix a couple of reference leaks
Sam Lantinga 0db18130 2022-08-28T07:27:01 Applied OpenBSD patch http://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/devel/sdl2/patches/patch-src_joystick_bsd_SDL_bsdjoystick_c?rev=1.5&content-type=text/plain&hideattic=1
Mathieu Eyraud b8af865f 2022-08-28T13:02:57 Fix candidate list size for Windows IME Adjust candidate count so list is not draw bigger that needed. This also fix potential uninitialised read of variable `candsize[i]` if `vertical` is false.
Sam Lantinga 3cbfd75d 2022-08-27T18:55:55 Re-added the CRC to the joystick guid This is now used as a crc field in the mapping rather than directly in mapping guids, for better mapping compatibility between versions of SDL. Added SDL_GetJoystickGUIDInfo() to get device information encoded in a joystick GUID, so that mapping programs can clear the CRC from the GUID when generating mappings. sort_controllers.py has been updated to extract the CRC from mappings created by older mapping programs and convert it into the new crc field. It will also take the CRC into account when checking for duplicate mappings. Also regenerated the GUIDs for the PS2/PSP/Vita controller mappings, fixing https://github.com/libsdl-org/SDL/issues/6151
Francisco Javier Trujillo Mata b9e3cae5 2022-08-26T16:58:21 Add more valid configurations to PS2 audio driver
Sam Lantinga b188a916 2022-08-27T09:46:28 Fixed uhid device name for non-OpenBSD platforms
Brad Smith 3f93ec47 2022-08-26T20:52:56 Add support for OpenBSD's ujoy(4)
Sam Lantinga 9a01eac5 2022-08-26T13:45:05 Temporarily disable joystick GUID CRCs
Sam Lantinga f6c2c22d 2022-08-25T22:25:25 Don't try to use the charging port for the PowerA wireless controller as an input device
Sam Lantinga f1aa8434 2022-08-25T21:51:20 Don't report rumble capability for Nintendo Online controllers
Steven Noonan 9ce9c253 2022-08-25T18:41:32 SDL_windowsmodes: fix WIN_GetDisplayNameVista source identifier number This was getting the wrong monitor's name because the source identifier was not being included in the DisplayConfigGetDeviceInfo request.
Anonymous Maarten ce227aa6 2022-08-26T01:57:09 wayland: fix build with SDL_WAYLAND_SHARED=OFF/--enable-wayland-shared=no
Sam Lantinga 679582e7 2022-08-25T11:07:20 Fixed crash if there are no devices available
DomGries 40b24992 2022-08-25T10:03:33 Fix building with SDL_DISABLE_WINDOWS_IME Regression of https://github.com/libsdl-org/SDL/commit/f317d619ccd22e60cebf1b09d716d3985359c981#diff-bff8f3e638d51e86cb6f0f42e2c527549d649951b7aa5ec4a539e865a5b57027R398
Sam Lantinga babaa7d2 2022-08-24T16:10:47 Fixed PS3 accelerometer values on little endian systems
Julio C. Rocha 05983fb8 2022-08-24T15:03:12 Add Mayflash PC043 adapter
Sam Lantinga e7332cd8 2022-08-24T15:28:56 Fixed zero CRC matching in the controller mapping database
Francisco Javier Trujillo Mata a4f84803 2022-08-24T20:42:08 Disable fileXio and patch fio
Noel Berry 00452e47 2022-08-24T11:25:13 Adding SDL_GetWindowSizeInPixels for window size in pixels (#6112)
Sam Lantinga 70c781c8 2022-08-24T10:25:56 Fixed build warning because of redefining string functions
antonino 5f79cd16 2022-08-24T18:50:02 Fixed spacing
antonino dd68eb5c 2022-08-24T17:57:52 free drm prop before returning
Sam Lantinga 97034471 2022-08-24T09:39:01 Fixed the Nintendo Switch Pro mappings on iOS/tvOS
Sam Lantinga 1fc7f681 2022-08-24T06:38:36 Document that it's not possible to use the HIDAPI driver for PS3 controllers on Windows
Sam Lantinga 645b0f6a 2022-08-24T01:30:29 Enable HIDAPI PS3 support by default on macOS
Sam Lantinga 3ed8e219 2022-08-24T01:25:14 Fixed building HIDAPI libusb support on Windows
Sam Lantinga 3d62ebdb 2022-08-24T00:34:30 Fixed HIDAPI PS3 support on macOS
Sam Lantinga aaee6e24 2022-08-23T22:56:32 Added missing file
Sam Lantinga b6f96b69 2022-08-23T22:45:37 Initial HIDAPI driver support for the PS3 controller
Sam Lantinga 50c5d23f 2022-08-23T07:42:48 Round coordinates so very small floating point values don't turn into 0x80000000 e.g. SDL_RenderDrawLineF(renderer, -1e20, -1e20, 10, 10); Fixes https://github.com/libsdl-org/SDL/issues/6116
Sam Lantinga b6a3d762 2022-08-23T07:24:21 Look up mappings by GUID in two passes: first with CRC, second without
Sam Lantinga 277b033e 2022-08-22T19:28:21 Refactor joystick GUID creation
antonino aae566e1 2022-08-23T02:26:29 Use SDL_bool
antonino e3ea9b5b 2022-08-23T00:37:43 restore vrr state on exit
antonino 450e9857 2022-08-22T17:58:41 Use SDL_TRUE and SDL_FALSE
antonino 605b50fc 2022-08-22T17:49:49 kmsdrm: added missing checks
Sam Lantinga c1e08739 2022-08-22T16:46:55 Added the CRC of the joystick name to the GUID This will make it possible to have mappings for different controllers that have the same VID/PID. This happens frequently with some generic controller boards that have been reused in many products. Fixes https://github.com/libsdl-org/SDL/issues/6004
Sam Lantinga 20715fa0 2022-08-22T17:09:42 Fixed build errors
Sam Lantinga 92b3c53c 2022-08-22T16:25:25 Added a hint SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE to control whether to use system mouse acceleration on raw relative motion. This is currently only implemented on Windows, and "Enhanced pointer precision" mode is not quite correct.
Sam Lantinga d166f5ef 2022-08-22T14:10:54 Fixed uninitialized variable warning
Sam Lantinga b2819e43 2022-08-22T13:10:57 Send SDL_CONTROLLERDEVICEREMOVED for all joysticks because we don't know after the fact whether it was a game controller. Fixes https://github.com/libsdl-org/SDL/issues/2092
Sam Lantinga 0e61c106 2022-08-22T12:49:41 Don't calculate relative mouse motion if we don't have a valid position Fixes https://github.com/libsdl-org/SDL/issues/1928
slime b204db1e 2022-08-21T18:06:11 cocoa: change Shape data to use ObjC objects instead of C structs. Fixes #6089
Frank Praznik 057086e3 2022-07-15T13:44:49 wayland: Add high resolution scroll wheel support Update the Wayland core protocol spec file and add support for the new axis_value120 event to handle high resolution scroll wheels. The axis_value120 replaces the axis_discrete event, which is no longer sent as of version 8 of the protocol. Note that unlike the axis_discrete event, no mention in the spec is made regarding how many axis_value120 events may occur per-axis per-frame, so the values are accumulated and committed when the pointer frame event occurs.
Frank Praznik d731ad76 2022-07-15T10:44:38 wayland: Fix include order when building with libdecor The libdecor header internally includes wayland-client.h, which pulls in the wayland-client-protocol.h file from the system include path and overrides the local one generated from the included Wayland protocol spec files. Move the Wayland protocol header inclusion above the libdecor header inclusion to ensure that the locally generated protocol header is used instead.
Ryan C. Gordon 4ca7b378 2022-08-21T11:35:14 x11: Specify windowed dimensions when creating fullscreen windows. This lets the window manager adjust the window correctly if it ever leaves fullscreen mode. Fixes #5725.
Sam Lantinga ffab1396 2022-08-19T17:28:31 Fixed minimized window detection when handling WM_WINDOWPOSCHANGED When minimizing a window, we get this sequence of events: WM_WINDOWPOSCHANGING WM_GETMINMAXINFO WM_NCCALCSIZE WM_WINDOWPOSCHANGED - IsIconic() is true WM_MOVE WM_SIZE - SDL sees minimized state here When restoring a window, we get this sequence of events: WM_WINDOWPOSCHANGING WM_GETMINMAXINFO WM_NCCALCSIZE WM_NCPAINT WM_ERASEBKGND WM_WINDOWPOSCHANGED - IsIconic() is false WM_MOVE WM_SIZE - SDL sees restored state here On Windows 10 a minimized window has a non-empty client rect, so we were delivering a minimized size before SDL knows that the window is minimized, and then ignoring the restored size when handling the restore message. The fix is to use IsIconic() which returns the correct window state when WM_WINDOWPOSCHANGED is actually delivered.
Sam Lantinga 5a3adbfd 2022-08-19T11:11:25 Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED to control whether the player LED is set on Xbox 360 controllers
Sam Lantinga 52b6899a 2022-08-19T11:11:23 Added hints for more fine grained control over HIDAPI Xbox controller support
Luke Street 2b93f6e1 2022-05-20T09:55:06 cocoa/uikit: Use VK_EXT_metal_surface in Vulkan_GetInstanceExtensions Replaces VK_MVK_macos_surface and VK_MVK_ios_surface
Luke Street 029a9b2f 2022-05-19T12:57:35 cocoa/uikit: Support VK_EXT_metal_surface Uses VK_EXT_metal_surface (vkCreateMetalSurfaceEXT) when possible, otherwise falls back to the obsoleted VK_MVK_macos_surface and VK_MVK_ios_surface. Fixes #3906
antonino ad874536 2022-08-17T14:56:18 kmsdrm: enable vrr on displays that support it
Sam Lantinga 6e9c14e5 2022-08-19T09:38:42 Updated to version 2.25.0 for development
Sam Lantinga 8c9beb0c 2022-08-19T08:44:09 Updated to version Updated to version 2.24.0 for release
Sam Lantinga 6e007c36 2022-08-18T19:05:55 Add null termination to Wayland_data_source_get_data() if requested Fixes https://github.com/libsdl-org/SDL/issues/6083
Sam Lantinga 948dbe7d 2022-08-18T16:24:20 Don't include the null terminator in Wayland clipboard text Fixes https://github.com/libsdl-org/SDL/issues/6083
Frank Praznik 3bae2d57 2022-08-18T12:39:47 wayland: Set the libdecor app ID after visibility calls Set the frame app ID after toggling visibility or the name displayed in window manager task switchers may not display correctly.
Sam Lantinga 8acb4e45 2022-08-17T14:25:30 Fixed interactions between mouse capture and grab on X11 Fixes https://github.com/libsdl-org/SDL/issues/6072
Frank Praznik 7da74eb5 2022-08-17T14:59:23 wayland: Never commit with an undefined window title If libdecor performs a commit with the frame title being undefined, a crash can occur within the library or its plugins. Always ensure that the title is set to a valid string to avoid this.
Cameron Cawley 09b6956d 2022-08-16T15:08:10 opengl: Support NV12 textures on GPUs with only 2 texture units
Cameron Cawley 2fcd8f88 2022-08-16T14:19:26 Handle SDL_PIXELFORMAT_EXTERNAL_OES in SDL_GetPixelFormatName()
Sam Lantinga 9670d2bb 2022-08-15T17:27:33 Make sure we hold the joystick lock when disconnecting a HIDAPI joystick This prevents crashes when calling SDL joystick API functions from a different thread while disconnection is happening. See https://github.com/libsdl-org/SDL/issues/6063 for a more thorough review of joystick locking.
Ryan C. Gordon 26948f01 2022-08-15T20:09:09 cocoa: Make SDL_MinimizeWindow() work with borderless windows. Fixes #6046.
Frank Praznik cc9cc202 2022-08-13T16:43:15 video: Add video device quirk flags and apply them to the video subsystem Add quirk flags to the video device struct and add flags to allow video backend drivers to disable mode switching and disable unsetting the fullscreen mode when minimizing a window. As certain platforms can have multiple video backends compiled in at once, #ifdefs, as used by other platforms, aren't suitable as different backends on the same platform may not need the same quirks. This replaces the formerly dedicated 'disable_display_mode_switching' boolean as additional quirks are needed by the Wayland backend. Helper functions have also been added to simplify reading the flag states.
Frank Praznik 650612fd 2022-08-13T16:54:27 wayland: Eliminate excessive calls to SetFullscreen Eliminate excessive calls to SetFullscreen by removing the calls in the libdecor and xdg-toplevel config callbacks. These calls were being made there in case something explicitly called the window minimization function from within SDL, which unsets fullscreen, and as minimizing a window in Wayland is just a suggestion to the compositor and doesn't actually change the window state or communicate anything back to the application, it was necessary to call SetFullscreen in every call to the config functions just in case something minimized a window via SDL_MinimizeWindow() and later needed to restore it. GNOME in particular had issues when fullscreen set/unset operations were being hammered, leading to overlapping acks and commits when switching to fullscreen. With the new video system flag to disable unsetting fullscreen when minimizing a window, these calls in the configuration functions are no longer needed and can be removed. This significantly reduces calls to the SetFullscreen() function, reverts #6044 while fixing the issue, and fixes a similar problem when hiding and showing a window initially created with fullscreen flags.
Sam Lantinga 0cc8dfdb 2022-08-15T07:44:56 Added SDL_system.h for the declaration of SDL_iPhoneSetAnimationCallback() and SDL_iPhoneSetEventPump()
Mathieu Eyraud c6c688ab 2022-08-14T14:55:32 Add SDL_JOYBATTERYUPDATED event to SDL_JoystickEventState()
Frank Praznik b72cf207 2022-08-14T09:41:42 core: linux: Don't cache the RealtimeKit D-Bus connection If the D-Bus subsystem is shutdown and restarted mid-execution, the cached connection will be invalid. Fetch it each time that it is used to ensure that the connection is always from the current context.