mirror of
https://github.com/shadps4-emu/ext-SDL.git
synced 2025-01-22 18:46:36 +00:00
Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers
This commit is contained in:
parent
a4f3905bb6
commit
3a654b4b1c
@ -29,4 +29,5 @@ General:
|
||||
* Added SDL_GetRenderVSync() to get vsync of the given renderer
|
||||
* Added SDL_PlayAudioDevice() to start audio playback
|
||||
* 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"
|
||||
|
||||
/**
|
||||
* \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
|
||||
* to initialize the KMSDRM video backend.
|
||||
|
@ -559,6 +559,10 @@ static int RAWINPUT_UpdateWindowsGamingInput()
|
||||
}
|
||||
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.ref_count++;
|
||||
if (!wgi_state.initialized) {
|
||||
@ -874,12 +878,12 @@ static int RAWINPUT_JoystickInit(void)
|
||||
{
|
||||
SDL_assert(!SDL_RAWINPUT_inited);
|
||||
|
||||
if (!WIN_IsWindowsVistaOrGreater()) {
|
||||
/* According to bug 6400, this doesn't work on Windows XP */
|
||||
return -1;
|
||||
if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_RAWINPUT, SDL_TRUE)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -593,6 +593,10 @@ static int WGI_JoystickInit(void)
|
||||
{
|
||||
HRESULT hr;
|
||||
|
||||
if (!SDL_GetHintBoolean(SDL_HINT_JOYSTICK_WGI, SDL_TRUE)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (FAILED(WIN_RoInitialize())) {
|
||||
return SDL_SetError("RoInitialize() failed");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user