2016-11-28 15 views
1

CoreWindow.KeyDownが最新のWindows 10のいくつかのビルド(6ヶ月)で壊れているので、キーボード入力を取得する別の方法が必要です。私が知っているマウス入力を得る3つの方法がありますが、キーボード入力のための代替方法はありません。CoreWindow.KeyDownを使用せずにUWPアプリケーションでグローバルキーボード入力を取得する方法

UWPプログラムでキーボード入力を行う方法はありますか?もしそうなら、彼らは何ですか?

CoreWindow.KeyDownイベントが最大30秒遅れることがあるという問題があります。

+1

あなたはどこにでも壊れていると確信していますか? CoreWindow.KeyDownは私のためにうまくいきます... –

+0

あなたのOSのバージョンとプロジェクトのターゲットバージョンは?他の端末でアプリをテストしようとしましたか? –

+1

@ grace-feng-msft 複数のコンピュータとOSのバージョンを試しましたが、これはmonogameとsharpdxコミュニティの間でよく知られた問題です。 多くのマウスイベントを受信して​​いる場合や、中程度以上のCPU負荷がかかる場合にのみ壊れます。それはほとんどのゲームに影響します。あなたはそれがアプリで起こることはありません。 詳細はこちらをご覧ください。 https://github.com/MonoGame/MonoGame/pull/5333 これはUWPフレームワークの問題です。私はMicrosoftからまだ誰かにそれを認識させて修正することができませんでした。 CoreWindow.KeyDownイベントが最大30秒遅れることがあるという問題があります。 –

答えて

1

ダニエルは、一つの代替方法がある:CoreWindow.Dispatcher.AcceleratorKeyActivated

しかし、注意してください:それは偽陽性を与えるなどメニューキー(Alt)を押すと、Ctrlキーを押していることも示されます。 また、KeyDownとSystemKeyDownの違いがあります(2つの違いの定義が見つかりませんでした)が、KeyUpとSystemKeyUpをペアにしようとすると、必ずしも一致するとは限りません。 :/

とにかく、あなたのために働くなら、CoreWindow.Dispatcher.AcceleratorKeyActivatedはあなたの質問の答えです。

関連する問題