Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| a0f8afb5 | 2021-11-11 09:16:44 | Separated the HIDAPI subsystem from HIDAPI joysticks You can now disable HIDAPI joysticks while retaining the HIDAPI SDL API | ||
| 11ae43ca | 2021-11-11 07:49:38 | Only lock the pointer for mouse relative mode, there isn't really a concept of grab and confinement on iOS Locking the pointer prevents the on-screen cursor from moving, which isn't what we want with a grab behavior. Fixes https://github.com/libsdl-org/SDL/issues/4941 | ||
| 66a08aa3 | 2021-09-27 14:38:12 | Add and use `SDL_FALLTHROUGH` for fallthroughs Case fallthrough warnings can be suppressed using the __fallthrough__ compiler attribute. Unfortunately, not all compilers have this attribute, or even have __has_attribute to check if they have the __fallthrough__ attribute. [[fallthrough]] is also available in C++17 and the next C2x, but not everyone uses C++17 or C2x. So define the SDL_FALLTHROUGH macro to deal with those problems - if we are using C++17 or C2x, it expands to [[fallthrough]]; else if the compiler has __has_attribute and has the __fallthrough__ attribute, then it expands to __attribute__((__fallthrough__)); else it expands to an empty statement, with a /* fallthrough */ comment (it's a do {} while (0) statement, because users of this macro need to use a semicolon, because [[fallthrough]] and __attribute__((__fallthrough__)) require a semicolon). Applications using SDL are also free to use this macro (because it is defined in begin_code.h). All existing /* fallthrough */ comments have been replaced with this macro. Some of them were unnecessary because they were the last case in a switch; using SDL_FALLTHROUGH in those cases would result in a compile error on compilers that support __fallthrough__, for having a __attribute__((__fallthrough__)) statement that didn't immediately precede a case label. | ||
| 828a0a4a | 2021-11-11 07:13:29 | Fixed mapping for PS4 controller when using the classic Joystick interface on Linux | ||
| dc9de1e2 | 2021-11-11 07:03:30 | Get the correct USB VID/PID information for /dev/input/js* devices | ||
| bd92a95f | 2021-11-11 06:30:36 | Cleanup for the /dev/js* support (thanks @meyraud705) | ||
| 3090812e | 2021-11-11 11:27:56 | Convert last SDL_IOReady()'s 2nd parameter to flags Conversion missed in https://github.com/libsdl-org/SDL/pull/4897 | ||
| 1c78b080 | 2021-11-10 20:02:25 | Added support for /dev/input/js* on Linux Added the hint SDL_HINT_LINUX_JOYSTICK_CLASSIC to control whether /dev/input/js* or /dev/input/event* are used as joystick devices Added the hint SDL_HINT_JOYSTICK_DEVICE to allow the user to specify devices t hat will be opened in addition to the normal joystick detection Fixes https://github.com/libsdl-org/SDL/issues/1314 Fixes https://github.com/libsdl-org/SDL/issues/1727 Fixes https://github.com/libsdl-org/SDL/issues/1981 Closes https://github.com/libsdl-org/SDL/pull/4727 | ||
| 65a50b24 | 2021-11-10 16:15:22 | Re-enable udev joystick enumeration by default | ||
| dfb834d3 | 2021-11-10 13:41:44 | Track button state for each mouse input source separately This way we'll get button down and up events for each mouseID individually. Fixes https://github.com/libsdl-org/SDL/issues/4518 | ||
| cb4491ca | 2021-11-10 16:05:03 | Sync wiki -> header | ||
| eda4c407 | 2021-11-10 12:46:54 | Make sure the X event is an Xkb event before checking the Xkb event type | ||
| a1c125c1 | 2021-11-10 15:40:27 | fnsince.pl: Report unreleased APIs as part of the next release version. This keep documentation future-accurate and more importantly: it will produce correct results before we tag the official release in git, so they'll be correct in the tag and the release tarball. | ||
| b42ae3db | 2021-11-10 15:21:01 | Sync wiki -> header | ||
| 98c98362 | 2021-11-10 11:04:51 | Don't clobber the error in SDL_ShowMessageBox() if one has been set at the platform level Fixes https://github.com/libsdl-org/SDL/issues/4760 | ||
| dca5ce4e | 2021-11-10 10:15:47 | Clarified that AAudio is only used on Android 8.1 and newer | ||
| dc4c7d95 | 2021-11-10 09:48:49 | Fixed infinite loop in SDL_vsnprintf() if the format string is too large for the output buffer Fixes https://github.com/libsdl-org/SDL/issues/4940 | ||
| d5032582 | 2021-11-10 09:45:56 | Use consistent language between SDLTest_AssertPass() and SDLTest_AssertCheck() | ||
| 6c4b4ee7 | 2021-11-10 09:41:43 | Don't assert on API parameters This causes lots of spam in test automation and it's not clear it's useful to developers. If we need this level of validation, we should add a log category for it. | ||
| fed85778 | 2021-11-10 08:47:39 | Update the orientation and display modes when the display settings change on Windows Fixes https://github.com/libsdl-org/SDL/issues/1061 | ||
| c0f1109b | 2021-11-10 06:03:01 | Implemented querying the orientation of displays on Windows | ||
| 3a31a450 | 2021-11-10 05:24:31 | End the scene before resetting the D3D device, since we'll start with BeginScene after that. If we don't do this, we'll end up with unbalanced Begin/End scene pairs which causes D3DERR_INVALIDCALL in the present. Fixes https://github.com/libsdl-org/SDL/issues/4933 | ||
| 6b64c47b | 2021-11-09 23:45:32 | haptics: Enumerate XInput/DInput joysticks after haptic init Since the haptic subsystem is usually initialized after the joystick subsystem, the initial calls to HapticMaybeAddDevice() from inside SDL_JoystickInit() will arrive too early to be handled by the haptic subsystem. We need to add those haptic devices for those already present joysticks ourselves. | ||
| 6f9909b6 | 2021-11-09 21:11:19 | These functions made it into 2.0.18 | ||
| 0d987936 | 2021-11-09 22:03:42 | testwm2: Fix video modes menu hit detection when highdpi or logical size used (#4936) * SDLTest_CommonDrawWindowInfo: log SDL_RenderGetScale, SDL_RenderGetLogicalSize * testwm2: fix video modes menu hit detection in High DPI cases - also when logical size is specified, e.g. `--logical 640x480 --resizable --allow-highdpi` * add function to determine logical coordinates of renderer point when given window point * change since to the targeted milestone * fix typo * rename for consistency * Change logical coordinate type to float, since we can render with floating point precision. * add function to convert logical to window coordinates * testwm2: use new SDL_RenderWindowToLogical * SDL_render.c: alternate SDL_RenderWindowToLogical/SDL_RenderLogicalToWindow Co-authored-by: John Blat <johnblat64@protonmail.com> Co-authored-by: John Blat <47202511+johnblat64@users.noreply.github.com> | ||
| 27ce9144 | 2021-11-09 20:51:42 | Send absolute mouse motion when in normal mouse mode and relative mouse motion when in relative mode on iOS This keeps the SDL cursor in sync with the visible cursor when in normal mouse mode. | ||
| 19c129fa | 2021-11-09 20:32:16 | Added documentation that the UIApplicationSupportsIndirectInputEvents key must be set to true in your application's Info.plist in order to get real Bluetooth mouse events. | ||
| a7e2e3a3 | 2021-11-09 13:36:44 | Fixed rendering in the iOS touch demo | ||
| 7681929c | 2021-11-09 12:30:37 | Don't send the initial joystick axis event if the application is in the background | ||
| d31f90d9 | 2021-11-09 12:09:01 | Don't send game controller touchpad or sensor events unless the application has focus Fixes https://github.com/libsdl-org/SDL/issues/4891 | ||
| d2f75636 | 2021-11-09 11:53:59 | When making the window centered it should use windowed mode size since it doesn't affect fullscreen windows Fixes bug https://github.com/libsdl-org/SDL/issues/4750 | ||
| 1fc25bd8 | 2021-11-08 22:04:34 | Properly position the IME window(s) on windows | ||
| 04f42e04 | 2021-11-09 11:50:49 | metal: Deal better with -[CAMetalLayer nextDrawable] returning nil. Fixes #4863. | ||
| 8f63e9ff | 2021-11-09 11:13:52 | cmake: use generated SDL_config.h to build SDLmain static lib Thanks to @toazz for the patch! Fixes #4829. | ||
| 3a82e432 | 2021-11-09 11:06:33 | cmake: Moved back to requiring merely CMake 3.0.0. This means it now works with any CMake released since 2014 instead of 2018. This was mostly just readding some special cases, and requiring 3.11.0 only for Windows Stores apps, which isn't unreasonable. The biggest concern is a Linux distribution not having a recent CMake; most other places will be manually downloading and installing their own CMake. Fixes #4930. | ||
| cfdbd6ac | 2021-11-09 10:50:18 | docs: Modernized README-macosx.md and cleaned up the Markdown a little. Reference #960. | ||
| 0f2bf629 | 2021-11-09 06:20:46 | Fixed building hidapi when libusb is available | ||
| 7b9fe52e | 2021-11-09 05:40:57 | We're no longer building a separate shared library for hidapi | ||
| e8731933 | 2021-11-09 13:32:28 | Fixed warning: macro is not used | ||
| c7065bf4 | 2021-11-09 11:31:29 | Fix warning: declaration shadows a local variable | ||
| 715e7bda | 2021-11-09 01:43:44 | haptic: Don't enumerate joysticks if the joystick subsystem is active The joystick subsystem has complex precedence logic to deal multiple competing backends like XInput, RawInput, and WGI. Let it fire the MaybeAdd callbacks for joystick devices, since it knows which backend will end up managing them. This resolves a situation where the RawInput joystick backend would take control of an XInput device but the XInput haptic backend would still create a haptic device. Since the XInput joystick backend didn't own the underlying joystick device, we'd end up with an orphaned haptic device that didn't work with SDL_HapticOpenFromJoystick() on the associated joystick device. | ||
| b2ce22a0 | 2021-11-09 10:00:24 | added src/hidapi/*.c to sources in standalone makefiles | ||
| ae67c7d2 | 2021-11-09 01:30:00 | Implemented SDL_SetWindowMouseRect() on Wayland | ||
| 18e69827 | 2021-11-08 22:29:02 | Fixed Linux build | ||
| 881f747d | 2021-11-09 13:35:18 | Always destroy icon | ||
| 7fea557b | 2021-11-09 12:03:09 | SDL_windowsmouse.c: Remove LR_COPYDELETEORG flag | ||
| 67c42cb4 | 2021-11-08 22:16:01 | Fixed Windows build | ||
| fd79607e | 2021-11-08 21:34:48 | Added SDL_GetWindowMouseRect() Also guarantee that we won't get mouse movement outside the confining area, even if the OS implementation allows it (e.g. macOS) | ||
| 4db546b0 | 2021-11-08 20:35:12 | Implemented SDL_SetWindowMouseRect() on macOS | ||
| 037030a7 | 2021-11-08 20:26:40 | Install SDL_hidapi.h | ||
| 9c95c249 | 2021-11-08 20:01:56 | x11: Use XCheckIfEvent() instead of XNextEvent() for thread-safety A racing reader could read from our fd between SDL_IOReady()/X11_Pending() and our call to XNextEvent() which will cause XNextEvent() to block for more data. Avoid this by using XCheckIfEvent() which will never block. This also fixes a bug where we could poll() for data, even when events were already read and pending in the queue. Unlike the Wayland implementation, this isn't totally thread-safe because nothing prevents a racing reader from reading events into the queue between our XCheckIfEvent() and SDL_IOReady() calls, but I think this is the best we can do with Xlib. | ||
| e9dae813 | 2021-11-08 20:14:08 | CI: disable fail-fast to avoid aborting build when one platform fails | ||
| 2d23d66a | 2021-11-08 16:33:50 | Fixed SetWindowMouseRect return value on Windows | ||
| 7d21322d | 2021-11-08 16:29:19 | Implemented SDL_SetWindowMouseRect() on Windows | ||
| 684b3b31 | 2021-11-09 02:30:28 | regenerated configure script. | ||
| 4b42c05b | 2021-11-08 13:52:48 | video: Add SDL_SetWindowMouseRect. This API and implementation comes from the Unreal Engine branch of SDL, which originally called this "SDL_ConfineCursor". Some minor cleanup and changes for consistency with the rest of SDL_video, but there are two major changes: 1. The coordinate system has been changed so that `rect` is _window_ relative and not _screen_ relative, making it easier to implement without having global access to the display. 2. The UE version unset all rects when passing `NULL` as a parameter for `window`, this has been removed as it was an unused feature anyhow. Currently this is only implemented for X, but can be supported on Wayland and Windows at minimum too. | ||
| 1a98dcb6 | 2021-11-08 15:16:18 | Revert "include: Updated SDL_config_emscripten.h from emscripten-ports." Apparently we already had the newer version, sorry! This reverts commit 6657cbce8dcea9abe4501c8bbf85f2b40e6c927a. Reference issue #4623. | ||
| dcc91909 | 2021-11-08 22:28:00 | autotools: initial adjustments after the recent hidapi changes. | ||
| 2636d839 | 2021-11-08 22:25:32 | cmake: add hidapi to 'SDL_SUBSYSTEMS' | ||
| 1739ef3e | 2021-11-08 22:00:02 | sdlchecks.cmake: remove libusb/hid.c and SDL_hidapi.c additions to srcs | ||
| 36067fa1 | 2021-11-08 21:35:24 | cmake: include hid.cpp in android sources | ||
| 84138b77 | 2021-11-08 21:15:04 | minor update to os2 config file. | ||
| 001aa4da | 2021-11-08 21:12:02 | cmake: more hidapi fixes. | ||
| a3e8fd49 | 2021-11-08 09:58:11 | Cancel any accumulated mouse wheel motion in the opposite direction when the wheel direction changes Fixes https://github.com/libsdl-org/SDL/issues/2912 | ||
| 5dbbc8e6 | 2021-11-08 09:44:31 | Added mouse wheel deltas with floating point precision Fixes https://github.com/libsdl-org/SDL/issues/4888 | ||
| d95a52c9 | 2021-11-08 09:39:21 | Fixed comment typo | ||
| fc998b8e | 2021-11-08 12:37:10 | wayland: Return true for HasScreenKeyboardSupport only if no physical keyboard exists | ||
| 4bbbe5f8 | 2021-11-08 09:28:36 | Fixed CMake build by adding hidapi files This needs more work to remove the hidapi shared library build, but at least Linux builds are unblocked | ||
| b8327a4a | 2021-11-08 07:19:45 | Added SDL_HIDAPI_DISABLED so it can be disabled like other SDL subsystems | ||
| 2a6feb50 | 2021-11-08 07:10:38 | Removed accidental debugging commit (thanks @DomGries!) | ||
| 6c56e275 | 2021-11-08 07:05:17 | Set both _NET_WM_NAME and WM_NAME so SDL windows can be shared in the browser. Fixes https://github.com/libsdl-org/SDL/issues/4924 | ||
| 301819cd | 2021-11-08 20:34:20 | SDL_windowsmouse.c: Fix WIN_CreateCursor does not scale with system cursor size preference | ||
| f61b10dc | 2021-11-08 06:34:32 | Do more robust validation of devices passed to the SDL HIDAPI functions | ||
| dd8c3548 | 2021-11-08 17:00:56 | SDL_hidapi.c: avoid possible NULL pointer dereferences. | ||
| 2a904aa1 | 2021-11-08 17:00:28 | os2: remove SDL_hidapi duplications in makefile, disable it in config. | ||
| 5b646cd1 | 2021-11-07 22:58:44 | Build hidapi code into SDL as a new public API This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available. | ||
| 94c1276a | 2021-11-07 20:49:32 | emscripten: Decrease vertical scroll speed by using deltaMode Reference issue #4623. | ||
| 6657cbce | 2021-11-07 20:43:49 | include: Updated SDL_config_emscripten.h from emscripten-ports. Reference issue #4623. | ||
| f6dc47ca | 2021-11-07 16:00:47 | WGI/DInput: Fix SDL_IsXInputDevice() checks when RawInput is enabled Enabling the RawInput backend causes SDL_XINPUT_Enabled() to return false. That causes WGI and DInput backends to take ownership of XInput-compatible controllers, because they think there's no XInput-specific backend enabled. In WGI's case, it will actually race with RawInput to open the device. By properly excluding XInput devices from WGI, we can ensure that the sets of devices managed by WGI and RawInput don't intersect. This makes the race harmless, since they'll never both go after the same device. | ||
| 74f35a7c | 2021-11-07 14:10:04 | Fixed documentation | ||
| 301389ce | 2021-11-07 13:52:59 | Fixed iOS build | ||
| b3e909dc | 2021-11-07 13:51:34 | WGI: Fix SDL_IsXInputDevice() for Xbox One controllers The Xbox One driver stack doesn't propagate the VID/PID down to the HID devices that end up in the GetRawInputDeviceList() output. This means we end up matching against the wrong VID/PID and can't properly exclude Xbox One controllers from WGI. Fortunately, it is possible to walk back up the device tree to find the parent with the matching VID/PID. | ||
| dd85cc01 | 2021-11-07 13:17:54 | Fixed whitespace | ||
| 80d19282 | 2021-08-19 11:40:09 | If Android version >= API 23 PendingIntent.FLAGIMMUTABLE "If your app targets Android 12, you must specify the mutability of each PendingIntent object that your app creates. This additional requirement improves your app's security." FLAG_IMMUTABLE was added in API 23 so that's why I'm using "> API 23". Using API 30 would also fix the Android 12 issue. Alternatively if PendingIntents should be mutable you could change it to "FLAG_MUTABLE". | ||
| b8c00bf9 | 2021-11-07 13:11:29 | Allow opening joysticks that are read-only on Linux Fixes https://github.com/libsdl-org/SDL/issues/4713 | ||
| 0323d983 | 2021-11-07 12:52:06 | Add the platform to the game controller mapping so it can be read back in without changes Fixes https://github.com/libsdl-org/SDL/issues/4848 | ||
| d950b9e2 | 2021-11-07 20:40:54 | emscripten: Make timers work (if used with emscripten_set_main_loop) Co-authored-by: aidanhs <aidanhs@cantab.net> | ||
| fe2fe290 | 2021-11-07 11:48:16 | Backed out accidentally committed PR https://github.com/libsdl-org/SDL/pull/4849 | ||
| 86bc65a7 | 2021-11-07 11:35:12 | Fixed non-Apple builds | ||
| 637bcd0b | 2021-11-07 11:19:07 | Fixed build warnings | ||
| e1435826 | 2021-11-07 11:16:48 | Cleanup sfSymbolName support and add them to the dynamic API functions | ||
| 149e5c65 | 2021-10-03 12:49:36 | Support returning sfSymbolsName for gamepad controls on macOS / iOS / tvOS | ||
| cdb4d8f2 | 2021-11-07 09:39:57 | Added a test case for snprintf of 0.0 This verifies regressions in https://github.com/libsdl-org/SDL/issues/4795 | ||
| 3acb1725 | 2021-11-07 12:26:39 | stdlib: SDL_snprintf now adds decimal places for ("%f", 0.0). This patch was from @Markvy (thanks!). Fixes #4795. | ||
| 2008f2a8 | 2021-11-07 01:41:34 | SDL_test_font.c: fix type of SDLTest_CharTextureCacheList | ||
| a0e055a7 | 2021-11-07 02:48:29 | testwm2: add mode menu, click on a mode to call SDL_SetWindowDisplayMode | ||
| 70f7ebe6 | 2021-11-07 01:46:04 | SDL_test_font.c: add ability to draw on different SDL_Renderers fixes `testwm2 --windows 2` | ||
| 6312aaea | 2021-11-06 21:52:22 | WGI: Add workaround for delayed callbacks after WGI_JoystickQuit() | ||
| 35b0baaa | 2021-11-06 19:25:06 | Unfixed typo | ||
| 1d40c69a | 2021-11-05 22:52:03 | Fixed typo |