1
0
Fork 0
Commit Graph

11 Commits

Author SHA1 Message Date
Arseny Kapoulkine dcefe95ae4 Configure SDL assuming we, in fact, have a libc.
Without this, on Linux and Linux alone, and only if SDL is builtin, the
definitions for some functions - notably, memset/memcpy - are taken from
SDL source.

This leaves them at the mercy of the compiler and may lead to the
optimal implementations of these functions not being selected. But the
main motivation for this is that it's action at a distance that is
incredibly surprising - linking in a gamepad support library should not
change the implementation of memset/memcpy!
2025-09-01 23:19:35 -07:00
Thaddeus Crews 52a5644b5f
Merge pull request #108214 from Nintorch/fix-joypad-vendor-product
Fix `Input.get_joy_info()` regression after the SDL input driver PR
2025-09-01 11:14:12 -05:00
Nintorch f28acf97d0 Fix Input.get_joy_info() regression
SDL input driver did not have the "xinput_index", "raw_name", "vendor_id" and "product_id" fields for this method and exposed an additional, essentially useless for the users "mapping_handled" field. This commit fixes these issues.
2025-08-29 22:13:40 +05:00
Nintorch dd2e1b104b Fix DirectInput controllers on game startup
Now SDL and DirectInput don't complain when a game starts with a DirectInput controller already connected. Fixes "JoypadSDL::process_events: Error opening gamepad at index 1: IDirectInputDevice8::SetCooperativeLevel() DirectX error 0x80070006"
2025-08-21 13:21:48 +05:00
Nintorch 197961ddc9 Process SDL joypad events on startup
Make sure that SDL events are processed when the SDL joypad input driver is initialized, this will allow it to register the connected controllers when a game starts.
2025-08-18 23:55:20 +05:00
Nintorch 5876648666 Fix C# environment variables (SDL-related issue)
For some reason, these SDL defines mess with C#'s ability to use environment variables
2025-08-11 11:34:30 +05:00
Nintorch 0e19ad507e Fix the usage of libudev and dbus with SDL
Previously, libudev was ignored if SOWRAP_ENABLED was defined (it is defined by default) because otherwise it would crash CI builds due to a missing header, and dbus was always linked dynamically. This commit should fix this issue and make libudev usable again
2025-07-31 15:05:06 +05:00
DanielSnd 71e498509d Add environment variable access defines to SDL linux build config 2025-07-18 10:37:52 -03:00
风青山 f82008d1a5
Use inotify to detect devices for better reliability on Linux
Fix the issue that some devices were not detected when hot plugged.
2025-07-07 17:46:07 +08:00
Pāvels Nadtočajevs 71dd7b5712
Fix SDL threading on macOS/Linux.
And fixup pkg-config check for SDL on Linux.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 10:36:39 +02:00
Nintorch 0b3496fb4f
Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00