The RAWINPUT driver is no longer tied to HIDAPI in any way
parent
e52733af8d
commit
24059a19c5
|
@ -24547,10 +24547,6 @@ fi
|
|||
enable_hidapi_libusb=yes
|
||||
require_hidapi_libusb=yes
|
||||
;;
|
||||
# RAWINPUT is only available on Win32, but can be enabled if HIDAPI is
|
||||
*-*-cygwin* | *-*-mingw*)
|
||||
enable_joystick_rawinput=yes
|
||||
;;
|
||||
esac
|
||||
|
||||
hidapi_support=yes
|
||||
|
@ -24646,11 +24642,6 @@ fi
|
|||
|
||||
$as_echo "#define SDL_JOYSTICK_HIDAPI 1" >>confdefs.h
|
||||
|
||||
if test x$enable_joystick_rawinput = xyes; then
|
||||
|
||||
$as_echo "#define SDL_JOYSTICK_RAWINPUT 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
EXTRA_CFLAGS="$EXTRA_CFLAGS -I$srcdir/src/hidapi/hidapi"
|
||||
SOURCES="$SOURCES $srcdir/src/joystick/hidapi/*.c"
|
||||
SOURCES="$SOURCES $srcdir/src/hidapi/SDL_hidapi.c"
|
||||
|
@ -25230,6 +25221,9 @@ $as_echo "#define SDL_AUDIO_DRIVER_WASAPI 1" >>confdefs.h
|
|||
fi
|
||||
# Set up files for the joystick library
|
||||
if test x$enable_joystick = xyes; then
|
||||
|
||||
$as_echo "#define SDL_JOYSTICK_RAWINPUT 1" >>confdefs.h
|
||||
|
||||
if test x$have_dinput = xyes -o x$have_xinput = xyes; then
|
||||
if test x$have_xinput = xyes; then
|
||||
|
||||
|
|
|
@ -3349,10 +3349,6 @@ CheckHIDAPI()
|
|||
enable_hidapi_libusb=yes
|
||||
require_hidapi_libusb=yes
|
||||
;;
|
||||
# RAWINPUT is only available on Win32, but can be enabled if HIDAPI is
|
||||
*-*-cygwin* | *-*-mingw*)
|
||||
enable_joystick_rawinput=yes
|
||||
;;
|
||||
esac
|
||||
|
||||
hidapi_support=yes
|
||||
|
@ -3369,9 +3365,6 @@ CheckHIDAPI()
|
|||
|
||||
if test x$hidapi_support = xyes; then
|
||||
AC_DEFINE(SDL_JOYSTICK_HIDAPI, 1, [ ])
|
||||
if test x$enable_joystick_rawinput = xyes; then
|
||||
AC_DEFINE(SDL_JOYSTICK_RAWINPUT, 1, [ ])
|
||||
fi
|
||||
EXTRA_CFLAGS="$EXTRA_CFLAGS -I$srcdir/src/hidapi/hidapi"
|
||||
SOURCES="$SOURCES $srcdir/src/joystick/hidapi/*.c"
|
||||
SOURCES="$SOURCES $srcdir/src/hidapi/SDL_hidapi.c"
|
||||
|
@ -3797,6 +3790,7 @@ case "$host" in
|
|||
fi
|
||||
# Set up files for the joystick library
|
||||
if test x$enable_joystick = xyes; then
|
||||
AC_DEFINE(SDL_JOYSTICK_RAWINPUT, 1, [ ])
|
||||
if test x$have_dinput = xyes -o x$have_xinput = xyes; then
|
||||
if test x$have_xinput = xyes; then
|
||||
AC_DEFINE(SDL_JOYSTICK_XINPUT, 1, [ ])
|
||||
|
|
|
@ -727,19 +727,6 @@ extern "C" {
|
|||
*/
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX"
|
||||
|
||||
/**
|
||||
* \brief A variable controlling whether the HIDAPI driver for XBox controllers on Windows should pull correlated
|
||||
* data from XInput.
|
||||
*
|
||||
* This variable can be set to the following values:
|
||||
* "0" - HIDAPI Xbox driver will only use HIDAPI data
|
||||
* "1" - HIDAPI Xbox driver will also pull data from XInput, providing better trigger axes, guide button
|
||||
* presses, and rumble support
|
||||
*
|
||||
* The default is "1". This hint applies to any joysticks opened after setting the hint.
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_HIDAPI_CORRELATE_XINPUT "SDL_JOYSTICK_HIDAPI_CORRELATE_XINPUT"
|
||||
|
||||
/**
|
||||
* \brief A variable controlling whether the HIDAPI driver for Nintendo GameCube controllers should be used.
|
||||
*
|
||||
|
@ -783,6 +770,19 @@ extern "C" {
|
|||
*/
|
||||
#define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT"
|
||||
|
||||
/**
|
||||
* \brief A variable controlling whether the RAWINPUT driver should pull correlated data from XInput.
|
||||
*
|
||||
* This variable can be set to the following values:
|
||||
* "0" - RAWINPUT driver will only use data from raw input APIs
|
||||
* "1" - RAWINPUT driver will also pull data from XInput, providing
|
||||
* better trigger axes, guide button presses, and rumble support
|
||||
* for Xbox controllers
|
||||
*
|
||||
* The default is "1". This hint applies to any joysticks opened after setting the hint.
|
||||
*/
|
||||
#define SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT "SDL_JOYSTICK_RAWINPUT_CORRELATE_XINPUT"
|
||||
|
||||
/**
|
||||
* \brief A variable controlling whether a separate thread should be used
|
||||
* for handling joystick detection and raw input messages on Windows
|
||||
|
|
|
@ -1042,7 +1042,7 @@ RAWINPUT_JoystickOpen(SDL_Joystick *joystick, int device_index)
|
|||
/* We'll try to get guide button and trigger axes from XInput */
|
||||
#ifdef SDL_JOYSTICK_RAWINPUT_XINPUT
|
||||
xinput_device_change = SDL_TRUE;
|
||||
ctx->xinput_enabled = SDL_GetHintBoolean(SDL_HINT_JOYSTICK_HIDAPI_CORRELATE_XINPUT, SDL_TRUE);
|
||||
ctx->xinput_enabled = SDL_GetHintBoolean(SDL_HINT_JOYSTICK_RAWINPUT_CORRELATE_XINPUT, SDL_TRUE);
|
||||
if (ctx->xinput_enabled && (WIN_LoadXInputDLL() < 0 || !XINPUTGETSTATE)) {
|
||||
ctx->xinput_enabled = SDL_FALSE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue