2016-09-29 3 views
1

내 UWP MonoGame 앱에서 모든 키 입력이 마우스 입력으로 지연됩니다. 두 가지 효과가 있습니다.키보드 입력 지연 마우스로 인한

1) 아무 키나 누르고있을 때 물리적으로 손을 떼면 입력이 계속됩니다. 마우스를 빨리 움직이지 않으면 끝납니다.

2) 키를 누르면 마우스를 빠르게 움직이는 동안 마우스를 움직일 때까지 입력이 수신되지 않습니다.

이것은 늦게 발사되는 이벤트입니다.

window.KeyDown += CoreWindow_KeyDown; 
+1

코드가 없으면 어렵지만 다음과 같은 사실을 발견했습니다. IME (Input Method Editor)를 사용하는 경우 앱에서이 이벤트를받지 못합니다. https://msdn.microsoft.com/en-in/windows.ui.core.corewindow.keydown 또는 이것을보십시오 : http://stackoverflow.com/questions/28421867/how-do-i-handle-keydown- 이벤트 - 인 - winrt - 애플 리케이션 - xaml -와 - c -있는 - webview있다 –

답변

1

이는 입력 이벤트로 인해 발생으로 인해 ProcessEvents에 전달 된 윈도우 :: UI : 코어 :: CoreProcessEventsOption 플래그로, 백 로그지고. 빠른 마우스 입력은 처리중인 것보다 빠르게 이벤트 큐를 채우며, 큐가 가득 차면 새 이벤트는 무시됩니다.

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

실시간 입력에 더 적절한 플래그 (예 : ProcessAllIfPresent)를 전달하십시오.