Windows 8.1处理物理键盘输入
我正在用c为Windows8.1开发一个通用应用程序 我试图捕捉键盘输入,从在线文献中可以看到KeyDown事件和KeyRoutedEventArgs以及Key属性。这适用于大多数关键字符,并返回VirtualKey枚举,如VirtualKey.A。但是,当使用诸如、;:>按下键时,键属性被设置为一个数字,如果该键与VirtualKey.Shift组合按下,则该数字的值相同,这似乎表明它不代表键上的字符,而仅代表物理键 恰巧,我使用的是意大利笔记本电脑键盘,它的布局当然与英国扩展键盘不同,因此分号的键值;在英国键盘上是186,表示未移位或底部字符,在意大利键盘上是188,表示移位或顶部字符。因此,在捕捉这些标点符号时,我感到很困惑 我曾经开发过WPF、Silverlight和.Net应用程序,我不记得即使在游戏循环中也很难处理物理键盘输入,因为我只使用了一个或多个键枚举和一个OEM值Windows 8.1处理物理键盘输入,windows,input,keyboard,Windows,Input,Keyboard,我正在用c为Windows8.1开发一个通用应用程序 我试图捕捉键盘输入,从在线文献中可以看到KeyDown事件和KeyRoutedEventArgs以及Key属性。这适用于大多数关键字符,并返回VirtualKey枚举,如VirtualKey.A。但是,当使用诸如、;:>按下键时,键属性被设置为一个数字,如果该键与VirtualKey.Shift组合按下,则该数字的值相同,这似乎表明它不代表键上的字符,而仅代表物理键 恰巧,我使用的是意大利笔记本电脑键盘,它的布局当然与英国扩展键盘不同,因此分
无论键盘布局如何,当按下这些标点符号各自的键时,我如何捕获这些标点符号?Hans Passant提供的答案: 此事件会暴露在物理键盘上键入的字符:
谢谢你,汉斯。。。正是我需要的