我在检测按键的程序中遇到问题。所有角色都在使用QUERTY键盘,但我知道AZERTY键盘上的某些字符存在问题。
例如,当在AZERTY键盘上按下\时,它的键码为226(â)。
如何确保键盘布局的行为一致?我希望内置的事件处理能够保持一致。
答案 0 :(得分:0)
您可能需要先detect the keyboard layout,然后使用不同的键码来进行角色映射。
答案 1 :(得分:0)
我完全无法重现。通过按住 AltGr ,然后按字母上方数字行上的 8 键,在AZERTY键盘上组合反斜杠。执行此操作时,将触发以下KeyDown
事件:
另一方面,如果您按 W 左侧的键,则会触发带有KeyCode OemBackslash和KeyValue 226的KeyDown
,以及<
个字符出现在文本框中。
我想知道您的键盘布局是否设置不正确以匹配您的特定键盘。我假设你的键盘看起来像这个维基百科页面上的图像:http://en.wikipedia.org/wiki/AZERTY
答案 2 :(得分:0)
是的,不同的键盘布局会提供不同的键码。 documentation将VK_OEM_102
(键码226)描述为"<>" or "\|" on RT 102-key keyboard
,因此键码甚至不应与单个特定字符相对应。
要查看密钥对应的字符,请使用MapVirtualKey功能。然后,您可以检查它是否是反斜杠。