The following explanations are taken from SDL's source code. This varies depending on the SDL.
Complete list of used SDL version can be found in the "Plugins\SimpleController\Source\ThirdParty\include\SDL_hints.h" file.
Just search for SDL_HINT_JOYSTICK_HIDAPI and then scroll down.




brief A variable controlling whether the HIDAPI joystick drivers should be used.

This variable can be set to the following values:
"0" - HIDAPI drivers are not used
"1" - HIDAPI drivers are used (the default)

This variable is the default for all drivers, but can be overridden by the hints for specific drivers below.

SDL_HINT_JOYSTICK_HIDAPI


brief A variable controlling whether the HIDAPI driver for Nintendo GameCube controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_GAMECUBE


brief A variable controlling whether "low_frequency_rumble" and "high_frequency_rumble" is used to implement
the GameCube controller's 3 rumble modes, Stop(0), Rumble(1), and StopHard(2)
this is useful for applications that need full compatibility for things like ADSR envelopes.
Stop is implemented by setting "low_frequency_rumble" to "0" and "high_frequency_rumble" ">0"
Rumble is both at any arbitrary value,
StopHard is implemented by setting both "low_frequency_rumble" and "high_frequency_rumble" to "0"

This variable can be set to the following values:
"0" - Normal rumble behavior is behavior is used (default)
"1" - Proper GameCube controller rumble behavior is used


SDL_HINT_JOYSTICK_GAMECUBE_RUMBLE_BRAKE


brief A variable controlling whether the HIDAPI driver for Nintendo Switch Joy-Cons should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS


brief A variable controlling whether Nintendo Switch Joy-Con controllers will be combined into a single Pro-like controller when using the HIDAPI driver

This variable can be set to the following values:
"0" - Left and right Joy-Con controllers will not be combined and each will be a mini-gamepad
"1" - Left and right Joy-Con controllers will be combined into a single controller (the default)

SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS

SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS


brief A variable controlling whether Nintendo Switch Joy-Con controllers will be in vertical mode when using the HIDAPI driver

This variable can be set to the following values:
"0" - Left and right Joy-Con controllers will not be in vertical mode (the default)
"1" - Left and right Joy-Con controllers will be in vertical mode

SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS


brief A variable controlling whether the HIDAPI driver for Amazon Luna controllers connected via Bluetooth should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_LUNA


brief A variable controlling whether the HIDAPI driver for Nintendo Online classic controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC


brief A variable controlling whether the HIDAPI driver for NVIDIA SHIELD controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_SHIELD


This variable can be set to the following values:

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

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.

SDL_HINT_JOYSTICK_HIDAPI_PS3


brief A variable controlling whether the HIDAPI driver for PS4 controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_PS4


brief A variable controlling whether extended input reports should be used for PS4 controllers when using the HIDAPI driver.

This variable can be set to the following values:
"0" - extended reports are not enabled (the default)
"1" - extended reports

Extended input reports allow rumble on Bluetooth PS4 controllers, but
break DirectInput handling for applications that don't use SDL.

Once extended reports are enabled, they can not be disabled without
power cycling the controller.

For compatibility with applications written for versions of SDL prior
to the introduction of PS5 controller support, this value will also
control the state of extended reports on PS5 controllers when the
SDL_HINT_HIDAPI_PS5_RUMBLE hint is not explicitly set.

SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE


brief A variable controlling whether the HIDAPI driver for PS5 controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_PS5


brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with a PS5 controller.

This variable can be set to the following values:
"0" - player LEDs are not enabled
"1" - player LEDs are enabled (the default)

SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED


brief A variable controlling whether extended input reports should be used for PS5 controllers when using the HIDAPI driver.

This variable can be set to the following values:
"0" - extended reports are not enabled (the default)
"1" - extended reports

Extended input reports allow rumble on Bluetooth PS5 controllers, but
break DirectInput handling for applications that don't use SDL.

Once extended reports are enabled, they can not be disabled without
power cycling the controller.

For compatibility with applications written for versions of SDL prior
to the introduction of PS5 controller support, this value defaults to
the value ofHIDAPI_PS4_RUMBLE.

SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE


brief A variable controlling whether the HIDAPI driver for Google Stadia controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_STADIA


brief A variable controlling whether the HIDAPI driver for Steam Controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used for Steam Controllers, which requires Bluetooth access
and may prompt the user for permission on iOS and Android.

The default is "0"

SDL_HINT_JOYSTICK_HIDAPI_STEAM


brief A variable controlling whether the HIDAPI driver for Nintendo Switch controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_SWITCH


brief A variable controlling whether the Home button LED should be turned on when a Nintendo Switch Pro controller is opened

This variable can be set to the following values:
"0" - home button LED is turned off
"1" - home button LED is turned on

By default the Home button LED state is not changed. This hint can also be set to a floating point value between 0.0 and 1.0 which controls the brightness of the Home button LED.

SDL_HINT_JOYSTICK_HIDAPI_SWITCH_HOME_LED


brief A variable controlling whether the Home button LED should be turned on when a Nintendo Switch Joy-Con controller is opened

This variable can be set to the following values:
"0" - home button LED is turned off
"1" - home button LED is turned on

By default the Home button LED state is not changed. This hint can also be set to a floating point value between 0.0 and 1.0 which controls the brightness of the Home button LED.

SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED


brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with a Nintendo Switch controller.

This variable can be set to the following values:
"0" - player LEDs are not enabled
"1" - player LEDs are enabled (the default)

SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED


brief A variable controlling whether the HIDAPI driver for Nintendo Wii and Wii U controllers should be used.

This variable can be set to the following values:
"0" - player LEDs are not enabled
"1" - player LEDs are enabled (the default)

This driver doesn't work with the dolphinbar, so the default is SDL_FALSE for now.

SDL_HINT_JOYSTICK_HIDAPI_WII


brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with a Wii controller..

This variable can be set to the following values:
"0" - player LEDs are not enabled
"1" - player LEDs are enabled (the default)


SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED


brief A variable controlling whether the HIDAPI driver for XBox controllers should be used.

This variable can be set to the following values:
"0" - HIDAPI driver is not used
"1" - HIDAPI driver is used

The default is "0" on Windows, otherwise the value ofHIDAPI

SDL_HINT_JOYSTICK_HIDAPI_XBOX


brief A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices.

This variable can be set to the following values:
"0" - RAWINPUT drivers are not used
"1" - RAWINPUT drivers are used (the default)

SDL_HINT_JOYSTICK_RAWINPUT



brief A variable that lets you disable the detection and use of Xinput gamepad devices

The variable can be set to the following values:
"0" - Disable XInput detection (only uses direct input)
"1" - Enable XInput detection (the default)

SDL_HINT_XINPUT_ENABLED