在Xbox上的UWP应用中模拟游戏手柄输入

时间:2018-01-02 14:54:56

标签: c# uwp xbox gamepad

我正在尝试模拟在Xbox上运行的UWP应用中的用户输入。起初我尝试通过InjectedInputKeyboardInfo按键,它运行正常。

var inputInjector = InputInjector.TryCreate();

InjectedInputKeyboardInfo inputKeyboardInfo = new InjectedInputKeyboardInfo
{
    KeyOptions = InjectedInputKeyOptions.ScanCode,
    ScanCode = 22
};

inputInjector.InjectKeyboardInput(new[] { inputKeyboardInfo });

然后我试着在游戏手柄上按一下键,它实际上什么也没做。没有错误,没有例外。

InjectedInputGamepadInfo info = new InjectedInputGamepadInfo
{
    Buttons = GamepadButtons.A
};

inputInjector.InjectGamepadInput(info);

我更新了我的包清单:

  • 添加了名称空间xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  • 添加了IgnorableNamespaces="rescap"
  • 添加了功能<rescap:Capability Name="inputInjectionBrokered" />

我的应用有最低/目标版本16299.
我的Xbox运行在16299.4055。

1 个答案:

答案 0 :(得分:0)

从操作系统内部版本17134开始,有一个新的API可用于模拟Xbox One控制器,键盘或鼠标。

https://docs.microsoft.com/en-us/windows/uwp/xbox-apps/uwp-remoteinput-api