mirror of https://github.com/encounter/SDL.git
Document that it's not possible to use the HIDAPI driver for PS3 controllers on Windows
This commit is contained in:
parent
5eb0f4328d
commit
1fc7f68118
|
@ -712,7 +712,10 @@ extern "C" {
|
|||
* "0" - HIDAPI driver is not used
|
||||
* "1" - HIDAPI driver is used
|
||||
*
|
||||
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI
|
||||
* The default is the value of SDL_HINT_JOYSTICK_HIDAPI on macOS, and "0" on other platforms.
|
||||
*
|
||||
* It is not possible to use this driver on Windows, due to limitations in the default drivers
|
||||
* installed. See https://github.com/ViGEm/DsHidMini for an alternative driver on Windows.
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_PS3 "SDL_JOYSTICK_HIDAPI_PS3"
|
||||
|
||||
|
|
|
@ -79,14 +79,26 @@ HIDAPI_DriverPS3_UnregisterHints(SDL_HintCallback callback, void *userdata)
|
|||
static SDL_bool
|
||||
HIDAPI_DriverPS3_IsEnabled(void)
|
||||
{
|
||||
#ifdef __MACOSX__
|
||||
#if defined(__MACOSX__)
|
||||
/* This works well on macOS */
|
||||
return SDL_GetHintBoolean(SDL_HINT_JOYSTICK_HIDAPI_PS3,
|
||||
SDL_GetHintBoolean(SDL_HINT_JOYSTICK_HIDAPI,
|
||||
SDL_HIDAPI_DEFAULT));
|
||||
#else
|
||||
/* Linux already has good PS3 drivers and controller initialization fails on Windows,
|
||||
* so don't bother using this driver on other platforms.
|
||||
#elif defined(__WINDOWS__)
|
||||
/* You can't initialize the controller with the stock Windows drivers
|
||||
* See https://github.com/ViGEm/DsHidMini as an alternative driver
|
||||
*/
|
||||
return SDL_FALSE;
|
||||
#elif defined(__LINUX__)
|
||||
/* Linux drivers do a better job of managing the transition between
|
||||
* USB and Bluetooth. There are also some quirks in communicating
|
||||
* with PS3 controllers that have been implemented in SDL's hidapi
|
||||
* for libusb, but are not possible to support using hidraw if the
|
||||
* kernel doesn't already know about them.
|
||||
*/
|
||||
return SDL_GetHintBoolean(SDL_HINT_JOYSTICK_HIDAPI_PS3, SDL_FALSE);
|
||||
#else
|
||||
/* Untested, default off */
|
||||
return SDL_GetHintBoolean(SDL_HINT_JOYSTICK_HIDAPI_PS3, SDL_FALSE);
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue