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 に 2 つの列挙が見つかりました。
1 つはキーボード レイアウトから独立したユニバーサル名を持つ keyCodes 用で、もう 1 つは ANSI 標準 US キーボードのキーボード レイアウト固有の名前用です。名前は、または
の命名規則に従います。ただし、私は US キーボード レイアウトのものしか使用できず、名前はまたはのような単純な方法でより適切でした。kVK_F19
kVK_ANSI_RightBracket
F19
Right Bracket