Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 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 | ||
| 3a3aaac2 | 2020-11-06 11:30:52 | Added 4 auxiliary buttons to the game controller API Xbox Elite controllers use AUX1-AUX4 to represent the paddle buttons when using the HIDAPI driver PS4 and PS5 controllers use AUX1 to represent the touchpad button Nintendo Switch Pro controllers use AUX1 to represent the capture button | ||
| a22beef4 | 2020-11-05 17:03:28 | Moved the PS5 controller driver to a separate file, as the advanced feature protocol is very different from that of the PS4 | ||
| bd2dd3f6 | 2020-11-05 15:36:15 | Added Android mapping for the Sony PS5 Controller | ||
| 4d79f966 | 2020-11-05 15:02:54 | Added initial support for the Sony PS5 Controller | ||
| e555d453 | 2020-11-05 11:07:54 | Added SDL_JoystickHasLED Currently, this is only supported by the PS4 HIDAPI driver. | ||
| 1b8dee7c | 2020-10-31 11:32:40 | coreaudio: Remove unnecessary include of CoreServices.h | ||
| 79221e85 | 2020-10-29 20:00:20 | SDL_stdinc.h: define _DARWIN_C_SOURCE on macOS for memset_pattern4() hopefully fixes https://bugzilla.libsdl.org/show_bug.cgi?id=5107 | ||
| 311ae829 | 2020-10-28 14:03:05 | Android: keep compatibility with older JDK | ||
| 97cf3145 | 2020-10-27 21:14:49 | Android: apply code simplications found with lint / Android Studio | ||
| ddc0727b | 2020-10-27 09:00:42 | Fixed implicit memcpy() when building for ARM64 on Windows (thanks Seigo!) | ||
| 010d5fba | 2020-10-26 09:49:09 | kmsdrm: Make this build with significantly older system libraries. This allows one to build Raspberry Pi versions on an ancient version of Raspbian and get both the KMSDRM and RPI video targets built into SDL, giving maximum binary compatibility from linking against an older glibc, etc, but also making one library that can access video on all RPi models and OS releases. | ||
| f0c58417 | 2020-10-25 10:10:10 | SDL_shape_internals.h: forward-declare struct SDL_ShapeTree. | ||
| a4040293 | 2020-10-25 10:10:02 | os2: misc build fixes | ||
| bfc80d83 | 2020-10-25 03:55:02 | minor coding style cleanup | ||
| 0360987f | 2020-10-24 20:31:04 | Android: fix deprecated onCreateDialog() methods | ||
| 5dc6c3c9 | 2020-10-24 10:46:18 | Updated Vulkan headers to version 1.2.158 https://github.com/KhronosGroup/Vulkan-Headers | ||
| fbbc4ab3 | 2020-10-24 20:12:50 | os2: can build with libsamplerate support if wanted to. | ||
| 96704168 | 2020-10-24 15:36:05 | Android: fix Clipboard deprecated methods | ||
| 5682b066 | 2020-10-22 19:51:57 | kmsdrm: Add comment about KMSDRM_VideoQuit() changes. | ||
| 63b78277 | 2020-10-22 19:44:38 | kmsdrm: properly exit with an error when ATOMIC interface is not yet available, instead of just segfaulting. | ||
| a3262205 | 2020-10-22 17:55:45 | kmsdrm: rearrange init function so we try ATOMIC compatibility first. | ||
| b1ea0be8 | 2020-10-22 17:06:34 | kmsdrm: Add missing checks after SDL_calloc() calls. | ||
| ad9ec8b3 | 2020-10-22 16:15:34 | kmsdrm: Small fix, missing bracket. | ||
| 87a86675 | 2020-10-22 16:01:51 | kmsdrm: Always use spaces for indentation. Always use SDL_calloc() for calloc. | ||
| cfc13620 | 2020-10-21 23:28:02 | os2 video: updates to my_gradd.h | ||
| 3d92e8c7 | 2020-10-21 10:43:46 | hidapi: Also parse data[12] with dpad values on the xb1s controller | ||
| ba36eb04 | 2020-10-21 00:03:33 | metal: Make line drawing match software renderer. Partially fixes Bugzilla #2711. | ||
| f1b603ac | 2020-10-20 11:51:23 | Fixed bug 5323 - SDL_SetWindowMaximumSize fails if Width or Height is equal to minimum Height or Width batyastudios Basicly there is problem and somewhat a solution: https://discourse.libsdl.org/t/setwindowmaximumsize-bug/28267 If you SDL_SetWindowMaximumSize() after SDL_SetWindowMinimumSize() with one of axes have the same value, function will have no effect. This: (line 2144@SDL_video.c) if (max_w <= window->min_w || max_h <= window->min_h) { SDL_SetError("SDL_SetWindowMaximumSize(): Tried to set maximum size smaller than minimum size"); return; } May be changed to this: if (max_w < window->min_w || max_h < window->min_h) { SDL_SetError("SDL_SetWindowMaximumSize(): Tried to set maximum size smaller than minimum size"); return; } | ||
| cbadd1e3 | 2020-10-20 20:32:20 | geniconv/os2iconv.c: make it build correctly against os2tk headers. | ||
| c33f8083 | 2020-10-20 11:12:49 | render: Restoring line rendering fixes that were previously put on hold. (Backed out hg changeset 7a4240daba46) | ||
| f311e0a8 | 2020-10-19 17:29:16 | Removed debug log message | ||
| 73010da4 | 2020-10-19 17:26:33 | x11events: ignore UnmapNotify events from XReparentWindow UnmapNotify event does not mean that window has been iconified. It just reports that window changed state from mapped to unmapped. XReparentWindow can unmap and remap window if it was mapped. This causes unnecessary events - HIDDEN, MINIMIZED, RESTORED and SHOW. These events are problematic with Metacity 3.36+ which started to remove window decorations from fullscreen windows. - SDL makes decorated window fullscreen - Metacity removes decorations - SDL gets UnmapNotify and exits from fullscreen - Metacity re-adds decorations As SDL will also get MapNotify event it will try to restore window state causing above steps to repeat. https://bugzilla.libsdl.org/show_bug.cgi?id=5314 | ||
| e37a9385 | 2020-10-19 04:33:03 | Makefile.os2: remove duplicated OPTION QUIET directives from linker file | ||
| ffb307e4 | 2020-10-18 09:52:56 | Fixed bug 5304 - add SDL_HasSurfaceRLE() (Thanks Rene Dudfield and Dan Lawrence) | ||
| 19a65a46 | 2020-10-17 21:47:05 | Fixed bug 5321 - crash in SDL_ConvertSurface with RLE surfaces keep RLE information in flags when converting the surface | ||
| c70191d2 | 2020-10-17 07:37:00 | SDL_os2video.c (OS2_CreateDevice): remove duplicated assignment. | ||
| 77d0f043 | 2020-10-16 23:50:00 | os2video.c: add missing FOURCC_R666 define, enable FOURCC_R666 case in _getSDLPixelFormatData(). | ||
| 99ed0d7a | 2020-10-16 12:40:12 | Map the guide button by default on Android 11 | ||
| 3755f692 | 2020-10-16 12:40:10 | Added mapping for Xbox One S controller and PS4 controller on Android 11, including guide button | ||
| b8ed432c | 2020-10-16 12:35:30 | Added a note about Android 11 | ||
| df52c504 | 2020-10-16 09:45:40 | Backed out changeset 2f59f1264083 | ||
| 52b319fe | 2020-10-16 02:50:10 | minor update to os/2 config file and update. binary (dll) output doesn't change. | ||
| 58976bda | 2020-10-15 12:00:15 | Allow more than one window on iOS as long as they're on different displays | ||
| a90f0400 | 2020-10-15 21:37:30 | os2: a _lot_ of coding style cleanup, sot that they match the SDL style. also renamed the 'debug' macro to debug_os2: the former was dangerously a common name. the binary (dll) output is precisely the same as before. | ||
| bdc5129f | 2020-10-15 10:13:46 | Use a high priority dispatch queue for GCKeyboard and GCMouse events for the lowest latency possible This appears to reduce latency between 1-4 ms on an iPad Pro. | ||
| a3a0ef75 | 2020-10-15 10:13:44 | Added support for low latency mouse and keyboard handling in iOS 14 The mouse support in iOS 14.0 has a bug with accumulating duplicate mouse deltas that won't be fixed until iOS 14.1, so we don't enable it until then. | ||
| d9aea0c3 | 2020-10-15 10:13:42 | Update the existing haptic player when we rumble on iOS | ||
| 645a3280 | 2020-10-15 10:13:40 | Fix iOS and tvOS builds - Fix iOS and tvOS scheme names - Add iOS/tvOS Developer signing identities and development team to iOS and tvOS shared library schemes | ||
| cca16c9c | 2020-10-15 17:56:19 | kmsdrm: merge GetDisplayDPI implementation by bms20 <brett@mynah-software.com> | ||
| d2723875 | 2020-10-14 23:01:06 | os2: integrate the port into main tree. | ||
| 20db1471 | 2020-10-14 23:01:06 | added documentation docs/README-os2.md (based on original readme.os2). | ||
| 5807cb3d | 2020-10-14 23:01:06 | os2: remove dependency to gradd.h from IBM's ddk which is non-free: Add a minimal my_gradd.h containing structures and constants only used by SDL_os2vman.c -- based on public knowledge from around the internet including pages from http://www.osfree.org and http://www.edm2.com . | ||
| b6965a17 | 2020-10-14 23:01:05 | os2: Andrey Vasilkin agreed that his code to be put under Zlib license: add SDL license headers to geniconv sources. | ||
| 1d9cf23e | 2020-10-14 23:01:05 | os2: updated copyright dates for 2020. header guard fixes. |