Sam Lantinga
7d92b14f46
Simplified Xbox One controller initialization state, and don't query for the serial number.
2020-11-25 01:18:18 -08:00
Sam Lantinga
9fc4a4c92c
Revamped Xbox One HIDAPI init sequence
...
Added support for querying the controller serial number on newer firmware
2020-11-24 22:25:26 -08:00
Sam Lantinga
e16afa792f
Automatically switch to testing a new controller when it's plugged in
2020-11-24 16:38:49 -08:00
Sam Lantinga
46a844786b
Added SDL_wcscasecmp() and SDL_wcsncasecmp()
2020-11-24 12:43:01 -08:00
Sam Lantinga
e4b7d9a221
Removed usage of TARGET_OS_OSX for building with older SDKs
2020-11-24 07:56:59 -08:00
Ethan Lee
a7d91ebaa5
winrt: Add EffectiveLocation support for newer Win10 releases
2020-11-09 17:05:21 -05:00
Sam Lantinga
16d789fba9
Disable compiler warning when using -fobjc-weak building C code
2020-11-24 07:30:39 -08:00
Sam Lantinga
a5cde4cb0c
Fixed trying to use @available() on older SDK
2020-11-24 07:29:55 -08:00
Sam Lantinga
b4338dda47
Enable -fobjc-weak when building MFI controller code
2020-11-24 07:22:29 -08:00
Sam Lantinga
97782e6c64
Don't try to call IOS_SupportedHIDDevice() if it's not defined
2020-11-24 07:11:49 -08:00
Sam Lantinga
a063b9fbfb
Fixed compiler warning
2020-11-24 07:06:31 -08:00
Sam Lantinga
c63bbb06e9
Including SDL_config_iphoneos.h enables MFI controller code
2020-11-24 06:55:33 -08:00
Sam Lantinga
eba069eaf0
It looks like the Objective C support needed to build MFI controller code is in 10.8
2020-11-24 06:53:48 -08:00
Ozkan Sezer
23ad4f4b8c
configure.ac: check GameController framework support when targeting Darwin
...
disables SDL_JOYSTICK_MFI for i386 or if MAC_OS_X_VERSION_MIN_REQUIRED < 1090
--disable-joystick-mfi disables it unconditionally.
2020-11-24 14:10:30 +03:00
Ozkan Sezer
711d409032
CMakeLists.txt: add src/joystick/iphoneos/*.m to Darwin joystick sources
...
.. so that there won't be missing symbols.
TODO: add checks for SDL_JOYSTICK_MFI ???
2020-11-24 14:10:30 +03:00
Sam Lantinga
7a05dbf4b9
Fixed building on FreeBSD
...
Alex S
Looks like we have a collision with https://hg.libsdl.org/SDL/rev/cd774daff9f6 . (Again, the headers in the base system are intended for drivers and should not be used for compiling non-base applications. At least that's the policy for now: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240964#c19 .)
2020-11-24 06:42:53 -08:00
Sam Lantinga
feab9d42c1
5363 - Memory leak of joystick->sensors in SDL_JoystickClose
...
Mathieu Eyraud
Joystick->sensors is never freed.
2020-11-24 06:40:13 -08:00
Sam Lantinga
34bea84a54
Fixed bug 5335 - Patch: enable joystick/haptic/evdev support by default on FreeBSD
...
Alex S
Ah, that's not quite enough. You need to:
1. rename src/joystick/bsd/SDL_sysjoystick.c to something;
2. regenerate configure.
2020-11-23 23:03:55 -08:00
Sam Lantinga
1e943e2ad2
Fixed building with an older SDK and macOS target
2020-11-23 22:59:22 -08:00
Sam Lantinga
1fc5ca6484
Fixed building with an older SDK and macOS target
2020-11-23 22:24:54 -08:00
Sam Lantinga
4121ab6200
Fixed bug 5354 - DirectFB: Add Vulkan support
...
Nicolas Caramelli
This patch adds Vulkan support for the DirectFB video driver.
A screenshot with SDL tests running on DirectFB is available on the HiGFXback project:
https://github.com/caramelli/higfxback/wiki/DirectFB#sdl
2020-11-23 21:25:07 -08:00
Sam Lantinga
e44bf8a080
Fixed bug 5359 - Incorrect sensor data from DualShock4
...
multiply gyro values by sensitivity
When the hardware calibration fails, values read from sensors need to be multiplied by default sensitivity (16 for gyro, 1 for accelerometer).
2020-11-23 21:18:37 -08:00
Sam Lantinga
c8c818d7a4
Fixed bug 5360 - non-libudev joystick detection doesn't see controllers that were already connected
...
Simon McVittie
When watching for hotplug events we can poll the inotify fd, but we
still need to scan /dev/input once per process, otherwise we'll fail
to detect devices that were already connected.
2020-11-23 21:14:37 -08:00
Simon McVittie
8e2746cfb6
joystick: Don't use udev in Flatpak or pressure-vessel container
...
Flatpak[1] and pressure-vessel[2] are known to use user namespaces,
therefore udev event notification via netlink won't work reliably.
Both frameworks provide a filesystem API that libraries can use to
detect them. Do that, and automatically fall back from udev-based
device discovery to the inotify-based fallback introduced in Bug #5337 .
[1] <https://flatpak.org/ >
[2] <https://gitlab.steamos.cloud/steamrt/steam-runtime-tools/-/tree/master/pressure-vessel >
Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-11-23 21:10:48 -08:00
Sam Lantinga
e9869e07bf
Fixed bug 5335 - enable joystick/haptic/evdev support by default on FreeBSD
...
Alex S
Evdev headers aren't actually included in the base system (well, it has a private copy), they are available through the devel/evdev-proto port instead. We also have devel/libinotify and devel/libudev-devd shims, I didn't verify whether they work with SDL.
2020-11-23 21:08:19 -08:00
Sam Lantinga
38ab8bf74b
Fixed bug 5362 - Mac OS ARM doesn't build Metal/Vulkan back-end/renderers
...
C.W. Betts
As it is, SDL2's built-in config on macOS for Metal excludes Apple Silicon. This is due to thinking that the 64-bit Mac platform would always be x86_64. My patch fixes this by using the catch-all of 64-bit platforms.
2020-11-23 21:03:43 -08:00
Sam Lantinga
62e39b5fa7
Fixed building with an older SDK and macOS target
2020-11-23 20:57:14 -08:00
Sam Lantinga
268aa45645
Fixed compiling with SDL_JOYSTICK_RAWINPUT disabled
2020-11-23 20:26:28 -08:00
Ryan C. Gordon
eaa53a1979
joystick: On Linux, don't try to close an invalid inotify file descriptor.
2020-11-23 22:16:07 -05:00
Ryan C. Gordon
5c9577476f
joystick: Fix up Linux joystick code to (mostly) compile on FreeBSD.
2020-11-23 22:14:22 -05:00
Sam Lantinga
179bd66581
Don't enable PS5 controller support if DS4Windows is running - they conflict.
2020-11-23 18:27:43 -08:00
Sam Lantinga
5b3616c325
Generalized the raw input controller driver and moved XInput/WGI detection into it for XInput devices
...
This fixes bad report parsing for various newer Xbox controllers, and this driver is now preferred over XInput, since it handles more than 4 controllers.
2020-11-23 18:24:05 -08:00
Ryan C. Gordon
0ff5d55a07
x11: Don't try to grab the pointer on an unmapped window (thanks, Lee!)
...
Fixes Bugzilla #5352 .
2020-11-23 21:07:28 -05:00
Sam Lantinga
04b45b5581
Allow testing a specific controller
2020-11-23 14:28:30 -08:00
Sam Lantinga
ff4bc1389c
Fixed mapping controllers after adding the touchpad button
2020-11-23 14:28:16 -08:00
Ozkan Sezer
4c96faee57
remove non-existing tslib support from autofoo and cmake
2020-11-23 20:37:10 +03:00
Sam Lantinga
fd89446782
Fixed building on Mac OS X on the command line and with an older macOS SDK
2020-11-21 14:13:26 -08:00
Sam Lantinga
1df593fb16
Fixed bug 5355 - Add GameController Framework support to macOS
...
C.W. Betts
This patch adds support to the GameController framework on macOS Big Sur and later, adding support for MFi controllers as well as rumble support for PS4 and Xbox One. There is some code to make sure that the IOKit joystick handler doesn't include two controllers at once.
While the GameController framework is present in earlier versions of macOS, there was no public, approved way of checking if a specific IOHIDDevice is a controller that GameController could handle. This was changed in Big Sur.
2020-11-21 13:15:33 -08:00
Sam Lantinga
5e0644c15a
Disable libusb by default, as it breaks on Linux when trying to use it with non-root permissions on some distributions
2020-11-21 12:55:56 -08:00
Sam Lantinga
870841c414
Reset the LED state after Bluetooth connection has completed on the PS5 controller
2020-11-21 11:59:01 -08:00
Sam Lantinga
120dc280ca
Enable HIDAPI by default
2020-11-21 11:25:26 -08:00
Sam Lantinga
a94fe009c6
Moved comment with the code it covers
2020-11-21 18:40:27 -08:00
Sam Lantinga
49f7be6d0d
Fixed compile warning C4127: conditional expression is constant
2020-11-21 18:37:56 -08:00
Sam Lantinga
63b52e8e67
Remove SDL dependency in Windows code
2020-11-21 18:34:32 -08:00
Sam Lantinga
d4954eb090
Removed debug code
2020-11-21 18:26:43 -08:00
Sam Lantinga
b442e617e9
Fixed adding an extra zero byte for feature reports
...
At least with PS4 and PS5 controllers DeviceIoControl() returns the correct value
2020-11-21 18:15:55 -08:00
Sam Lantinga
75721b191c
Allow testing effects on PS4 controllers
...
Note, this will switch the controller into advanced report mode which breaks DirectInput on Windows
2020-11-21 18:01:23 -08:00
Sam Lantinga
2e8e3854b8
Fixed compile warning
2020-11-21 17:59:15 -08:00
Sam Lantinga
6b56b98fc3
Fixed is_BLE() return value
2020-11-21 09:26:11 -08:00
Sam Lantinga
65c9f1d2cc
Fixed upstream bug: FD 0 is a valid file descriptor
...
https://github.com/libusb/hidapi/issues/199
2020-11-21 09:06:48 -08:00