Windows UWP 中对 Xbox One 的控制器支持
Controller support for Xbox one in Windows UWP
我想知道我应该如何处理针对 Xbox One 的 UWP 应用程序的输入。我注意到了 DirectInput,但我发现它在我的用例中有两个问题:
来自MSDN,好像只支持Xbox 360手柄
XInput is an API that allows applications to receive input from the Xbox 360 Controller for Windows. Controller rumble effects and voice input and output are supported.
DirectX 及其所有 API(Direct2d、Direct3D、Xinput 等)仅在 C / C++ 上受支持。这意味着即使 Xinput 支持 Xbox one 控制器,我也无法使用 C# 或 JavaScript 开发真正通用的应用程序。
我有哪些选项(至少就 C# 而言)在 Windows UWP 应用程序上支持 Xbox One 控制器?
看看 Windows.Gaming.Input namespace. Its GamePad class 是通用 API 合同,适用于所有设备系列和语言。
为了支持@Rob Caplan - MSFT 的来源,来自 Microsoft Developer Network 的 blog 指出:
Windows 10: There is a new WinRT API in the Windows.Gaming.Input namespace for universal Windows apps. This API supports both the Xbox 360 Common Controller and the Xbox One controller, including access to the left/right trigger motors. The latest version of GamePad is implemented using this new API when built for Windows 10. Note that existing XInput-based Windows Store applications can link against xinputuap.lib which is an adapter for the new API for universal Windows apps--this adapter does not exist headset audio either.
DirectX and all of its API's (Direct2d, Direct3D, Xinput, etc...) are only supported on C / C++
只有本机支持,是的,但是使用 SharpDX
从 C# 实现 DirectInput 很简单
然而,DirectInput 对于读取 XB 控制器没有多大用处,因为触发轴合并为一个,并且无法区分没有触发和两个触发都保持。
我想知道我应该如何处理针对 Xbox One 的 UWP 应用程序的输入。我注意到了 DirectInput,但我发现它在我的用例中有两个问题:
来自MSDN,好像只支持Xbox 360手柄
XInput is an API that allows applications to receive input from the Xbox 360 Controller for Windows. Controller rumble effects and voice input and output are supported.
DirectX 及其所有 API(Direct2d、Direct3D、Xinput 等)仅在 C / C++ 上受支持。这意味着即使 Xinput 支持 Xbox one 控制器,我也无法使用 C# 或 JavaScript 开发真正通用的应用程序。
我有哪些选项(至少就 C# 而言)在 Windows UWP 应用程序上支持 Xbox One 控制器?
看看 Windows.Gaming.Input namespace. Its GamePad class 是通用 API 合同,适用于所有设备系列和语言。
为了支持@Rob Caplan - MSFT 的来源,来自 Microsoft Developer Network 的 blog 指出:
Windows 10: There is a new WinRT API in the Windows.Gaming.Input namespace for universal Windows apps. This API supports both the Xbox 360 Common Controller and the Xbox One controller, including access to the left/right trigger motors. The latest version of GamePad is implemented using this new API when built for Windows 10. Note that existing XInput-based Windows Store applications can link against xinputuap.lib which is an adapter for the new API for universal Windows apps--this adapter does not exist headset audio either.
DirectX and all of its API's (Direct2d, Direct3D, Xinput, etc...) are only supported on C / C++
只有本机支持,是的,但是使用 SharpDX
从 C# 实现 DirectInput 很简单
然而,DirectInput 对于读取 XB 控制器没有多大用处,因为触发轴合并为一个,并且无法区分没有触发和两个触发都保持。