Commit Graph

959 Commits

Author SHA1 Message Date
chenzw
bb8eee8fac Added support for the GameSir-G7 Pro 8K controller 2026-02-03 20:09:04 -08:00
Sam Lantinga
cdffbdfeaf Fixed handling GameCube adapters in PC mode on Linux and macOS
On Windows there is a separate HIDAPI device for each slot. On Linux and macOS, there is a single HIDAPI device and the slot is included in the report.
2026-02-02 15:44:44 -08:00
Eddy Jansson
23fec649c2 Fix typos in comments. 2026-01-30 07:25:02 -08:00
Sam Lantinga
72343b9ee2 Fixed hang sending output reports to the NVIDIA SHIELD Controller on macOS 2026-01-27 13:51:16 -08:00
Sam Lantinga
cae2a28f5b Fixed unaligned access in NVIDIA SHIELD Controller driver
Also refactored the LOAD16() and LOAD32() macros into SDL_hidapijoystick_c.h
2026-01-27 11:25:38 -08:00
Sam Lantinga
dd53ecbce8 Fixed Steam Controller battery state 2026-01-27 09:53:04 -08:00
Nintorch
90dabda3b4 Add support for joystick LED for Switch controllers
Co-Authored-By: Thiago Lelles Fernandes <125714191+thilelito@users.noreply.github.com>
2026-01-27 09:45:23 -08:00
Eddy Jansson
248223592a More prefer SDL_zero*()
Transform clearing of arrays into SDL_zeroa(), and
clearing through a T* with size(T) into SDL_zerop().

Extends commit 83fb7b6636.
2026-01-23 16:02:16 -08:00
Eddy Jansson
83fb7b6636 Prefer SDL_zero()/SDL_zerop()
Replace uses of 'SDL_memset(E, 0, sizeof(E))' and similar
with the SDL_zero()/SDL_zerop() macros.
2026-01-23 11:23:27 -08:00
Sam Lantinga
b1362f8a42 Fixed divide by zero handling Nintendo Switch 2 controller 2026-01-20 11:04:20 -08:00
Aubrey Hesselgren
5c15d74394 Fix Horipad bluetooth gyro stutter issues using simulated sensor timing approach (based on packet rate observation)
By observation: wired is 250hz/4000ms, and bluetooth is 120hz/8333ms for IMU sensor.
2026-01-19 15:25:45 -08:00
Sam Lantinga
54fdeb9e79 Added support for the Razer Raiju V5 Pro in wireless mode 2026-01-13 16:23:05 -08:00
Sam Lantinga
015d0fc2e4 Added support for the Razer Raiju V5 Pro 2026-01-13 15:48:12 -08:00
Katharine Chui
6c2f9bc41e hidapi: Disable hidapi LG4FF on windows (#14762)
hid.dll simply cannot send 7 bytes reports unlike other platforms

It enforces full length repots of 17 from the device's descriptor,
which does not work on the device.

This breaks ffb and led control, so we disable this by default on
windows.
2026-01-05 08:14:26 -08:00
Sam Lantinga
ce6a6d1b39 Fixed handling status changes in the FlyDigi controller driver 2026-01-05 08:00:03 -08:00
Sam Lantinga
5f086e7623 Updated copyright for 2026 2026-01-01 09:40:08 -08:00
Sam Lantinga
0ac6f972f9 Added enhanced support for the Flydigi Vader 5 Pro controller 2025-12-31 07:46:56 -08:00
Eddy Jansson
3d354eeaad Prefer SDL_arraysize()
Replace uses of (sizeof(arr)/sizeof(arr[0]), and similar,
with the SDL_arraysize() macro.
2025-12-30 12:22:03 -08:00
Sam Lantinga
0b9946d7bf Fixed crash when using the NVIDIA Shield controller 2025-12-22 11:29:47 -08:00
Sam Lantinga
c7508ca2e9 Fixed warning: no previous prototype for function 'ParseDescriptor' 2025-12-16 14:51:19 -08:00
Sam Lantinga
ec19f1e12f Use Uint32 instead of unsigned int for descriptor values 2025-12-12 13:02:39 -08:00
Sam Lantinga
71be323973 Updated Xbox HIDAPI descriptor handling for alternate layout
Fixes https://github.com/libsdl-org/SDL/issues/14597
2025-12-12 13:02:39 -08:00
Sam Lantinga
450a2cb5e4 Added support for parsing the Xbox report descriptor
This gives us more robust handling of Bluetooth Xbox controllers which may vary the report format between firmware versions.

Firmware versions tested:
Xbox One S: 3.1.1, 4.8.1923, 5.13.3143
Xbox One S/X: 5.11.3118, 5.23.6
Xbox Elite Series 2: 5.22.16, 5.23.6

Fixes https://github.com/libsdl-org/SDL/issues/14597
2025-12-10 10:49:39 -08:00
Sam Lantinga
ef416e84a1 Use SDL_LogDebug() for dumping HID packets 2025-12-10 10:49:39 -08:00
Sam Lantinga
22decf4783 Fixed some clang thread-safety warnings 2025-12-02 01:11:38 -08:00
Sam Lantinga
74653b3cd5 Send the normal sensor data for the right Joy-Con controller in combined mode 2025-11-25 10:38:42 -08:00
Sam Lantinga
55a566a6b4 Steam expects the gyro data to come before the accelerometer data 2025-11-24 18:04:46 -08:00
Sam Lantinga
a9a24ac000 Fixed the KingKong2 PRO Controller failing to initialize over Bluetooth 2025-11-20 09:24:07 -08:00
Sam Lantinga
61bf7087f5 Fixed build warnings with Visual Studio 2025-11-19 17:02:33 -08:00
Sam Lantinga
9f444b3981 Fixed initializing EVORETRO GameCube adapters
The HID device needs to be closed while enabling input reports over USB
2025-11-19 16:11:18 -08:00
Sam Lantinga
4931c675ab Fixed warning C4127 (conditional expression is constant) in Visual Studio 2025-11-17 16:06:58 -08:00
Sam Lantinga
dccf486a0a Fixed potential infinite recursion opening a Steam Controller
This can happen if the controller is opened from an event watcher when the controller is connected.
2025-11-14 13:44:02 -08:00
Vicki Pfau
9fd3dbfc42 switch2: Remove some unneeded init commands
These commands seem to be queries the console sends, not setup
2025-11-13 20:46:46 -08:00
Vicki Pfau
f0d4aca03d switch2: Bring up IMU support 2025-11-13 20:46:46 -08:00
Vicki Pfau
ae6cdea0fa switch2: Refactor and clean up rumble code a bit 2025-11-13 20:46:46 -08:00
Sam Lantinga
e1af623631 Fixed Steam Deck sensor timings 2025-11-12 11:36:37 -08:00
Sam Lantinga
1998b65045 Added support for the new Steam Controller 2025-11-12 11:32:32 -08:00
Sam Lantinga
9a19cc8323 Fixed unaligned load in Xbox HIDAPI driver 2025-11-07 10:37:58 -08:00
Sam Lantinga
f211a3bb69 Fixed initial rumble on the 8BitDo 64 Bluetooth Controller 2025-11-07 10:18:49 -08:00
Sam Lantinga
c94da8977d Validate SPI read command in the Nintendo Switch HIDAPI driver 2025-11-05 17:34:22 -08:00
Sam Lantinga
9a1745f2c8 Fixed unaligned access in the Nintendo Switch HIDAPI driver 2025-11-05 17:08:22 -08:00
Sam Lantinga
6493be9eea Removed SDL_AUTO_ENABLE_ENHANCED_FLYDIGI 2025-11-03 08:20:41 -08:00
Sam Lantinga
889e4787d6 Clarify when we want to auto-enable Apex 5 enhanced functionality 2025-11-02 11:14:41 -08:00
Sam Lantinga
eb87a36940 Fixed the right touchpad calculation for the BLE Steam Controller
Fixes https://github.com/libsdl-org/SDL/issues/14368
2025-11-02 08:31:37 -08:00
Sam Lantinga
a82e8a701d Allow dynamically switching mode of the Apex 5 controller
The controller can be in XInput mode or enhanced mode, so it will always show up as an XInput controller, and the enhanced mode controller will come and go as enhanced mode is enabled or disabled in the FlyDigi Space Station app.
2025-11-01 14:49:31 -07:00
Sam Lantinga
28849fd789 Manually enable acquiring the Apex 5 controller if necessary
The FlyDigi Space Station app isn't available on non-Windows platforms, so we need to manually enable acquiring the controller on those platforms.
2025-11-01 14:49:31 -07:00
Sam Lantinga
446fb65ca6 Mark the Apex 5 controller as being acquired by SDL 2025-10-30 22:35:06 -07:00
Sam Lantinga
1502c2fd8b Added support for the Flydigi Apex 5 controller (#14218) 2025-10-30 21:20:44 -07:00
Eddy Jansson
aaee09d6ed Don't do NULL-checks before SDL_free()
Replaces the pattern

  if (ptr) {
    SDL_free(ptr);
  }

with

  SDL_free(ptr);
2025-10-20 00:13:09 -07:00
Vicki Pfau
d635a064aa switch2: Read out serial number 2025-10-18 07:57:30 -07:00