Cod*_*ous 6 c# keyboard input uwp
我正在使用C#为HoloLens编写VNC客户端,我很难搞清楚如何处理键盘输入.KeyUp/KeyDown给了我一个Windows.System.VirtualKey对象,但似乎没有一个API将这些VirtualKeys(以及修饰符,例如shift)映射到它们在给定布局上表示的字符.例如,当它只是VirtualKey.F时,VirtualKey.Shift + VirtualKey.F =='F'与'f'.或Shift + 5在美国键盘上给出%.
在win32应用程序中,您将使用MapVirtualKey为您处理键盘布局 - 如何在UWP中处理?
无法在KeyUp/KeyDown事件中获取已翻译的字符.但是,使用CoreWindow.CharacterReceived事件获取翻译后的字符是可能的.
您可以通过以下代码注册活动:
Window.Current.CoreWindow.CharacterReceived += CoreWindow_CharacterReceived;
Run Code Online (Sandbox Code Playgroud)
并且您将通过CharacterReceivedEventArgs获得已翻译输入字符的KeyCode(例如,对于shift+5它获取37,而对于5它获取53):
private void CoreWindow_CharacterReceived(CoreWindow sender, CharacterReceivedEventArgs args)
{
uint keyCode=args.KeyCode;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1351 次 |
| 最近记录: |