WinRT: noted UWP's inability to work with some game controllers

This commit is contained in:
David Ludwig 2017-09-19 10:31:22 -04:00
parent c08a7a74a5
commit f57ef6ff97
1 changed files with 21 additions and 3 deletions

View File

@ -75,7 +75,10 @@ Here is a rough list of what works, and what doens't:
anything outside of the app is not supported. anything outside of the app is not supported.
* system path retrieval via SDL's filesystem APIs * system path retrieval via SDL's filesystem APIs
* game controllers. Support is provided via the SDL_Joystick and * game controllers. Support is provided via the SDL_Joystick and
SDL_GameController APIs, and is backed by Microsoft's XInput API. SDL_GameController APIs, and is backed by Microsoft's XInput API. Please
note, however, that Windows limits game-controller support in UWP apps to,
"Xbox compatible controllers" (many controllers that work in Win32 apps,
do not work in UWP, due to restrictions in UWP itself.)
* multi-touch input * multi-touch input
* app events. SDL_APP_WILLENTER* and SDL_APP_DIDENTER* events get sent out as * app events. SDL_APP_WILLENTER* and SDL_APP_DIDENTER* events get sent out as
appropriate. appropriate.
@ -103,8 +106,10 @@ Here is a rough list of what works, and what doens't:
SDL_CreateSystemCursor() (unsupported on Windows Phone) SDL_CreateSystemCursor() (unsupported on Windows Phone)
* SDL_WarpMouseInWindow() or SDL_WarpMouseGlobal(). This are not currently * SDL_WarpMouseInWindow() or SDL_WarpMouseGlobal(). This are not currently
supported by WinRT itself. supported by WinRT itself.
* joysticks and game controllers that aren't supported by Microsoft's XInput * joysticks and game controllers that either are not supported by
API. Microsoft's XInput API, or are not supported within UWP apps (many
controllers that work in Win32, do not work in UWP, due to restrictions in
UWP itself).
* turning off VSync when rendering on Windows Phone. Attempts to turn VSync * turning off VSync when rendering on Windows Phone. Attempts to turn VSync
off on Windows Phone result either in Direct3D not drawing anything, or it off on Windows Phone result either in Direct3D not drawing anything, or it
forcing VSync back on. As such, SDL_RENDERER_PRESENTVSYNC will always get forcing VSync back on. As such, SDL_RENDERER_PRESENTVSYNC will always get
@ -520,3 +525,16 @@ making sure these items are checked as-appropriate, install them.
Once you install these components, try re-launching Visual Studio, and re-opening Once you install these components, try re-launching Visual Studio, and re-opening
the SDL project file. If you still get the error dialog, try using the Output the SDL project file. If you still get the error dialog, try using the Output
window, again, seeing what Visual Studio says about it. window, again, seeing what Visual Studio says about it.
#### Game controllers / joysticks aren't working!
Windows only permits certain game controllers and joysticks to work within
WinRT / UWP apps. Even if a game controller or joystick works in a Win32
app, that device is not guaranteed to work inside a WinRT / UWP app.
According to Microsoft, "Xbox compatible controllers" should work inside
UWP apps, potentially with more working in the future. This includes, but
may not be limited to, Microsoft-made Xbox controllers and USB adapters.
(Source: https://social.msdn.microsoft.com/Forums/en-US/9064838b-e8c3-4c18-8a83-19bf0dfe150d/xinput-fails-to-detect-game-controllers?forum=wpdevelop)