Sam Lantinga
b36679b90e
Updated with upstream suggestions in https://github.com/libusb/hidapi/pull/582
2023-06-01 08:27:56 -07:00
Sam Lantinga
20182eed7c
Updated with upstream suggestions in https://github.com/libusb/hidapi/pull/572
2023-06-01 07:47:28 -07:00
Sam Lantinga
0ffeca8a1c
Added SDL_HINT_HIDAPI_ENUMERATE_ONLY_CONTROLLERS to control whether SDL_hid_enumerate() enumerates all HID devices or only controllers.
...
By default SDL will only enumerate controllers, to reduce risk of hanging or crashing on devices with bad drivers and avoiding macOS keyboard capture permission prompts.
2023-05-27 10:51:52 -07:00
Sam Lantinga
1c9aae9a29
hidapi build fixes for the upstream build environment
2023-05-26 22:50:39 -07:00
Sam Lantinga
007c36e513
Added SDL_HINT_HIDAPI_IGNORE_DEVICES to specify devices that should be ignored in SDL_hid_enumerate()
2023-05-26 08:19:04 -07:00
Sam Lantinga
57b33aec01
hidapi/libusb: allow building on Windows, using the SDL C runtime
...
Signed-off-by: Sam Lantinga <slouken@libsdl.org >
2023-05-26 08:19:04 -07:00
Sam Lantinga
daccd7289b
hidapi/libusb: added quirks for the Sony PS3 controller
...
Signed-off-by: Sam Lantinga <slouken@libsdl.org >
2023-05-26 08:19:04 -07:00
Sam Lantinga
3b06d64dc3
hidapi/libusb: enable support for Xbox 360 and Xbox One controllers
...
Signed-off-by: Sam Lantinga <slouken@libsdl.org >
2023-05-26 08:19:04 -07:00
Sam Lantinga
e2ec976735
hidapi/libusb: maintain in-memory cache of vendor/product strings
...
The get_usb_string call is rather expensive on some USB devices, so we
cache the vendor/product strings for future lookups (e.g. when
hid_enumerate is invoked again later).
This way, we only need to ask libusb for strings for devices we haven't
seen since before we started.
Signed-off-by: Steven Noonan <steven@valvesoftware.com >
Signed-off-by: Sam Lantinga <slouken@libsdl.org >
2023-05-26 08:19:04 -07:00
Sam Lantinga
04e686c52f
hidapi/libusb: use LIBUSB_CALL for the read_callback function
...
Signed-off-by: Sam Lantinga <slouken@libsdl.org >
2023-05-26 08:19:04 -07:00
Sam Lantinga
5de35a1d77
hidapi/libusb: use the same logic to get the config descriptor in hid_open_path() as in hid_enumerate()
...
Signed-off-by: Sam Lantinga <slouken@libsdl.org >
2023-05-26 08:19:04 -07:00
Sam Lantinga
003a9b9666
Added interface_class, interface_subclass, and interface_protocol to USB device info
...
Currently only filled in for libusb
2023-05-26 08:19:04 -07:00
Sam Lantinga
651d9c4a6e
Fixed compiling hidapi in SDL build environment
2023-05-26 08:19:04 -07:00
Sam Lantinga
2004304348
Directly include hidapi.h bundled with the hidapi source code
2023-05-26 08:19:04 -07:00
Sam Lantinga
3b7b8f3c09
Updated hidapi to 0.14.0 release
...
Upstream: https://github.com/libusb/hidapi/releases/tag/hidapi-0.14.0
2023-05-26 08:19:04 -07:00
Sam Lantinga
2e6c48dcb4
Added support for the GameSir-G7 Controller for Xbox
2023-05-11 17:44:56 -07:00
Sam Lantinga
87ad71f9b2
Rename SDL mutex, semaphore and condition variable types to match SDL 3.0 naming convention
2023-04-28 12:08:33 -07:00
Sam Lantinga
61c0c009ab
Rename SDL semaphore and condition variable functions to match SDL 3.0 naming convention
...
Fixes https://github.com/libsdl-org/SDL/issues/7642
2023-04-28 12:08:33 -07:00
Sam Lantinga
a4b4dff4a2
Added support for the Astro C40 in Xbox 360 mode
2023-04-27 17:10:44 -07:00
Anonymous Maarten
b6ae281e97
Use #ifdef/#ifndef instead of #if defined/#if \!defined
2023-03-30 21:35:01 +00:00
Sam Lantinga
5fded632d6
Added support for the Turtle Beach REACT-R and Recon Xbox controllers
2023-02-06 20:14:12 -08:00
Sam Lantinga
dacdb1c310
Added support for the ThrustMaster eSwap PRO Controller Xbox
2023-01-03 15:12:18 -08:00
Sam Lantinga
c5790359fd
Added precompiled header support for Visual Studio and Xcode ( #6710 )
...
Fixes https://github.com/libsdl-org/SDL/issues/6704
2022-11-29 18:34:15 -08:00
Sam Lantinga
5efca283d3
Add 8BitDo to the list of Xbox 360 third party vendors
...
Allows detection of the 8BitDo Ultimate Wired Controller
2022-11-28 14:54:36 -08:00
Sam Lantinga
0a48abc860
Switch header convention from #include "SDL.h" to #include <SDL3/SDLh>
...
I ran this script in the include directory:
```sh
sed -i '' -e 's,#include "\(SDL.*\)",#include <SDL3/\1>,' *.h
```
I ran this script in the src directory:
```sh
for i in ../include/SDL3/SDL*.h
do hdr=$(basename $i)
if [ x"$(echo $hdr | egrep 'SDL_main|SDL_name|SDL_test|SDL_syswm|SDL_opengl|SDL_egl|SDL_vulkan')" != x ]; then
find . -type f -exec sed -i '' -e 's,#include "\('$hdr'\)",#include <SDL3/\1>,' {} \;
else
find . -type f -exec sed -i '' -e '/#include "'$hdr'"/d' {} \;
fi
done
```
Fixes https://github.com/libsdl-org/SDL/issues/6575
2022-11-26 22:15:18 -08:00
Ozkan Sezer
8d6fda4810
removed os2 support & support for building SDL with watcom.
2022-11-22 19:18:47 +03:00
Sylvain
ddad901c0d
Remove unneeded semicolon
2022-11-17 10:43:45 +01:00
Sam Lantinga
15a9890919
Added SDL_HINT_HIDAPI_IGNORE_DEVICES to specify devices that should be ignored in SDL_hid_enumerate()
2022-11-05 16:44:52 -07:00
Ozkan Sezer
8bcbdc706c
hidapi, libusb: backport read_thread indefinite loop fix from mainstream
...
Mainstream commit:
5ce9051e2f
2022-09-28 08:26:08 -07:00
Sam Lantinga
2e9f5b5989
Added support for the HORI Fighting Commander OCTA (Xbox Series X and PS versions)
2022-09-16 15:41:35 -07:00
Sam Lantinga
b2ac758f61
Added support for the Hori Fighting Stick Alpha to the HIDAPI driver
2022-08-29 17:33:00 -07:00
Sam Lantinga
70c781c803
Fixed build warning because of redefining string functions
2022-08-24 10:25:56 -07:00
Sam Lantinga
3ed8e219a5
Fixed building HIDAPI libusb support on Windows
2022-08-24 01:25:14 -07:00
Sam Lantinga
b6f96b69aa
Initial HIDAPI driver support for the PS3 controller
2022-08-23 22:45:37 -07:00
Sam Lantinga
b880709e9c
Added libusb hack for Gamesir-G3w which needs the same adjustment as the Hori controllers
2022-08-12 18:21:00 -07:00
Sam Lantinga
d6a8b43cf7
Added support for the HORIPAD FPS for Nintendo Switch
2022-08-05 10:37:38 -07:00
Sam Lantinga
be3a945a8b
Added support for the 8BitDo Ultimate Wired Controller for Xbox
2022-07-20 11:05:55 -07:00
Sam Lantinga
72fea0ed6f
Added support for the Qanba Dragon Arcade Joystick
2022-06-15 13:58:28 -07:00
Ozkan Sezer
9220f92bae
hidapi/libusb/hid.c (read_thread): mark as SDLCALL
2022-05-25 01:01:02 +03:00
Ozkan Sezer
7a5743031d
hidapi, libusb: import mainstream commit 536bad201e
2022-04-23 20:01:40 +03:00
pionere
ebdd536676
use SDL_InvalidParamError or SDL_assert instead of custom SDL_SetError
2022-01-28 20:40:19 -05:00
Ozkan Sezer
e9511f7136
hidapi, libusb: don't use iconv on OS/2, it lacks wchar_t functionality.
...
Taken from a patch by Silvan Scherrer at bitwiseworks' OS/2 fork.
2022-01-14 14:39:04 +03:00
Ozkan Sezer
7527c8d3d7
hidapi, libusb: provide a wcsdup implementation if it is not available.
...
similar to mac and android versions..
2022-01-11 11:33:02 +03:00
Sam Lantinga
5b646cd19e
Build hidapi code into SDL as a new public API
...
This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
2021-11-07 23:00:59 -08:00
Sam Lantinga
db18764e41
Use correct relative include path
2021-10-01 16:27:59 -07:00
Sam Lantinga
8b1f8b6ec5
Use the high speed alternate setting on new Microsoft Xbox controllers
2021-08-27 11:14:09 -07:00
Sam Lantinga
0e62926ec5
Fixed crash if vendor or product strings are empty
2021-06-10 16:28:32 -07:00
Sam Lantinga
cb5e86353b
Fixed crash after reinitializing libusb HID support
2021-06-08 13:15:24 -07:00
Steven Noonan
17d8479d98
hidapi/libusb: maintain in-memory cache of vendor/product strings
...
The get_usb_string call is rather expensive on some USB devices, so we
cache the vendor/product strings for future lookups (e.g. when
hid_enumerate is invoked again later).
This way, we only need to ask libusb for strings for devices we haven't
seen since before we started.
Signed-off-by: Steven Noonan <steven@valvesoftware.com >
Signed-off-by: Sam Lantinga <slouken@libsdl.org >
2021-04-22 16:40:23 -07:00
Sam Lantinga
3377861ab1
Added support for the Amazon Game Controller to the HIDAPI driver
2021-03-26 11:57:19 -07:00