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
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
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
870841c414
Reset the LED state after Bluetooth connection has completed on the PS5 controller
2020-11-21 11:59:01 -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
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
Sam Lantinga
549010f2a0
It takes 2 packets to stop audio haptics and start emulated rumble on the PS5 controller
2020-11-20 13:24:49 -08:00
Ozkan Sezer
082558db33
SDL_os2messagebox.c (_makeDlg): fix crash if title and/or message is NULL.
...
c.f.: bug #5253 .
2020-11-20 12:20:02 +03:00
Sam Lantinga
bf7d198d48
The HORI Fighting Commander should only show up as an XInput Switch Controller on Windows
2020-11-19 19:09:42 -08:00
Sam Lantinga
6cb7f9e39a
Respect SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS for Nintendo Switch Pro controllers using the HIDAPI driver
2020-11-19 19:09:40 -08:00
Sam Lantinga
9980766533
Respect SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS for the Nintendo Switch Pro controller on Linux
2020-11-19 19:09:38 -08:00
Sam Lantinga
7366693f3b
Added support for a few more controllers on Linux
2020-11-19 19:09:36 -08:00
Sam Lantinga
ffb4d960b2
Disabled Xbox protocol debugging
2020-11-19 19:09:34 -08:00
Sam Lantinga
c9b097e659
Clarify the meaning of the rumble enable bits for the PS5 controller
2020-11-19 13:31:16 -08:00
Sam Lantinga
c85623d790
Re-enable haptic audio after rumble on PS5 controller
...
Also make sure we don't set any other state when we're not intending to, and added more interesting effects which are currently not exposed via API
2020-11-19 13:10:14 -08:00
Sam Lantinga
b0b76a61c7
Fixed rumble on PS5 controllers connected to Windows over Bluetooth
2020-11-19 07:12:53 -08:00
Sam Lantinga
8c3196da60
Fixed some compiler warnings
2020-11-18 21:33:11 -08:00
Sam Lantinga
45f1437549
Experimenting with requesting the serial number on an Xbox One controller
2020-11-18 20:34:12 -08:00
Sam Lantinga
963d8b3f40
Fixed bits in the initial Xbox One protocol ack
2020-11-18 20:34:10 -08:00
Sam Lantinga
cd51a51f00
Updated with a better understanding of the Xbox One controller protocol
2020-11-18 20:34:08 -08:00
Ryan C. Gordon
335cfa107b
x11: Don't crash if a messagebox has a NULL title string.
...
Fixes Bugzilla #5253 .
2020-11-18 11:24:08 -05:00
Sam Lantinga
51ea6a6d44
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.
2020-11-17 22:09:52 -08:00
Sam Lantinga
463d84a860
Added support for the PS5 controller gyro and accelerometer
2020-11-17 10:56:56 -08:00
Sam Lantinga
fcb21aa883
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
2020-11-17 10:30:20 -08:00
Sam Lantinga
d140d88744
Added SDL_JoystickGetSerial() and SDL_GameControllerGetSerial()
2020-11-16 17:36:47 -08:00
Ryan C. Gordon
55e59a4f33
crc32: Fixed include path.
2020-11-16 18:48:13 -05:00
Sam Lantinga
7bbea0bb94
Fixed build warning
2020-11-16 15:10:02 -08:00
Sam Lantinga
71e32f5e1b
Added SDL_crc32()
2020-11-16 15:00:15 -08:00
Sam Lantinga
3d48fc05c3
Added notes about the pad lights on the PS5 controller
2020-11-16 13:21:02 -08:00
Sam Lantinga
4514ad573e
Fixed updating LED state when starting application with Bluetooth PS5 controller connected
2020-11-16 13:07:11 -08:00
Sam Lantinga
a37e3ae218
Implemented PS5 effects over Bluetooth
2020-11-16 11:21:58 -08:00
Sam Lantinga
c6c116e847
Implemented setting the LED color on the PS5 controller
2020-11-16 10:51:13 -08:00
Sam Lantinga
aa7c3eae19
Fixed size of rumble packet
2020-11-16 09:16:01 -08:00