WinRT: build fixes
These fixes are lumped into two categories: 1. add new file, SDL_dataqueue.c, to UWP/WinRT build-inputs (via MSVC project files) 2. implement a temporary, hack-fix for a build error in SDL_xinputjoystick.c. Win32's Raw Input APIs are, unfortunately, not available for use in UWP/WinRT APIs. There does appear to be a replacement API, available in the Windows.Devices.HumanInterfaceDevice namespace. This fix should be sufficient to get SDL compiling again, without affecting Win32 builds, however using the UWP/WinRT API (in UWP/WinRT builds) would almost certainly be better (for UWP/WinRT builds). TODO: research Windows.Devices.HumanInterfaceDevice, and use that if and as appropriate.
This commit is contained in:
parent
4ac0f03b8b
commit
bfc9b8c565
11 changed files with 48 additions and 0 deletions
|
@ -38,11 +38,16 @@ static SDL_bool s_bXInputEnabled = SDL_TRUE;
|
|||
static SDL_bool
|
||||
SDL_XInputUseOldJoystickMapping()
|
||||
{
|
||||
#ifdef __WINRT__
|
||||
/* TODO: remove this __WINRT__ block, but only after integrating with UWP/WinRT's HID API */
|
||||
return SDL_TRUE;
|
||||
#else
|
||||
static int s_XInputUseOldJoystickMapping = -1;
|
||||
if (s_XInputUseOldJoystickMapping < 0) {
|
||||
s_XInputUseOldJoystickMapping = SDL_GetHintBoolean(SDL_HINT_XINPUT_USE_OLD_JOYSTICK_MAPPING, SDL_FALSE);
|
||||
}
|
||||
return (s_XInputUseOldJoystickMapping > 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
SDL_bool SDL_XINPUT_Enabled(void)
|
||||
|
@ -110,6 +115,8 @@ GetXInputName(const Uint8 userid, BYTE SubType)
|
|||
static void
|
||||
GuessXInputDevice(UINT device_index, Uint16 *pVID, Uint16 *pPID, Uint16 *pVersion)
|
||||
{
|
||||
#ifndef __WINRT__ /* TODO: remove this ifndef __WINRT__ block, but only after integrating with UWP/WinRT's HID API */
|
||||
|
||||
PRAWINPUTDEVICELIST devices = NULL;
|
||||
UINT i, found_count = 0, device_count = 0;
|
||||
|
||||
|
@ -151,6 +158,7 @@ GuessXInputDevice(UINT device_index, Uint16 *pVID, Uint16 *pPID, Uint16 *pVersio
|
|||
}
|
||||
}
|
||||
SDL_free(devices);
|
||||
#endif /* ifndef __WINRT__ */
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue