以前紹介したソースコードを見ると変換用のテーブルを言語とに plist で持っていた。
下記は japanese.lproj 下の PTKeyCodes.plist。他に English.lproj や Frentch.lproj などが用意されていた。

なるほど。これならキー表現をローカライズして提供できる。
なおこのキーの割当(0 => 'A')は Events.h (Carbon)の中で定義されている。
Events.h
enum {
kVK_ANSI_A = 0x00,
kVK_ANSI_S = 0x01,
kVK_ANSI_D = 0x02,
kVK_ANSI_F = 0x03,
kVK_ANSI_H = 0x04,
:
:さて今回はどうするか。