diary

TerminalのときだけControlキーを入れ替える

without comments

control

正直にここで白状しますと、ワタシはコントロールキーが「A」の左(上図参照)にないとものすごく嫌な人です。

WindowsではAltIMEというソフトをわざわざインストールしてCapsLockとControlキーを入れ替えていたのですが、すばらしいことにMacOSではシステムがこのへんのキーの割当の変更をサポートしています。変更するには、[System Preference]->[Keyboard & Mouse] を選択し、Modifier Keys…のボタンを押します。

picture-11

MacOSではCommandキーがWindowsのControlキーとほぼ同じ役割をします。例えば、MacOSではCopyのショートカットはCommand+C、PasteのショートカットはCommand+Vです。といこうことは、このCommandキーがAの左にくればワタシは満足なわけで、ワタシはCapsLockなんか使わない人なので、このキーに大胆にCommandを割り当てます(一番上のオプションです)。

MacOS上での大抵の作業はこれで気持ちよく行えるのですが、一つだけ問題があります。それは、Terminalを使うときです。MacOSには、Commandキー以外にご丁寧にControlキーが別に存在し、Terminalは全部このControlキーに依存しているのです。

Terminalを使うときだけ都合良く「A」キーの横にControlが割り当てられないものかといろいろ探していたら、どうやら、KeyRemap4MacBookというソフトがアプリケーションごとにキーの割当を変えることができる様子。だけどもインストールしてみたら、Terminal用にはCommandLとOptionLを入れ替えるオプションしかない…。

幸いソースコードが公開されていたので、モノは試しと自分でオプションを追加してみました。コードの変更の仕方とビルドの方法はまったくサイトに書いてある通りでした。このシンプルさ、すばらしいです。おかげさまで、CommandL To ControlL というワタシ専用のオプションを追加することができました。

picture-2

動作も完璧です。いや、すばらしい

ひょっとしたら欲しい方がいるかもしれないので、KeyRemap4MacBook 5.1.0用のpatchを作っておきました。patchの当て方は以下の通り。

  • KeyRemap4MacBookのソースコードをダウンロードします。
  • ソースコードを展開します。KeyRemap4MacBook-5.1.0というフォルダができると思います。
  • patchダウンロードして、上記のフォルダの中に置きます。
  • Terminalを起動してこのフォルダに移動し、以下のコマンドを叩きます。

    $ patch -p1 -i add_commandL2controlL_5.1.0.patch
    patching file src/core/kext/remap.cpp
    patching file files/prefpane/checkbox.xml

  • ビルド方法に従ってビルドして、アプリケーションを登録します。

[追記 2011/3/8]

最近MBP買ったしげによると、最近のやつはXMLをいじるだけで簡単にできるみたいです。実際簡単にできました。こりゃ便利。

Written by Kei

February 16th, 2009 at 3:59 am

Leave a Reply