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