2017-08-16 15 views
0

私はUWPプラットフォームでゲームを作成しようとしています。問題は:Gamepad BとEscapeを2つの異なるアクションにバインドする必要があります。例えば。エスケープは常に最新のものを閉じるべきですが、Gamepad Bはゲームが別の目的のためにそれを処理しない限り、それを行うべきです。Xbox用のUWPアプリでゲームパッドのボタンマッピングを無効にすることはできますか?

しかし、XboxのKeyDownを押すと、ゲームパッドBは常にエスケープとして表示されます。

+0

どのようなappmodelを使用していますか? Direct3Dのappmodelアプリケーションでは、ゲームパッドからのキーボードマッピングはありません。 –

答えて

0

もう1つの選択肢は、特定のコントロールでKeyDownを処理し、eventArgs.OriginalKeyをチェックすることです。ハンドラでは、(OriginalKeyKeyと一致しないため)マッピングを検出し、キー処理を避けるためにeventArgs.Handled = trueを設定することができます。

+0

これは 'VirtualKey.GamepadLeftTrigger'を処理しません。それは決して発火しません:( – LOST

0

KeyRoutedEventArgsとOriginalKeyはあなたが探しているものだと思います。ここで私のアプリで私のために働くサンプルです:

private void StackPanel_KeyUp(object sender, Windows.UI.Xaml.Input.KeyRoutedEventArgs e) 
    { 

     if (e.OriginalKey == VirtualKey.GamepadB) 
     { 

     } 
    } 
+0

それがあなたのために働くかどうか私に知らせます、私はより詳細なサンプルを提供することができます –

関連する問題