在 UWP 中处理 XInput

Handling XInput in UWP

在 UWP 中,通过 XInput 支持 XBox 游戏手柄。在 C# 中,我们有 Windows.Gaming.Input 游戏手柄的命名空间 class,在 C++ 中,我们有 Xinput.h。除了一个例外,两者都可以正常工作——我必须在启动我的应用程序之前连接并打开我的游戏手柄。启动应用程序后,将不会检测到游戏手柄(例如,不会触发 Gamepad.GamepadAdded 事件)。在启动 UWP 应用程序后 on/connected 是否有检测游戏手柄的方法?

我给你的建议是定时查看连接状态。一种简单的方法是对 DispatcherTimer 使用 DispatcherTimer. Here is a sample。您可以在 OnLaunch() 中启动计时器。

在dispatcherTimer.Tick回调函数中,您可以通过Gamepad.GetState()和currentState.IsConnected属性检查手柄连接。在此 post 中,您可以找到如何检查游戏手柄连接状态。 希望对您有所帮助。