1
在我的UWP MonoGame应用程序中,所有击键都由鼠标输入延迟。它有两个作用:由鼠标引起的键盘输入延迟
1)当按住任何键时,输入在物理释放后继续。当我停止快速移动鼠标时,这会结束。
2)当我按下某个键时,快速移动鼠标时,直到我停止移动鼠标时才接收输入。
这是发生较晚的事件。
window.KeyDown += CoreWindow_KeyDown;
在我的UWP MonoGame应用程序中,所有击键都由鼠标输入延迟。它有两个作用:由鼠标引起的键盘输入延迟
1)当按住任何键时,输入在物理释放后继续。当我停止快速移动鼠标时,这会结束。
2)当我按下某个键时,快速移动鼠标时,直到我停止移动鼠标时才接收输入。
这是发生较晚的事件。
window.KeyDown += CoreWindow_KeyDown;
这是由于传递给ProcessEvents的Windows :: UI :: Core :: CoreProcessEventsOption标志导致输入事件积压。快速鼠标输入将比事件队列更快地填充事件队列,当队列变满时,新事件将被丢弃。
coreWindow->Dispatcher->ProcessEvents(Windows::UI::Core::CoreProcessEventsOption::ProcessOneIfPresent);
为实时输入传递更适当的标志,例如ProcessAllIfPresent。
没有代码就很困难,但是我发现:当启用输入法编辑器(IME)时,应用程序不会收到此事件。 https://msdn.microsoft.com/en-in/windows.ui.core.corewindow.keydown或看看这个:http://stackoverflow.com/questions/28421867/how-do-i-handle-keydown-事件在-的WinRT-APP-XAML - 和 - C-其中-具有-A-网页视图 –