我正在尝试在UWP平台上编写游戏。问题是:我需要将Gamepad B和Escape绑定到两个不同的动作。例如。逃生应该总是关闭当前的任何东西,但Gamepad B应该只这样做,除非我的游戏处理它用于不同的目的。
但是,在Xbox上的KeyDown中,按下Gamepad B始终显示为Escape。
答案 0 :(得分:0)
我提出的另一个选择是在特定控件上处理KeyDown
,然后检查eventArgs.OriginalKey
。然后在处理程序中,您可以检测映射(因为OriginalKey
不匹配Key
),并设置eventArgs.Handled = true
以避免键处理。
答案 1 :(得分:0)
我认为KeyRoutedEventArgs和OriginalKey是您正在寻找的。以下是我的应用程序中适合我的示例:
private void StackPanel_KeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
{
if (e.OriginalKey == VirtualKey.GamepadB)
{
}
}