2016-09-29 10 views
1

私のUWP MonoGameアプリケーションでは、すべてのキーストロークがマウス入力によって遅れます。マウスによるキーボード入力の遅延

1)いずれかのキーを押していると、物理的に離した後も入力が続けられます。これは、マウスをすばやく動かすのを止めると終了します。

2)マウスをすばやく動かしながらキーを押すと、マウスを動かすまで入力が受け付けられません。

これは遅れているイベントです。

window.KeyDown += CoreWindow_KeyDown; 
+1

コードなしでは難しいですが、私はこれを見つけました。入力メソッドエディタ(IME)を有効にすると、このイベントは受信されません。 https://msdn.microsoft.com/en-in/windows.ui.core.corewindow.keydownまたはこれを見てください:http://stackoverflow.com/questions/28421867/how-do-i-handle-keydown-イベント - イン - ウィル - アプリ - xaml - and - c - は、WebViewを持っている –

答えて

1

これはでprocessEventsに渡さ:: UI ::コア:: CoreProcessEventsOptionフラグが原因Windowsに、入力イベントが後回しに起因しています。迅速なマウス入力は、処理中のものよりも速くイベント・キューを満たし、キューがいっぱいになると、新しいイベントは破棄されます。

coreWindow->Dispatcher->ProcessEvents(Windows::UI::Core::CoreProcessEventsOption::ProcessOneIfPresent); 

ProcessAllIfPresentなどのリアルタイム入力に適したフラグを渡します。

関連する問題