chenzw
304fcaeec2
SendGameSirModeSwitch code cleanup
2026-02-10 21:06:40 -08:00
chenzw
6ae268ba17
Remove GameSir-G7 Pro
2026-02-10 21:06:40 -08:00
Sam Lantinga
71f4af7322
Eliminate contention between HIDAPI controller reads and writes
...
Rumble can often take a long time, and it is theoretically safe to simultaneously read and write hidapi devices on all platforms.
Fixes https://github.com/libsdl-org/SDL/issues/9441
2026-02-10 09:38:19 -08:00
Sam Lantinga
9f8c70713a
Fix the 8BitDo Ultimate 2D Wireless Controller showing up multiple times
...
This controller has 3 interfaces, one for the Xbox gamepad protocol, and two HID interfaces. We should only handle the Xbox interface in the Xbox driver.
2026-02-09 13:28:45 -08:00
RaceTheMaSe
f1a7a64eb4
Fix warnings: Extra semi - macro usage ( #15015 )
2026-02-08 16:58:53 -08:00
Vicki Pfau
017d950b6b
Fix Switch and Switch 2 player LED patterns
...
The patterns we were using don't match the official patterns, which fill up as
many lights as players instead of just using the nth player LED. Above 4,
there are some special patterns, as documented on Nintendo's Singaporean site:
https://www.nintendo.com/sg/support/qa/detail/33822
2026-02-07 07:37:25 -08:00
Vicki Pfau
e1b8ad0380
Add and use libusb_set_auto_detach_kernel_driver for the Switch 2 driver
2026-02-05 14:58:15 -08:00
Sam Lantinga
273a093032
Temporarily disable GameSir driver
...
There are some issues that need response from GameSir before this can be enabled by default.
2026-02-04 15:53:01 -08:00
Sam Lantinga
ca7788cd9f
Fixed spacing
2026-02-04 15:53:01 -08:00
Sam Lantinga
d43d29269d
Added support for GameSir simple report mode
2026-02-04 15:53:01 -08:00
Sam Lantinga
8a9722e9f4
Removed GameSir trigger rumble
...
This doesn't appear to actually be supported by the hardware, and used the same report as normal rumble.
2026-02-04 15:53:01 -08:00
Sam Lantinga
883066228b
Minor code cleanup
...
- the connection type is already set correctly based on bluetooth connection state
- removed some verbose controller type logging
- device and ctx are guaranteed not to be NULL at the driver level
2026-02-04 15:53:01 -08:00
Sam Lantinga
1a99861510
Fixed warnings building on Android
2026-02-04 14:55:29 -08:00
chenzw
1fd7cd693a
pass payload to state handler
2026-02-03 20:09:04 -08:00
chenzw
8272699901
refactor(joystick): unify GameSir packet parsing with packet/payload offsets, fix field byte indexing and standardize length checks
2026-02-03 20:09:04 -08:00
chenzw
e087de5741
refactor for style (no functional changes)
2026-02-03 20:09:04 -08:00
walle
f5efba34da
Fix multi-platform compilation issues
2026-02-03 20:09:04 -08:00
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