円とバックスラッシュのキー入力を入れかえる(Cocoaアプリ限定)
splhackの「不思議なこと1つ解決」を読んでいて思い出したのでメモ。
Mac の JIS キーボードでバックスラッシュを入力するには Option + ¥ キーなんだけど、プログラム書くような人には逆のほうがたぶん便利。Cocoa アプリケーション限定だけれど、~/Library/KeyBindings/DefaultKeyBinding.dict で設定ができる。
{
"¥" = ("insertText:", "\\");
"〜¥" = ("insertText:", "¥");
}
(円記号、バックスラッシュ、チルダはほんとうは半角)
10.4と10.5で動作確認した。 JTerminal から Leopard 付属の Terminal.app に乗り換えするときに調べたもの。
DefaultKeyBinding についてはマイコミジャーナルの OS X ハッキング! (103) Cocoaアプリのキーバインドにこだわる(1) を、実行可能なメソッドと機能については NSResponder のリファレンス を見るとどういうことをしているのかの参考になると思う。
しかし DefaultKeyBinding で TextView(TextInput のメッセージ送信先) のメソッドが呼び出せるってのは便利なのだけど、どうしてこんな機能があるのだろう。ずいぶん昔からあるよな。