Log

Author Commit Date CI Message
Ryan C. Gordon d8b1ef42 2022-11-15T22:18:51 pulseaudio: Only use PA_STREAM_ADJUST_LATENCY if buffer isn't super small. Fixes #6121.
Ozkan Sezer 06492c59 2022-11-16T00:20:28 CI, MSVC: update to use microsoft/setup-msbuild v1.1.3. Fixes github deprecation warnings
Sam Lantinga 02ab7f37 2022-11-15T12:57:07 Fixed release build using clang on Windows
Sam Lantinga 98f93d0a 2022-11-15T11:39:06 Fixed building without xkbcommon support
Sam Lantinga 615901db 2022-11-15T11:19:08 Removed unnecessary header The xkbcommon-keysyms.h header isn't available on some older systems, and we don't actually need it for this code.
Frank Praznik 0e446c54 2022-11-04T12:27:36 events: Factor out the xkb keysym to scancode conversion from the X11 driver
Frank Praznik c8551847 2022-11-04T12:41:46 wayland: Handle virtual keyboards that don't fit the X mapping SDL is built around the concept of keyboards having a fixed layout with scancodes that correspond to physical keys no matter what linguistic layout is used. Virtual keyboards don't have this concept and can present an arbitrary layout of keys with arbitrary scancodes and names, which don't fit the SDL model. When one of these keyboards is encountered, it requires special handling: use the keysym of the pressed keys to derive their ANSI keyboard scancode equivalents for control keys and ASCII characters. All other characters are passed through as text events only.
Frank Praznik d1858eb1 2022-11-04T12:33:45 events: Add a helper function to get the default keycode for a scancode Add a helper function to get the keycode for a scancode from the default lookup table. Unlike SDL_GetKeyFromScancode(), this is not affected by the set keymap.
Ryan C. Gordon 44d7b8b9 2022-11-15T13:57:01 egl: Check for a NULL pointer in SDL_EGL_GetProcAddress. This happens on kmsdrm if you try to GetProcAddress before creating a window. Fixes #5399.
Ethan Lee f3cc99fb 2022-11-15T13:56:44 x11: Minor style fixes for recent OSK changes
Anonymous Maarten e6c4db81 2022-11-15T19:22:42 The SDL2::SDL2 target in SDL2.framework needs to see the SDL2 include folder SDL.h includes other files through SDL2/SDL_xxx.h
Sam Lantinga 70656b13 2022-11-15T10:18:41 Don't recreate the window when creating a Metal renderer on an OpenGL window. It turns out that we can safely create a Metal view on an existing window, and that avoids issues with the window being recreated with the wrong orientation in iOS 16. Fixes https://github.com/libsdl-org/SDL/issues/6289
Pierre Wendling a71ad40a 2022-11-15T13:04:22 CMake: Add option to use Ccache.
SDL Wiki Bot 5e61f245 2022-11-15T05:25:16 Sync SDL wiki -> header
Pierre Wendling 491d0bcc 2022-11-14T17:38:42 N3DS: Refactor N3DS_FileOpen.
Pierre Wendling dcfa127f 2022-11-14T17:34:22 N3DS: Document the SDL_GetBasePath behaviour.
Pierre Wendling de5fa89b 2022-11-14T16:56:51 N3DS: Prepend PrefPath with `sdmc:`.
Pierre Wendling 7d536d52 2022-11-14T16:16:21 N3DS: Put `SDL_Log.txt` in the proper directory. The homebrew "user" directory should be `/3ds/`. To avoid ambiguity, `sdmc:` is specified.
Pierre Wendling bf4f9aaa 2022-11-14T16:11:58 N3DS: Use designated initialiser for drivers. Just a sanity check that the functions are actually mapped correctly.
Pierre Wendling 80ff20f6 2022-11-14T23:56:20 N3DS: Set keyboard focus to newly created windows. This fixes polling issues with Joystick subsystem where `SDL_PrivateJoystickShouldIgnoreEvent` would always return true, thus ignoring all inputs.
Pierre Wendling d080e3bf 2022-11-14T17:56:48 Silence `-Wmaybe-uninitialized` warnings in tests.
Sam Lantinga a40b7cde 2022-11-14T13:03:52 Workaround for views being in portrait instead of landscape mode on iOS 16 Fixes https://github.com/libsdl-org/SDL/issues/6289
Sam Lantinga 9f784b18 2022-11-14T10:58:59 The iOS and tvOS demos link SDL statically, not as a framework
pionere b886f4c6 2022-11-14T17:35:28 events: eliminate redundant code in SDL_SendEditingText
pionere dad8df3e 2022-11-14T08:20:31 video: check graphics flags the same way in SDL_RecreateWindow as in SDL_CreateWindow - single check to validate the graphics flags - check it before tearing down the window
Frank Praznik eef4d3c8 2022-11-13T16:56:04 wayland: Clamp wl_seat version on older versions of libwayland Clamp the wl_seat max version to 5 if being built against a version of libwayland below 1.21.0, or containers that bundle newer versions of SDL with older versions of libwayland can break if the compositor advertises support for a protocol version above 5.
Sam Lantinga 67498926 2022-11-13T11:09:20 Fixed warning Fixes https://github.com/libsdl-org/SDL/issues/5842
Sam Lantinga 1b0277da 2022-11-13T11:08:37 Move SDL_mslibc.c into the source file list
Ethan Lee c4b9f621 2022-11-13T12:45:13 x11: Add support for the Steam Deck on-screen keyboard
pionere 5f2a1231 2022-11-13T08:00:03 video: check graphics flags the same way as the type flags
pionere 22354b41 2022-11-12T08:29:15 video: simplify window-type check in SDL_CreateWindow
Ryan C. Gordon 85aa9b8b 2022-11-11T13:47:36 wasapi: Favor the system resampler again, for now. Reference Issue #5538.
Sam Lantinga 9f8b68a2 2022-11-11T10:24:17 Fixed building without linux/input.h https://github.com/libsdl-org/SDL/issues/6169
Sam Lantinga b7e65a81 2022-11-11T08:57:07 Fixed incorrect WGI controller state when the application loses focus Recenter the controller elements when WGI stops reporting valid state Fixes https://github.com/libsdl-org/SDL/issues/5261
Michael Fitzmayer 875e9b35 2022-10-26T15:19:28 N-Gage: additional cleanup
Michael Fitzmayer afbafc2a 2022-10-21T08:11:48 Remove redundant dependency to bitdraw.h, minor cleanup
pionere d09edcbc 2022-11-11T12:10:27 video: sync Metal_CreateView with GL_CreateContext and Vulkan_CreateSurface no need to check if _this->Metal_CreateView, since it is already checked in Re(create)Window
pionere b71d9274 2022-11-11T12:09:15 video: add NOT_AN_OPENGL_WINDOW define (similar to NOT_A_VULKAN_WINDOW)
pionere 36c6ed4b 2022-11-11T08:33:55 video: add SDL_DllNotSupported - add SDL_DllNotSupported and use it to sync the behavior of SDL_GL_LoadLibrary with SDL_Vulkan_LoadLibrary
Ozkan Sezer dd44cacb 2022-11-11T12:51:30 remove duplicated SDL_hidapi_steam.c additions to watcom makefiles.
Sam Lantinga 0dfc829a 2022-11-10T19:16:53 Added simple BLE Steam Controller support on all platforms This is still disabled by default via the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM
Sam Lantinga f430ef5d 2022-11-10T17:27:48 Don't change the window position when creating it on iOS, it is already placed on the correct display
Sam Lantinga 7c05ea0a 2022-11-10T13:35:40 Added mappings for the GameSir T3 and T4 Pro controllers
Sam Lantinga 404cb276 2022-11-10T13:28:03 Added macOS mappings for the Nintendo Switch Pro Controller over Bluetooth
pionere 29cafa9c 2022-11-10T08:23:16 add SDL_ContextNotSupported and validate flags in SDL_RecreateWindow similar to SDL_CreateWindow
Ryan C. Gordon 1008cc8e 2022-11-09T12:55:27 video: Add some braces to match SDL coding style.
pionere ac3349fa 2022-11-09T09:11:04 solve FIXMEs in SDL_video.c
pionere e5c599f8 2022-11-09T09:02:23 fix SOLARIS_ATOMICS - use 'sizeless' int types (int uses 32-bit even if _LP64 is set)
pionere b095df7f 2022-11-08T08:39:43 simplify MSC_ATOMICS - use _Interlocked(Compare)ExchangePointer in case of _M_IX86 as well - improve assertions: 1. add assertions to SDL_AtomicAdd/SDL_AtomicSet and SDL_AtomicCAS 2. use sizeof(a->value) instead of sizeof(int)
meyraud705 3dc88da0 2022-11-08T13:27:56 Fix Dualshock 4 rumble stopping too early Dualshock 4 controller only rumbles for 5 seconds maximum. Resend rumble command every 2 seconds to make long rumble work.
Sam Lantinga 6432f45a 2022-11-08T10:27:21 Don't treat the Nintendo IMU as a separate game controller on Linux
Sam Lantinga 2e3b4f3f 2022-11-08T07:50:51 Don't send rumble to the Amazon Luna controller on macOS Sending rumble to the Amazon Luna controller on macOS gets there, but IOHIDDeviceSetReport() blocks for a long time and eventually fails. This appears to be a bug in the macOS Bluetooth stack, ref rdar://99265496
Sam Lantinga 02bc359b 2022-11-07T19:31:18 Shorten "Bensussen Deutsch & Associates,Inc.(BDA)" to "BDA" for controller names
Ryan C. Gordon b0dc6709 2022-11-07T14:26:48 coreaudio: Don't use deprecated kAudioObjectPropertyElementMaster symbol. Fixes #6449.
Ozkan Sezer db01016d 2022-11-07T21:15:30 revert replace AM_PATH_SDL2 usage with corresponding PKG_CHECK_MODULES. Reference issue: https://github.com/libsdl-org/SDL/issues/6494 .
pionere e873d609 2022-11-07T10:02:06 fix handling of SDL_EventQ.active - SDL_EventQ.active is a bool variable -> do not use SDL_AtomicGet/Set, it does not help in any way - protect SDL_EventQ.active with SDL_EventQ.lock - set SDL_EventQ.active to FALSE by default
pionere eb670742 2022-11-07T09:05:32 better SDL_AtomicGet(Ptr) implementation
Ozkan Sezer 64c93f78 2022-11-06T23:51:04 replace AM_PATH_SDL2 usage with corresponding PKG_CHECK_MODULES.
Hubert Maier 5dc93451 2022-11-06T20:49:37 JANITORIAL : Correct some more spelling mistakes (#6489)
Sam Lantinga c2675d74 2022-11-06T10:52:20 Revert "cocoa: Discard the IME Candidate Window immediately when Escape is pressed" This reverts commit 0d76e2a8a1a8e6a2801123587c2205a288d49406, as it introduced other issues: https://github.com/libsdl-org/SDL/pull/6486#issuecomment-1304684865
Sam Lantinga f2ce7c5f 2022-11-06T08:23:08 Added the G29 as a PlayStation controller
Sam Lantinga 9d1dbd2a 2022-11-06T01:16:52 Added note about trigger rumble availability across third-party Xbox One controllers
Sam Lantinga e7a56323 2022-11-06T01:43:05 Make sure we wait after sending the rumble packet when initializing the PowerA Xbox One Mini Wired Controller
Sam Lantinga 6875e62a 2022-11-06T01:15:20 Make sure we don't send Xbox controllers rumble so quickly that it overwhelms the firmware Fixes https://github.com/libsdl-org/SDL/issues/6435
Sam Lantinga 38af459d 2022-11-06T01:15:19 Fixed potential clobbering of packets of different types using SDL_HIDAPI_SendRumble()
Sam Lantinga e45cb5b1 2022-11-06T01:15:18 Fixed initializing the PowerA Xbox One Mini Wired Controller
Edward Li 0d76e2a8 2022-11-06T04:59:02 cocoa: Discard the IME Candidate Window immediately when Escape is pressed
Sam Lantinga 15a98909 2022-11-05T16:44:52 Added SDL_HINT_HIDAPI_IGNORE_DEVICES to specify devices that should be ignored in SDL_hid_enumerate()
Sam Lantinga 297ecb70 2022-11-05T15:58:30 Added SDL_strcasestr() for a case insensitive version of SDL_strstr()
Sam Lantinga a4626dea 2022-11-05T14:24:41 Fixed initializing the PDP Xbox One and Victrix Gambit controllers
Sam Lantinga 7e11b09b 2022-11-05T13:50:37 The PowerA Xbox One Mini Wired Controller works with the HIDAPI driver now
Sam Lantinga a2d66b6a 2022-11-05T13:12:10 SDL_GameControllerMapping() should return the string for the actual mapping that was used when opening a gamecontroller, rather than do a GUID match again Also don't match against the zero guid if that happens to be in the mapping list for some reason
Stefan Sperling f3bf543e 2022-11-05T15:21:29 recognize game controllers connected via raphnet technologies WUSBMote v2.2 This is a USB adapter for controllers shipped with Nintendo's NES-mini and SNES-mini consoles. Tested with both NES and SNES controllers, buttons map as expected on both.
Sam Lantinga 24cdebe4 2022-11-05T10:34:08 Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED to control the brightness of the Xbox button LED on the Xbox One controller
Ryan C. Gordon 78f97108 2022-11-05T10:38:33 audio: Avoid accumulation errors in resampler. Fixes #6391.
David Edmundson 689218eb 2022-11-04T12:07:20 Fix wayland reconnection paths Most of this code is disabled out for now. - For mouse cursors we have a wl_surface for both system and custom cursors which needs recreating. - The other patch is about nullification after deletions
Sam Lantinga 33a68f57 2022-11-03T16:02:58 Added Linux mappings for the Logitech G29 in PS3 and PS4 modes
Sam Lantinga c70e6759 2022-11-03T12:37:54 Wait a bit for devices to initialize before trying to enumerate and open them. This works around udev event nodes arriving before hidraw nodes and the controller being opened twice - once using the Linux driver and once by the HIDAPI driver. This also fixes a kernel panic on Steam Link hardware due to trying to open the hidraw device node too early. A delay of 10 ms seems to be a good value, tested on Steam Link hardware.
Guldoman 084fa4c3 2022-11-01T10:55:17 cocoa: Reset IME when sending composed text This will send an empty `TEXTEDITING` event that is used to signal the end of the composition.
Anonymous Maarten 61297f70 2022-10-29T03:20:30 cmake: on Apple, check for presence of an OBJC compiler
Anonymous Maarten 04bcc910 2022-10-29T03:14:54 cmake: don't do enable_language(OBJC) When SDL is included as a subproject, the following error might appear: ``` CMake Error: Error required internal CMake variable not set, cmake may not be built correctly. Missing variable is: CMAKE_OBJC_COMPILE_OBJECT ``` This is probably because the master project does not see certain OBJC related variables
Luca Lolli b50e4293 2022-09-07T12:21:56 Fix compilation for .m files extension
Anonymous Maarten 4c704ecf 2022-11-01T16:33:21 cmake: use SDL2-static as static library output name when prefix/static == ""/".lib" Apparently, some clang@Windows compilers do this.
Guldoman 70a41f9b 2022-11-01T09:59:16 wayland: Read `window` data only if `window` is valid
Sam Lantinga b75d3187 2022-10-31T13:33:53 Sometimes the HID open doesn't succeed immediately after being notified about the device Tested on Steam Link hardware with the Nintendo Switch Pro controller, which will occasionally take 2 attempts to open.
Jasper Hugunin 27ee8c8e 2022-10-28T22:35:16 Fix mismatch between Init and Quit Init says that audio implies events (line 195), Quit was missing the implication.
Frank Praznik 33a43005 2022-10-31T12:23:51 wayland: Don't modify the mouse capture flag in relative mode If relative mouse mode is explicitly enabled, don't modify the capture flag on button events or the window might report having lost mouse focus if a button is pressed while moving the cursor.
Simon McVittie a66cb8cf 2022-10-31T11:44:32 sdl2.m4: Deprecate AM_PATH_SDL2 in favour of PKG_CHECK_MODULES AM_PATH_SDL2 doesn't add much beyond PKG_CHECK_MODULES, and having a special m4 macro for every library that you might depend on scales poorly. The macro does add special support for macOS frameworks, but that feature was broken for around 6 years without anyone noticing (#6141), and is likely to be only rarely useful according to comments on #6141. Resolves: #6140 Signed-off-by: Simon McVittie <smcv@collabora.com>
Simon McVittie e0d904e9 2022-10-31T12:05:36 sdl2-config.in: Deprecate sdl2-config Library-specific foo-config scripts duplicate very similar logic across various different projects, and tend to break cross-compiling, multilib (gcc -m32), Debian/Ubuntu multiarch and so on by only being able to have one sdl2-config at a time as the first one in the PATH. The direct replacement is pkg-config(1) or a compatible reimplementation like pkgconf(1), which relies on each library installing declarative metadata, like SDL's sdl2.pc (available since at least 2.0.0) and centralizes the logic into the pkg-config/pkgconf tool. Most uses of `sdl2-config --foo` can be replaced by something similar to `${PKG_CONFIG:-pkg-config} --foo sdl2`. Instead of adding a custom sdl2-config to the PATH or using its --prefix or --exec-prefix options, users of a custom installation prefix can use any of pkg-config's non-SDL-specific ways to influence the result, for example setting PKG_CONFIG_PATH, PKG_CONFIG_SYSROOT_DIR or PKG_CONFIG_LIBDIR environment variables, or setting the PKG_CONFIG environment variable to point to a wrapper script. For Autotools specifically, the replacement for AM_PATH_SDL2 (which will be officially deprecated in a subsequent commit) is PKG_CHECK_MODULES. CMake has its own semi-declarative mechanism for dependency discovery, "config packages", and the SDL build already installs a config package. There's a good example of using a config package to discover SDL in `cmake/test/`. Meson natively supports pkg-config, and already uses it in preference to sdl2-config. Other build systems can run pkg-config instead of sdl2-config, preferably checking the PKG_CONFIG environment variable first. https://github.com/ioquake/ioq3 is a good example of a project doing this correctly. Helps: #6140, #3516 Signed-off-by: Simon McVittie <smcv@collabora.com>
Hubert Maier 678ef797 2022-10-30T08:53:34 SDL_KMSDRMOPENGLES.H: Correct spelling mistakes begining -> beginning beggining -> beginning
Hubert Maier 8b9c82e1 2022-10-30T08:50:36 SDL_RENDER_PSP.C: Correct spelling mistakes wether -> whether
Hubert Maier 3369b016 2022-10-30T08:43:04 SDL_PS2_MAIN.C: Correct spelling mistake untill -> until
Hubert Maier d7a46a16 2022-10-30T08:37:23 SDL_SYSLOADSO.c: Correct spelling mistake publically -> publicly
Hubert Maier 6a881302 2022-10-30T08:35:59 SDL_IBUS.H: Correct spelling mistake recieve -> receive
Hubert Maier 61f3662c 2022-10-30T08:34:47 SDL_QSA_AUDIO.C: Correct spelling mistake occured -> occurred
Hubert Maier 57973cd3 2022-10-30T08:30:49 SDL_HINTS.H: Correct spelling mistake noticable -> noticeable
Ethan Lee 571ff1a3 2022-10-30T00:19:09 wayland: Prepare cursor implementation for reconnect support Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
Ethan Lee 9c8b1fd8 2022-10-29T22:34:05 wayland: Cleanup work to aid reconnect support Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
Sam Lantinga f6b1e028 2022-10-29T10:42:48 Allow vendor matching for hid_enumerate() on all backends
许兴逸 c360ca99 2022-10-29T16:55:10 Add UWP-ARM64 Support.