我需要以用户可读的方式显示CGKeyCode
这是一个例子:
对于字符和字母:
0 -> "a"
18 -> "1"
对于特定密钥:
49 -> "Space"
83 -> "Numpad 1"
80 -> "F19"
根据键盘布局,名称必须更改。密钥代码仅指定密钥位置,与其字符无关。例如,密钥代码16
在QWERTY键盘上将为“y”,而在QWERTZ键盘上为“z”。
由于这应该是一个常见的问题,并且在OS X中用于分配键盘快捷键,我想知道在功能性或库中是否有任何构建可以用来做到这一点吗?
手动编写每个键盘布局的switch-case语句似乎是一项艰巨的任务......
我在Carbon中的events.h中发现了两个枚举
一个用于具有通用名称的keyCodes,它们独立于键盘布局,另一个用于ANSI标准美国键盘上的键盘布局特定名称。
这些名称遵循kVK_F19
或kVK_ANSI_RightBracket
的命名惯例。但是,我只能使用带有美式键盘布局的名称,并且F19
或Right Bracket
更简单,名称会更好。