Windows 8.1处理物理键盘输入

时间:2014-10-22 20:39:31

标签: windows input keyboard

我在c#for Windows 8.1中开发通用应用程序

我试图抓住键盘输入,并且从在线文献中已经指出 KeyDown 事件和 KeyRoutedEventArgs 财产。这适用于大多数关键字符并返回 VirtualKey 枚举,例如VirtualKey.A。但是,当字符如,。;:>按下Key属性设置为一个数字,如果与VirtualKey.Shift结合使用该键,则此数字是相同的值,这似乎表示它不代表键上的字符,但仅表示物理键。

碰巧,我使用的是意大利笔记本电脑键盘当然与英国扩展键盘的布局不同,所以英国键盘上的分号(;)键值为186(作为移位或底部字符)并且在意大利语键盘上是188(作为Shift或顶部字符)。因此我很难抓住这些标点字符。

我过去开发过WPF,Silverlight和.Net应用程序,并且不记得即使在组合游戏循环中也难以处理物理键盘输入,因为我只使用了Key或Keys枚举和OEM价值。

无论键盘布局如何,如何在按下相应的键时捕获这些标点符号?

1 个答案:

答案 0 :(得分:0)