Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers
parent
a4f3905bb6
commit
3a654b4b1c
|
@ -29,4 +29,5 @@ General:
|
||||||
* Added SDL_GetRenderVSync() to get vsync of the given renderer
|
* Added SDL_GetRenderVSync() to get vsync of the given renderer
|
||||||
* Added SDL_PlayAudioDevice() to start audio playback
|
* Added SDL_PlayAudioDevice() to start audio playback
|
||||||
* Added SDL_ConvertAudioSamples() to convert audio samples from one format to another
|
* Added SDL_ConvertAudioSamples() to convert audio samples from one format to another
|
||||||
* Added SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY hint to control re-creation of Android SDL activity.
|
* Added the hint SDL_HINT_ANDROID_ALLOW_RECREATE_ACTIVITY to control re-creation of Android SDL activity.
|
||||||
|
* Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers
|
||||||
|
|
|
@ -1043,6 +1043,15 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
|
#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief A variable controlling whether Windows.Gaming.Input should be used for controller handling.
|
||||||
|
*
|
||||||
|
* This variable can be set to the following values:
|
||||||
|
* "0" - WGI is not used
|
||||||
|
* "1" - WGI is used (the default)
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_JOYSTICK_WGI "SDL_JOYSTICK_WGI"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Determines whether SDL enforces that DRM master is required in order
|
* \brief Determines whether SDL enforces that DRM master is required in order
|
||||||
* to initialize the KMSDRM video backend.
|
* to initialize the KMSDRM video backend.
|
||||||
|
|
|
@ -559,6 +559,10 @@ static int RAWINPUT_UpdateWindowsGamingInput()
|
||||||
}
|
}
|
||||||
static void RAWINPUT_InitWindowsGamingInput(RAWINPUT_DeviceContext *ctx)
|
static void RAWINPUT_InitWindowsGamingInput(RAWINPUT_DeviceContext *ctx)
|
||||||
{
|
{
|
||||||
|
if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_WGI, SDL_TRUE)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
wgi_state.need_device_list_update = SDL_TRUE;
|
wgi_state.need_device_list_update = SDL_TRUE;
|
||||||
wgi_state.ref_count++;
|
wgi_state.ref_count++;
|
||||||
if (!wgi_state.initialized) {
|
if (!wgi_state.initialized) {
|
||||||
|
@ -874,12 +878,12 @@ static int RAWINPUT_JoystickInit(void)
|
||||||
{
|
{
|
||||||
SDL_assert(!SDL_RAWINPUT_inited);
|
SDL_assert(!SDL_RAWINPUT_inited);
|
||||||
|
|
||||||
if (!WIN_IsWindowsVistaOrGreater()) {
|
if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_RAWINPUT, SDL_TRUE)) {
|
||||||
/* According to bug 6400, this doesn't work on Windows XP */
|
return 0;
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_RAWINPUT, SDL_TRUE)) {
|
if (!WIN_IsWindowsVistaOrGreater()) {
|
||||||
|
/* According to bug 6400, this doesn't work on Windows XP */
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -593,6 +593,10 @@ static int WGI_JoystickInit(void)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
|
if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_WGI, SDL_TRUE)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (FAILED(WIN_RoInitialize())) {
|
if (FAILED(WIN_RoInitialize())) {
|
||||||
return SDL_SetError("RoInitialize() failed");
|
return SDL_SetError("RoInitialize() failed");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue