- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我需要将快捷键映射到键盘上“1”键左侧的键。在标准美国键盘上,这将是反引号字符 ("` "),即键代码编号 50。不幸的是,国际键盘(例如法语键盘)在 1 键的左侧有一个不同的键(正斜杠键“/”),因此对该键代码进行硬编码可能会导致不使用美国键盘的用户出现意外结果。
有没有办法在运行时将美国键码转换为国际键盘的键码,或者有办法根据键盘上按键的位置以编程方式确定键码?
最佳答案
“1”左侧按键上的字符在不同的键盘布局上是不同的,但虚拟键码应该是相同的。如果您查看HIToolbox/Events.h
,您可以看到常量kVK_ANSI_Grave
,它代表您正在谈论的键;在常量列表上方,有一条注释表明,在虚拟键代码级别,相等意味着物理键相同,尽管扫描代码可能不同并且发出的字母可能不同。
换句话说:键盘驱动程序从扫描代码映射到虚拟键代码,键盘布局(您可以在系统偏好设置中更改)从虚拟键代码映射到字符。
这可能都是错误的;我没有非美国键盘来验证这些断言。
关于objective-c - 转换国际键盘的 CGKeyCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5253972/
在我的应用程序中,我需要将快捷键映射到键盘上“1”键左侧的键。在标准美国键盘上,这将是反引号字符 ("` "),即键代码编号 50。不幸的是,国际键盘(例如法语键盘)在 1 键的左侧有一个不同的键(正
我无法找到如何转换 CGKeyCode到相应的字符。 你是怎么做到的? 最佳答案 这是来自 the RUI project 的函数带有部分表。 char * keyStringForKeyCode(i
我需要一个函数,给定一个字符,返回与该字符在当前键盘布局上的位置关联的 CGKeyCode。例如,给定“b”,如果使用 U.S. QWERTY,则应返回 kVK_ANSI_B,如果使用 Dvorak,
我正在尝试将键盘事件发送到进程。像“a”、“v”、“t”这样的键可以正常工作,但是空格、命令、控制等键不起作用。这就是我正在做的事情: CGEventRef e1 = CGEventCreateKey
我是一名优秀的程序员,十分优秀!