Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 8c3196da | 2020-11-18 21:33:11 | Fixed some compiler warnings | ||
| 45f14375 | 2020-11-18 20:34:12 | Experimenting with requesting the serial number on an Xbox One controller | ||
| 963d8b3f | 2020-11-18 20:34:10 | Fixed bits in the initial Xbox One protocol ack | ||
| cd51a51f | 2020-11-18 20:34:08 | Updated with a better understanding of the Xbox One controller protocol | ||
| 335cfa10 | 2020-11-18 11:24:08 | x11: Don't crash if a messagebox has a NULL title string. Fixes Bugzilla #5253. | ||
| 51ea6a6d | 2020-11-17 22:09:52 | Don't send controller gyro and accelerometer updates if the values haven't changed. This keeps SDL_PollEvent() from returning data continuously when polling controller state. | ||
| 463d84a8 | 2020-11-17 10:56:56 | Added support for the PS5 controller gyro and accelerometer | ||
| fcb21aa8 | 2020-11-17 10:30:20 | Added API for sensors on game controllers Added support for the PS4 controller gyro and accelerometer on iOS and HIDAPI drivers Also fixed an issue with the accelerometer on iOS having inverted axes | ||
| b79e1baa | 2020-11-17 10:29:36 | Added weak linking to hidapi framework Also added testsensor to the test project | ||
| 0150455d | 2020-11-16 17:42:04 | Added SDL_crc32.c to the Windows RT projects | ||
| d140d887 | 2020-11-16 17:36:47 | Added SDL_JoystickGetSerial() and SDL_GameControllerGetSerial() | ||
| 55e59a4f | 2020-11-16 18:48:13 | crc32: Fixed include path. | ||
| dfc24e05 | 2020-11-17 02:39:56 | fix os/2 build | ||
| 7bbea0bb | 2020-11-16 15:10:02 | Fixed build warning | ||
| 71e32f5e | 2020-11-16 15:00:15 | Added SDL_crc32() | ||
| 3d48fc05 | 2020-11-16 13:21:02 | Added notes about the pad lights on the PS5 controller | ||
| 4514ad57 | 2020-11-16 13:07:11 | Fixed updating LED state when starting application with Bluetooth PS5 controller connected | ||
| a37e3ae2 | 2020-11-16 11:21:58 | Implemented PS5 effects over Bluetooth | ||
| c6c116e8 | 2020-11-16 10:51:13 | Implemented setting the LED color on the PS5 controller | ||
| fe4da420 | 2020-11-16 10:39:44 | Improve LED color calculation, don't set LED unless left thumbstick is moved | ||
| aa7c3eae | 2020-11-16 09:16:01 | Fixed size of rumble packet | ||
| f28c01a4 | 2020-11-16 09:11:15 | Fixed rumble order on PS5 | ||
| eb94c19a | 2020-11-16 08:09:15 | SDL: fix iOS build | ||
| 8243bd1d | 2020-11-16 08:09:13 | SDL: Plumb PS5 rumble to output report | ||
| c0f7325b | 2020-11-15 17:10:15 | SDL_PrivateJoystickForceRecentering: fix wrong loop counter usage. The typo seems to have been added by commit c7782fd6142b | ||
| 1ed36d21 | 2020-11-15 04:10:02 | egl: Fix detection in configure script on systems without X11 (bug #5270) In recent versions of EGL headers on Linux, the MESA_EGL_NO_X11_HEADERS macro is deprecated and has been replaced with EGL_NO_X11. As a result, the configure script would fail the compilation check for EGL headers and disable EGL (and by extension, Wayland) support when X11 headers are not installed. Fix this by adding the correct macro to disable X11 support in the headers. | ||
| bbbec723 | 2020-11-14 14:03:40 | SDL_config_windows.h: define HAVE_TRUNC[F] for Visual Studio >= 2013 | ||
| 3e40b87f | 2020-11-14 14:03:40 | SDL_config_os2.h: undefine HAVE_TRUNC trunc() exists only in OpenWatcom 2.0 fork, and its implementation already is the same as the fallback we have here.. | ||
| bee8db3b | 2020-11-14 02:16:41 | config: Make sure HAVE_TRUNC and HAVE_TRUNCF are defined as appropriate. The configure/cmake scripts were checking for these functions but we didn't have the SDL_config.h.* pieces in place. The other config headers are best guesses. | ||
| 5c34c973 | 2020-11-13 19:40:25 | Clarify that we're using button indices, not using gamepad button names | ||
| 9f51fad3 | 2020-11-13 18:01:29 | Added support for the touchpad on PS4 and PS5 controllers | ||
| 78422fa3 | 2020-11-13 13:17:07 | Added more detail on the PS5 controller state packet and enable full reports over Bluetooth | ||
| 30371f2d | 2020-11-13 13:17:04 | Fixed doubled report ID for Bluetooth Classic devices on Linux | ||
| 8cd4f364 | 2020-11-12 20:02:31 | Mapped the touchpad click as SDL_CONTROLLER_BUTTON_MISC1 on the PS5 controller | ||
| 8e312a6a | 2020-11-12 15:56:33 | Fixed detecting Bluetooth XInput controllers on Windows | ||
| 8b29aadd | 2020-11-12 14:34:11 | Fixed warning when building on Windows | ||
| e0018d08 | 2020-11-12 14:23:56 | Fixed Windows build | ||
| 0500c044 | 2020-11-12 07:53:05 | Fix SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL also applying to HIGH priorities As the name suggests, the hint should only apply to SDL_THREAD_PRIORITY_TIME_CRITICAL The resulting priorities for my current distro result in these values: | High | Time Critical Hint |--------------|----------------- 0 | P=10 N=-10 | P=5 N=-15 1 | P=10 N=-10 | P=-21 N=0 | ||
| 5b0d4329 | 2020-11-12 07:53:03 | Implemented trigger rumble in the HIDAPI Xbox One driver | ||
| e749c126 | 2020-11-12 07:53:01 | Fixed overflow in trigger rumble calculation | ||
| 52486d01 | 2020-11-12 15:10:00 | SDL_keycode.h (SDL_Keymod): remove comma at end of enumerator list | ||
| c122e9b9 | 2020-11-12 14:11:50 | linux/SDL_sysjoystick.c (MaybeRemoveDevice): remove SDL_USE_LIBUDEV guards fixes bug #5349. | ||
| 94a047f7 | 2020-11-12 14:11:40 | fix xcode project file permissions | ||
| 83b653d5 | 2020-11-11 20:09:56 | Fixed build warning | ||
| dc764496 | 2020-11-11 19:53:10 | Backed out change for bug 5335 - enable joystick/haptic/evdev support by default on FreeBSD Building on FreeBSD fails: /buildbot/worker/SDL/sdl-freebsd-amd64/src/src/joystick/linux/SDL_sysjoystick.c:26:2: error: SDL now requires a Linux 2.4+ kernel with /dev/input/event support. #error SDL now requires a Linux 2.4+ kernel with /dev/input/event support. ^ /buildbot/worker/SDL/sdl-freebsd-amd64/src/src/joystick/linux/SDL_sysjoystick.c:35:10: fatal error: 'sys/inotify.h' file not found #include <sys/inotify.h> ^~~~~~~~~~~~~~~ | ||
| 76bd6cd2 | 2020-11-11 19:45:56 | Fixed bug 5326 - Logitech Extreme 3D joystick is listed as gamepad in linux section of SDL_gamecontrollerdb.h Spooky For some reason the Logitech Extreme 3D joystick was added to SDL_gamecontrollerdb.h in the linux section only. This breaks the joystick in linux as it is not a gamepad. I am unable to correctly use or map the Logitech Exteme 3D joystick in games that use SDL2 in linux. Please remove Logitech Extreme 3D from SDL_gamecontrollerdb.h Linux section. It is a joystick not a gamepad. | ||
| 3160c7d6 | 2020-11-11 19:43:02 | Fixed bug 5327 - When direct input fails to load, but a controlller is plugged in through another api, an access violation happens. Bart van der Werf When directinput fails to load, but a controlller is plugged in, an access violation happens. This is due to IEventHandler_CRawGameControllerVtbl_InvokeAdded calling SDL_DINPUT_JoystickPresent which does not check if dinput is assigned signalling initialization of directinput. | ||
| 502cfe31 | 2020-11-11 19:39:46 | Fixed bug 5332 - WGI: Fix wrong level of indirection and implicit truncating cast. Joel Linn This fixes two types of MSVC compiler warnings. - One parameter in the function signatures of two WGI event handlers had one level of indirection too much (and did not match Windows SDK headers). The indirection was cast away so it still worked. - size_t was implicitly cast to UINT32 for a number of (constant) string lengths. | ||
| 1822f97e | 2020-11-11 19:37:47 | Fixed bug 5346 - Add FreeBSD evdev KBIO keyboard input driver wahil1976 This patch adds the KBIO text input driver for FreeBSD, which allows text input to fully work without text spilling out into the console. It also supports accented input, AltGr keys and Alt Lock combinations. Tested with US accent keys layout and various AltGr layouts. | ||
| 38ed8a95 | 2020-11-11 19:31:03 | Fixed bug 5335 - enable joystick/haptic/evdev support by default on FreeBSD Alex S ...which allows SDL to talk to webcamd/iichid. (Webcamd actually bundles quite a few gamepad drivers.) Note that this does _not_ disable usbhid, both joystick backends will be compiled. | ||
| 320a7587 | 2020-11-11 19:26:59 | Fixed compiler warnings | ||
| 65847539 | 2020-11-11 19:15:43 | test: Add a unit test for input device classification heuristics This uses pre-recorded evdev capabilities, so that we can check for regressions without the devices having to be physically present. Signed-off-by: Simon McVittie <smcv@collabora.com> | ||
| b0eba1c5 | 2020-11-11 19:15:32 | joystick: Use inotify to detect joystick unplug if not using udev This improves SDL's ability to detect joystick hotplug in a container environment. We cannot reliably receive events from udev in a container, because they are delivered as netlink events, which are authenticated by their uid being 0. However, in a user namespace created by an unprivileged user (for example bubblewrap, as used by Flatpak and Steam's pressure-vessel-wrap), the kernel does not allow us to map uid 0, and the netlink events appear to be from the kernel's overflowuid (typically 65534/nobody), meaning libudev cannot distinguish between genuine uevents from udevd and an attack by a malicious local user. Signed-off-by: Simon McVittie <smcv@collabora.com> | ||
| aae53d59 | 2020-11-11 19:15:09 | evdev: Detect whether input devices are accelerometers Anything with X, Y and Z axes but no buttons is probably an accelerometer (this is the assumption made in udev). Signed-off-by: Simon McVittie <smcv@collabora.com> | ||
| fdd945f2 | 2020-11-11 19:14:52 | joystick: Use a better heuristic to guess what is a joystick Previously we only checked for at least one button or key and at least the X and Y absolute axes, but this has both false positives and false negatives. Graphics tablets, trackpads and touchscreens all have buttons and absolute X and Y axes, but we don't want to detect those as joysticks. On normal Linux systems ordinary users do not have access to these device nodes, but members of the 'input' group do. Conversely, some game controllers only have digital buttons and no analogue axes (the Nintendo Wiimote is an example), and some have axes and no buttons (steering wheels or flight simulator rudders might not have buttons). Use the more elaborate heuristic factored out from SDL's udev code path to handle these cases. In an ideal world we could use exactly the same heuristic as udev's input_id builtin, but that isn't under a suitable license for inclusion in SDL, so we have to use a parallel implementation of something vaguely similar. Signed-off-by: Simon McVittie <smcv@collabora.com> | ||
| 8db3171b | 2020-11-11 19:14:34 | udev: Factor out SDL_EVDEV_GuessDeviceClass This works on capability bitfields that can either come from udev or from ioctls, so it is equally applicable to both udev and non-udev input device detection. Signed-off-by: Simon McVittie <smcv@collabora.com> | ||
| 13e7d1a9 | 2020-11-11 19:14:11 | joystick: Allow libudev to be disabled at runtime Device enumeration via libudev can fail in a container for two reasons: * the netlink protocol between udevd and libudev is considered private, so there is no API guarantee that the version of libudev in a container will understand netlink messages from a dissimilar version of udevd on the host system; * the netlink protocol between udevd and libudev relies for security on being able to check the uid of each message, but in a container with a user namespace where host uid 0 is not mapped, the libudev client cannot distinguish between messages from host uid 0 and messages from a different, malicious user on the host To make this easier to experiment with, always compile the fallback code path even if libudev is disabled. libudev remains the default if enabled at compile time, but the fallback code path can be forced. Signed-off-by: Simon McVittie <smcv@collabora.com> | ||
| 1e2caac5 | 2020-11-11 18:57:37 | Added SDL_JoystickRumbleTriggers() and SDL_GameControllerRumbleTriggers() | ||
| b6238c87 | 2020-11-11 14:48:23 | Don't try to build the RAWINPUT driver if HIDAPI is disabled | ||
| d1e10c31 | 2020-11-11 14:38:14 | Removed debug output | ||
| 07eae7d6 | 2020-11-11 08:47:18 | Fix process randomly getting killed when SDL_THREAD_PRIORITY_HIGH/TIME_CRITICAL is set When we request realtime priority from rtkit, we have a rttime limit. If we exceed that limit, the kernel will send SIGKILL to the process to terminate it. This isn't something that most high priority processes will want, only processes that selectively opt into SCHED_RR/FIFO through SDL_HINT_THREAD_PRIORITY_POLICY should be subject to this level of scrutiny. This change: * Switches non-apple posix OSs to use SCHED_OTHER instead of SCHED_RR for SDL_THREAD_PRIORITY_HIGH/SDL_THREAD_PRIORITY_TIME_CRITICAL. * Fixes using a hardcoded RLIMIT_RTTIME, instead queries it from rtkit * Only sets RLIMIT_RTTIME for MakeRealtime rtkit requests * Adds a note regarding the possible SIGKILL with SDL_HINT_THREAD_PRIORITY_POLICY * Introduces SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL to allow apps to acquire realtime scheduling policies on Linux | ||
| 067630ae | 2020-11-11 03:47:08 | Fix hidapi for unhandled DS4 headset microphone data corrupting controller state | ||
| 59795822 | 2020-11-11 12:33:55 | make SDL_SensorGetDeviceNonPortableType match its prototype. | ||
| 53b16679 | 2020-11-11 12:33:55 | SIZE_MAX need not be defined in limits.h it can be in limits.h (windows) or stdint.h. | ||
| e12457d8 | 2020-11-10 12:26:30 | Added support for the Xbox Series X controller to the HIDAPI driver | ||
| 7b5a0a9f | 2020-11-10 13:12:10 | uikit: Don't implement main() twice for iOS static libs. I think this was a leftover from before the two Xcode projects were merged. | ||
| 940419b0 | 2020-11-10 13:09:59 | uikit: Fixed a typo in a comment. | ||
| c3dea231 | 2020-11-09 22:39:33 | Added support for reading the paddles on a Xbox Elite Series 2 controller in Bluetooth mode | ||
| 02de8200 | 2020-11-09 20:36:35 | Add Zhaoxin processor support CPU Vendor ID "Shanghai" and "CentaurHauls" belongs to Zhaoxin. Background: Shanghai Zhaoxin Semiconductor Co., Ltd ("Zhaoxin") , established in 2013, headquartered in Zhangjiang, Shanghai, China. Zhaoxin aims at providing general-purpose x86 processors. Related Zhaoxin Linux Kernel patch can be found at https://lore.kernel.org/lkml/01042674b2f741b2aed1f797359bdffb@zhaoxin.com Best regards. | ||
| fb4a406a | 2020-11-09 18:45:22 | Don't put 'm' in the GUID for Xbox and PS4 controllers on iOS | ||
| f656d845 | 2020-11-09 10:29:10 | Fixed typo in the documentation | ||
| f8b8bd0b | 2020-11-09 10:12:02 | ControllerList: recategorize controller as swtich pro and not switch input-only controller | ||
| f76ca057 | 2020-11-09 10:11:59 | ControllerList: add unknown xbox controller from minidumps | ||
| 94924f01 | 2020-11-09 10:11:55 | Fix failing to set high priority for threads on Linux desktop. Debugging inside rtkit showed we were failing the RLIMIT_RTTIME check, now that we're asking for realtime and not just high-priority due to a change in SDL. Between that and the DBus code in SDL being wrong in previous changelist I'm not sure how this could have ever worked. | ||
| abf9dfd5 | 2020-11-09 10:11:38 | Fix MakeThreadRealtime DBus method call on Linux, type mismatch due to copy paste. Nov 02 20:34:15 redcore rtkit-daemon[2825]: Failed to parse MakeThreadRealtime() method call: Argument 1 is specified to be of type "uint32", but is actually of type "int32" Nov 02 20:34:15 redcore rtkit-daemon[2825]: Failed to parse MakeThreadRealtime() method call: Argument 1 is specified to be of type "uint32", but is actually of type "int32" Docs: http://git.0pointer.net/rtkit.git/tree/README CLIENTS: To be able to make use of realtime scheduling clients may request so with a small D-Bus interface that is accessible on the interface org.freedesktop.RealtimeKit1 as object /org/freedesktop/RealtimeKit1 on the service org.freedesktop.RealtimeKit1: void MakeThreadRealtime(u64 thread_id, u32 priority); void MakeThreadHighPriority(u64 thread_id, s32 priority); | ||
| 5d34e3c6 | 2020-11-09 09:47:19 | Fixed linking iOS shared library | ||
| c3a32605 | 2020-11-09 04:55:15 | testvulkan: Patched to compile with SDL's internal Vulkan headers. | ||
| 1577366c | 2020-11-08 23:49:03 | Fixed duplicated switch statement processing Xbox controller dpad state | ||
| 1ef45c18 | 2020-11-08 23:40:17 | Fixed bug 5339 - Minor memory leak in SDL_x11events.c wcodelyokoyt The atom name that X11_GetAtomName() returns never gets freed, which result in a minor memory leak (14 bytes?) every time the user drops a file on a window. You can see the line in question here: https://github.com/spurious/SDL-mirror/blob/6b6170caf69b4189c9a9d14fca96e97f09bbcc41/src/video/x11/SDL_x11events.c#L1350 Fix: call XFree on name after the while loop. | ||
| 723d76c8 | 2020-11-08 23:34:59 | Fixed bug 5333 - Replace character of legacy code page with utf-8 one. Joel Linn This patch fixes a MSVC warning, which is dependent on the regional settings of the build system. Although the character is inside a comment and harmless, it is undesirable to disable the warning for this. | ||
| 0e4ce848 | 2020-11-08 20:57:17 | opengl: Make diagonal lines match the software renderer. OpenGL leaves the final line segment open, SDL's software renderer does not, so we need a tiny bit of trigonometry here to move one more pixel in the right direction. | ||
| da49f795 | 2020-11-08 19:56:12 | opengles: use glDrawArrays() correctly with GL_LINE_STRIP. | ||
| de6d0ac5 | 2020-11-08 18:11:42 | uikit: Patched to compile on older iOS SDKs. | ||
| 93a2c58c | 2020-11-08 12:37:09 | opengl: Use GL_LINE_STRIP instead of breaking down into seperate GL_LINES. Surely GL drivers have improved in the last seven years. I hope...? | ||
| b198febb | 2020-11-08 10:22:27 | Documentation: fix minor gamecontroller parameter warning | ||
| 731a5d1c | 2020-11-08 03:18:05 | metal: Fix line drawing, again. | ||
| 4ea1a10b | 2020-11-07 02:49:22 | Added stub controller LED functions for WGI and RAWINPUT (thanks meyraud!) | ||
| 009b62f1 | 2020-11-07 02:22:15 | Be explicit about mapping the new game controller paddle buttons | ||
| 3a438848 | 2020-11-06 17:06:41 | Document the Xbox One Elite paddle buttons | ||
| 749062e7 | 2020-11-06 16:53:13 | Implemented SDL_GameControllerSetLED() for iOS/tvOS | ||
| faeac6e8 | 2020-11-06 16:42:46 | Added additional game controller button support on iOS/tvOS | ||
| cf8d3bef | 2020-11-06 16:01:43 | Added iOS controllermap test | ||
| 5a92edee | 2020-11-06 15:54:18 | Don't try to map the accelerometer as a game controller | ||
| d5e367a4 | 2020-11-06 14:45:36 | Fixed build so CoreBluetooth framework is only needed by hidapi Also added plist keys for Bluetooth permission so testgamecontroller works with HIDAPI enabled | ||
| 59a644fb | 2020-11-06 14:44:26 | iOS should use the same size window for the controller tests as other platforms Otherwise the position of the button and axis elements won't be correct | ||
| fbf0484a | 2020-11-06 14:08:11 | Embed the hidapi framework for the iOS and tvOS game controller test | ||
| 9a446aa9 | 2020-11-06 13:55:51 | Note that SDL_CONTROLLER_BUTTON_AUX1 is sent for the PS4/PS5 touchpad button on the HIDAPI driver. | ||
| 1bd4b7fd | 2020-11-06 13:03:07 | Updated iOS tests and demos for latest SDL linking requirements | ||
| e87fbb1a | 2020-11-06 11:33:49 | Removed old iOS-only project and demos | ||
| dc60b975 | 2020-11-06 11:32:59 | Removed old iOS-only project and demos |