c# – 将VirtualKey映射到UWP应用程序中的char,与布局无关
发布时间:2020-12-15 04:29:07 所属栏目:百科 来源:网络整理
导读:我正在使用C#为HoloLens编写VNC客户端,我很难搞清楚如何处理键盘输入. KeyUp / KeyDown给了我一个 Windows.System.VirtualKey对象,但似乎没有一个API将这些VirtualKeys(以及修饰符,例如shift)映射到它们在给定布局上表示的字符.例如.当它只是VirtualKey.F时,
我正在使用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; 并且您将获得翻译的输入字符的KeyCode(例如,对于第5班,它获得37,而对于5,它获得53)通过CharacterReceivedEventArgs: private void CoreWindow_CharacterReceived(CoreWindow sender,CharacterReceivedEventArgs args) { uint keyCode=args.KeyCode; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |