私はUWPプラットフォームでゲームを作成しようとしています。問題は:Gamepad BとEscapeを2つの異なるアクションにバインドする必要があります。例えば。エスケープは常に最新のものを閉じるべきですが、Gamepad Bはゲームが別の目的のためにそれを処理しない限り、それを行うべきです。Xbox用のUWPアプリでゲームパッドのボタンマッピングを無効にすることはできますか?
しかし、XboxのKeyDownを押すと、ゲームパッドBは常にエスケープとして表示されます。
私はUWPプラットフォームでゲームを作成しようとしています。問題は:Gamepad BとEscapeを2つの異なるアクションにバインドする必要があります。例えば。エスケープは常に最新のものを閉じるべきですが、Gamepad Bはゲームが別の目的のためにそれを処理しない限り、それを行うべきです。Xbox用のUWPアプリでゲームパッドのボタンマッピングを無効にすることはできますか?
しかし、XboxのKeyDownを押すと、ゲームパッドBは常にエスケープとして表示されます。
もう1つの選択肢は、特定のコントロールでKeyDown
を処理し、eventArgs.OriginalKey
をチェックすることです。ハンドラでは、(OriginalKey
がKey
と一致しないため)マッピングを検出し、キー処理を避けるためにeventArgs.Handled = true
を設定することができます。
これは 'VirtualKey.GamepadLeftTrigger'を処理しません。それは決して発火しません:( – LOST
KeyRoutedEventArgsとOriginalKeyはあなたが探しているものだと思います。ここで私のアプリで私のために働くサンプルです:
private void StackPanel_KeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e)
{
if (e.OriginalKey == VirtualKey.GamepadB)
{
}
}
それがあなたのために働くかどうか私に知らせます、私はより詳細なサンプルを提供することができます –
どのようなappmodelを使用していますか? Direct3Dのappmodelアプリケーションでは、ゲームパッドからのキーボードマッピングはありません。 –