Sam Lantinga
e70ecb37c1
Implement the D-pad as a hat for SInput controllers
...
This lets games that use the joystick API handle the D-pad the same way as other controllers
2025-07-17 20:51:29 -07:00
Mitch Cairns
45674d0024
GC Ultimate Misc
...
Re-implement digital button press for GC Ultimate
(misc3:b12,misc4:b13)
2025-07-17 20:04:05 -07:00
Sam Lantinga
8f79a6185a
Fixed the mapping for the GC Ultimate controller
2025-07-17 19:32:46 -07:00
Sam Lantinga
de20b731f2
Removed unnecessary cast
2025-07-17 19:32:29 -07:00
Sam Lantinga
3b9db3dd62
Added support for Windows GameInput 2.0
2025-07-17 15:38:39 -07:00
mitchellcairns
8e5fe0ea61
SInput Timestamp and Protocol Version ( #13371 )
...
* Implement Uint32 microseconds timestamp for IMU reporting instead of deltas
* Implement protocol version in feature request response
2025-07-16 10:12:38 -07:00
mitchellcairns
18eeaea054
Implement SInput Device Support ( #13343 )
...
This implements a new SDL HID driver for a format developed by Hand Held Legend for their gamepad devices called SInput
Devices that are supported by this change with well-defined mappings
GC Ultimate ( https://gcultimate.com )
ProGCC ( https://handheldlegend.com/products/progcc-kit-wireless-wired-bundle )
The SInput format is documented here: https://github.com/HandHeldLegend/SInput-HID
2025-07-15 18:35:47 -07:00
Sam Lantinga
a53eb5221b
Added support for the PDP REALMz Wireless Controller for Switch
2025-07-15 17:41:54 -07:00
Sam Lantinga
08e3758e3f
Added paddle bindings for the 8BitDo Pro 3 controller
2025-07-15 10:15:52 -07:00
Sam Lantinga
d53fcab609
Reordered the 8BitDo Pro 3 controller
2025-07-15 10:09:06 -07:00
8BitDo
3c04c88c6e
Add support for Pro3
...
Add support for Pro3
2025-07-15 03:26:08 -07:00
Sam Lantinga
277f91c317
Removed the Mayflash GameCube adapter from the PS3 controller list
2025-07-14 11:30:15 -07:00
Andon M. Coleman
a07cf3ecdc
Allow 1 kHz sample rate for DualSense Edge over USB
...
DualSense Edge natively reports at 1 kHz for all connection types, but gyro sample rate was limited to 250 Hz for USB.
2025-07-14 10:02:19 -07:00
Kyle Sylvestre
0f061ff154
remove spoofed SDL_HelperWindow when SDL_VIDEO is off
2025-07-12 07:47:13 -07:00
Sam Lantinga
afa27243df
Ignore sensor delta values that look like they're out of range
2025-06-26 11:10:21 -07:00
Sam Lantinga
8d5bf053f7
Fixed detecting 8BitDo sensor timestamp on older firmware
...
Also updated the reported sensor rate over USB for new firmware
2025-06-26 10:47:35 -07:00
Sam Lantinga
f40bf44928
Removed unnecessary include
2025-06-25 18:50:28 -07:00
8BitDo
6d3e8b749e
add 8BitDo Controller sensor_timestamp ( #13278 )
2025-06-25 18:49:43 -07:00
Vicki Pfau
8442d4f0f7
joystick: Add support Xbox Adaptive Controller
...
The Xbox Adaptive Controller reports the pressed guide button state as 2
instead of 1. This is contrary to the spec, but it's needed for the guide
button to work.
This also adds a bit more documentation on observed-but-not-known GUIDs.
2025-06-24 16:51:18 -07:00
Rémi Verschelde
db3a35e9bc
joystick: Fix MSVC errors C2099 with /fp:strict
2025-06-24 06:58:24 -07:00
mitchellcairns
796961acec
Resolve bug for calibration Nintendo Switch Pro Controller ( #13260 )
...
Resolves a bug which prevents the stored calibration data from loading, only allowing loading of factory-installed calibration data
2025-06-22 20:59:15 -07:00
Mitch Cairns
3a6f9e01f8
Fixed Nintendo Switch thumbstick calibration
2025-06-22 15:26:49 -07:00
Sam Lantinga
038a3806eb
Fixed Nintendo Switch Pro thumbstick calibration
...
Fixes https://github.com/libsdl-org/SDL/issues/13246
2025-06-21 19:55:05 -07:00
Sam Lantinga
d7939abf42
Use consistent style for pointer declarations and casts
2025-06-18 10:03:44 -07:00
Sam Lantinga
efed3c63b3
Added support for an alternate version of the Vader 4 Pro
2025-06-17 10:02:10 -07:00
Sam Lantinga
d6bae53341
Added support for an alternate version of the Vader 4 Pro
2025-06-17 08:07:12 -07:00
Sam Lantinga
b833c618a9
Improved reliability detecting FlyDigi Vader controllers
2025-06-16 11:07:50 -07:00
Aubrey Hesselgren
f5d1402c28
Flydigi Vader 4 Pro IMU rate correction ( #13215 )
...
Flydigi IMU rate now matches observed rate of packets in both dongle and wired connection.
Flydigi Vader 4 Pro IMU rate correction was set at a fixed 125hz. In actuality rate is 1000hz over dongle and 500hz when wired.
2025-06-13 22:29:19 -07:00
Aubrey Hesselgren
1e886c8a2f
8 bitdo polling rate corrections ( #13221 )
...
Gathered correct IMU polling rate in wired mode for good gyro synchronization.
Wireless: different models had different amounts of Bluetooth packet loss.
USB_PRODUCT_8BITDO_ULTIMATE2_WIRELESS: Solid 120hz over bluetooth (note: only appears via).
USB_PRODUCT_8BITDO_PRO_2_BT: Lossy - 80-90hz registered.
SB_PRODUCT_8BITDO_SN30_PRO_BT & USB_PRODUCT_8BITDO_SN30_PRO_BT: Very Lossy - 60-90hz registered
2025-06-13 22:25:31 -07:00
ceski
558a89fdb6
Read Switch controller gyro/accel sensitivity coeffs (SDL3)
...
These vary by controller, so using the stored values should improve the accuracy of the sensor data.
2025-06-13 12:18:05 -07:00
Sam Lantinga
e18a6313de
Added gyro support for the Flydigi Vader 3 Pro controller
2025-06-12 09:10:07 -07:00
Sam Lantinga
5826966873
Fixed replacing existing specific gamepad mappings
...
If the first mapping we see doesn't have a CRC, continue looking for another exact CRC match.
Fixes testautomation --filter TestVirtualJoystick
2025-06-06 09:53:15 -07:00
Sam Lantinga
f90a21483c
Added support for the ZEROPLUS P4 Wired Gamepad
2025-06-06 09:25:36 -07:00
Sam Lantinga
638acdc02a
Remove the CRC from automatically generated gamepad mappings
...
Fixes https://github.com/libsdl-org/SDL/issues/13127
2025-06-06 09:22:14 -07:00
Vicki Pfau
7dd5e765df
joystick: Report battery on GIP controllers
2025-06-05 18:34:22 -07:00
Vicki Pfau
c54a017f47
joystick: Clean up Elite Button handling
2025-06-05 18:34:22 -07:00
Vicki Pfau
559efd58e2
joystick: Add headset stub to GIP driver
2025-06-05 18:34:22 -07:00
Sam Lantinga
6622f4e1ea
Added support for the NACON Revolution X Unlimited controller on macOS
...
This adds support for the controller in Bluetooth mode.
Fixes https://github.com/libsdl-org/SDL/issues/13143
2025-06-03 15:05:11 -07:00
Sam Lantinga
7457857304
Fixed input from the MayFlash GameCube adapter with version 7 firmware
2025-06-03 11:13:43 -07:00
Sam Lantinga
4b0f48c4cf
Mark gamepads as invalid if they can't be opened
...
Fixes https://github.com/libsdl-org/SDL/issues/13129
2025-06-02 09:21:13 -07:00
Aubrey Hesselgren
a26e5f32e0
Gyro degrees per second is 2000 across all 8bitdo controllers ( #13147 )
2025-05-29 14:28:55 -07:00
Sam Lantinga
d2be547642
Removed spurious parentheses
2025-05-28 13:28:12 -07:00
Sam Lantinga
36936cbf37
Set the serial number to the Bluetooth MAC address for 8BitDo controllers
2025-05-28 12:18:27 -07:00
Sam Lantinga
aa870d511e
Disable SDL_HINT_JOYSTICK_RAWINPUT by default
...
Windows can get in a state when it stops reporting raw input events for game controllers until reboot.
The downside of this change is that we lose support for trigger rumble and are limited to 4 controllers again, but if that's important for your application you can use SDL_SetHint(SDL_HINT_JOYSTICK_RAWINPUT, true) to enable this functionality.
Fixes https://github.com/libsdl-org/SDL/issues/13047
2025-05-27 09:51:48 -07:00
Sam Lantinga
8a2e2e75d1
Simplified loop logic
2025-05-27 08:47:32 -07:00
8BitDo
b4f7948410
Ensure that report 06 command reads normally
...
Ensure that report 06 command reads normally
2025-05-27 08:45:09 -07:00
Sam Lantinga
1f6b5c681d
Set the initial axis values for HIDAPI and XInput controllers
...
Fixes https://github.com/libsdl-org/SDL/issues/13020
2025-05-23 12:09:39 -07:00
Vicki Pfau
4cd889cb13
joystick: Several minor GIP fixes
...
This mostly fixes stylistic issues, but also fixes an issue with some
controllers where an erroneous check would clear the DLI flag, offsetting the
share button index so it wouldn't work.
2025-05-22 21:45:00 -07:00
Sam Lantinga
c9cf4c42e0
Improved HIDAPI support for Flydigi controllers
2025-05-22 15:36:38 -07:00
bakatrouble
354895d975
Add Flydigi VADER 4 Pro HIDAPI support ( #12874 )
2025-05-22 09:56:17 -07:00