Commit Graph

418 Commits

Author SHA1 Message Date
Sam Lantinga
8a701808a6 Fixed Steam Controller not detected on macOS under Steam 2026-05-29 12:07:16 -07:00
Sam Lantinga
f6ffa69890 Add support for new Steam Controller input report on mobile devices 2026-05-28 11:39:58 -07:00
Ozkan Sezer
169480a352 hidapi/netbsd: import mainstream commit 7e994d8671:
https://github.com/libusb/hidapi/commit/7e994d8671 - authored by
Izumi Tsutsui:

netbsd: check not only addr 0 but also addr 1 to find root hubs

On NetBSD xhci(4) uses 'addr 0' for the root hub but all drivers for
other host controllers use 'addr 1' for the root hub.
 https://gnats.netbsd.org/60073
2026-05-19 17:22:50 +03:00
Sam Lantinga
a95ce7e734 Detect the GameSir Super Nova in Xbox 360 mode 2026-05-15 10:13:15 -07:00
stahta01
6586bebfec Fix Cygwin building and add CI (#15566)
Co-authored-by: TrueCat17 <truecat17@gmail.com>
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
2026-05-15 08:48:24 -07:00
Ozkan Sezer
36e1efccb4 revert parts of CodeSpell commit d870911202 from 3rd party sources 2026-05-13 18:00:02 +03:00
Rachel Blackman
7ec70d39c4 *Only* preserve report byte for feature reports. Oops. 2026-05-11 11:33:11 -07:00
Rachel Blackman
f8c364ae74 Ensure Android hidapi does not drop the report byte (#15527) 2026-05-06 15:14:09 -07:00
Sam Lantinga
2385dc6297 Added support for the Flydigi Vader 5 Pro in Xbox 360 mode 2026-02-24 10:18:17 -08:00
Brenton Bostick
c259f969f2 fix unknown argument nBufSize 2026-02-24 09:50:17 -08:00
Brenton Bostick
0d0db08b61 fix JNI parameter types 2026-02-24 09:49:42 -08:00
tmkk
bbcc205de9 Detect steam virtual gamepads more accurately on macOS 2026-02-22 11:11:09 -08:00
tmkk
50d0e2ede2 Bring back support for 360Controller driver on macOS 2026-02-22 11:11:09 -08:00
Rachel Blackman
46e553a44c Add support for new Steam Controller on Android (#15044) 2026-02-12 17:39:15 -08:00
Sam Lantinga
f1dd6db701 Removed unnecessary log message 2026-02-12 16:41:07 -08:00
Sam Lantinga
7b27056ea0 Fixed Steam Controller BLE report size 2026-02-12 15:52:31 -08:00
Sam Lantinga
9b7f55be89 Make sure we report ID_TRITON_CONTROLLER_STATE_BLE on iOS 2026-02-12 15:49:49 -08:00
Sam Lantinga
0b1c592fda Steam Controller report 0x45 is used for BLE mode 2026-02-12 15:45:10 -08:00
Sam Lantinga
4e2fd57e77 Fixed initializing the PowerA OPS v1 Wireless Controller 2026-02-11 16:54:18 -08:00
Sam Lantinga
eaeca340f3 Fixed HIDAPI hotplug detection in applications that don't initialize video 2026-02-11 09:11:37 -08:00
Sam Lantinga
d3f9899df5 Fixed HIDAPI hotplug detection when initializing gamepads off the main thread 2026-02-11 09:03:30 -08:00
RaceTheMaSe
f1a7a64eb4 Fix warnings: Extra semi - macro usage (#15015) 2026-02-08 16:58:53 -08:00
RaceTheMaSe
ba3274e3a1 hidapi, windows: Fix -Wjump-misses-init warning (#14990)
Clang: jump from this goto statement to its label is incompatible with C++ [-Wjump-misses-init]
2026-02-07 21:10:50 +03:00
Max Seidenstücker
d870911202 CodeSpell 2026-02-07 18:14:00 +03:00
Sam Lantinga
56b77177a9 Fixed building with -DSDL_HIDAPI=OFF
Fixes https://github.com/libsdl-org/SDL/issues/14975
2026-02-06 09:59:37 -08:00
Sam Lantinga
f60231759d Fixed detecting Nintendo Switch Pro 2 controller on Steam Link hardware
In this case, it's available via both libusb and hidraw, but the hidraw device isn't usable. If a device needs to be opened via libusb, don't expose it via hidraw enumeration.
2026-02-03 10:44:16 -08:00
Sam Lantinga
bc68c1c920 Fixed conflict when linking both SDL and hidapi statically
Closes https://github.com/libsdl-org/SDL/pull/14772
2026-01-06 06:10:39 -08:00
Sam Lantinga
ce0da58755 Made udev hwdb functionality optional 2026-01-01 15:39:00 -08:00
Sam Lantinga
4984eb8c16 Use udev to get the manufacturer name if possible (thanks gdb!) 2026-01-01 15:39:00 -08:00
Sam Lantinga
5f086e7623 Updated copyright for 2026 2026-01-01 09:40:08 -08:00
Sam Lantinga
128b9260ec Added SDL_HINT_HIDAPI_LIBUSB_GAMECUBE
Fixes https://github.com/libsdl-org/SDL/issues/14682
2025-12-30 14:14:51 -08:00
Sam Lantinga
d33642b710 Filter libusb devices early in enumeration
Some device drivers crash if you query things like manufacturer and product name, so make sure we only touch devices that we're really interested in.
2025-12-30 10:52:56 -08:00
Anonymous Maarten
9dd3e2305e dlnote: embed trailing semicolon in SDL_ELF_NOTE_DLOPEN macro 2025-12-24 23:45:50 +03: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
1998b65045 Added support for the new Steam Controller 2025-11-12 11:32:32 -08:00
Sam Lantinga
b695e5c24b Fixed whitespace 2025-11-02 09:31:55 -08:00
Sam Lantinga
1502c2fd8b Added support for the Flydigi Apex 5 controller (#14218) 2025-10-30 21:20:44 -07:00
Sam Lantinga
404ec13fbb Fixed building with libusb on FreeBSD 2025-10-24 10:41:08 -07:00
Eddy Jansson
3b0347ac48 Don't do NULL-checks before free() 2025-10-20 00:13:09 -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
Sam Lantinga
b2188b325d Fixed HIDAPI controller disconnect reading on multiple threads
If multiple threads are calling SDL_UpdateJoysticks(), then an overlapped read can be initiated on one thread (read_pending set to true) and GetOverlappedResult() called on another thread. This results in ERROR_OPERATION_ABORTED. This is harmless so we shouldn't return an error in this case, we'll just retry the read on the next call.

Fixes https://github.com/libsdl-org/SDL/issues/14033
2025-09-25 10:36:14 -07:00
Sam Lantinga
5503fe1c1b Fixed a memory leak in fill_device_info_usage() (thanks @digant73)
Fixes https://github.com/libsdl-org/SDL/issues/13998
2025-09-20 09:05:37 -07:00
Sam Lantinga
4b93e7488f Added support for the Switch 2 Joy-Cons with charging grip 2025-09-01 21:11:16 -07:00
Sam Lantinga
7c8df4ea52 Fixed warnings building with Visual Studio 2025-08-30 10:15:58 -07:00
Sam Lantinga
ac5ccbe386 Moved Nintendo Switch 2 Controller initialization from hid.c to SDL_hidapi_switch2.c 2025-08-28 09:10:47 -07:00
Sam Lantinga
65c1fc1b42 Added SDL_hid_get_properties() 2025-08-28 09:10:47 -07:00
Sam Lantinga
09ca7e8f64 Move libusb support into a shared location 2025-08-28 09:10:47 -07:00
Sam Lantinga
2bb51e1340 Claim the interface before doing bulk transfers 2025-08-28 09:10:47 -07:00
Ethan Lee
a798da2ec7 hidapi: Add support for NSO GameCube controller via libusb.
Thanks to Nohzockt for the initial libusb init and hidapi polling work!
2025-08-28 09:10:47 -07:00
Anonymous Maarten
0a6b80717c Record dynamic dependencies in .note.dlopen elf section 2025-08-27 16:11:39 +00:00