Mac OS X Swap CapsLock Ctrl

Mac OS X でControl と CapsLock を入れ替えるには、USBキーボードを使っているなら、Remapping the Caps Lock to Controlを参考にすればよいらしい。

/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/IOUSBHIDDriver.kext/Contents/Info.plist の IOKitPersonalities/Generic Keyboard セクションに次の2行を加えれば良いのだが、root権限がないと書き込めない。GUIでやる方法がわからなかったので、ターミナルアプリケーション上でsudoコマンドを使って編集を行った。

<key>Swap control and capslock</key>
<integer>1</integer>

あとは、システムに更新があったことを通知するためにtouchコマンドを使う。

$ sudo touch /System/Library/Extensions

これらの作業をしてから再起動をかければ入れ替えができるようなのだが、手元のマシンではうまく動かなかった。どうやら、iBookはこの方法ではなかったようだ。そこでさらに調べてみると、uControlというGPLのユーティリティが使えるらしい。

uControl is a keyboard remapper and more for Mac OS X.

そこで、uControl 1.4.4 のディスクイメージ版(dmgファイル)をダウンロードして使ってみたが、そのままではインストールができなかった。バージョンチェックでOSのバージョンが違うと駄目だといってくる。これをなんとかすれば良いようで、次の手順で対応できる。

  1. Contentsをデスクトップへコピー
  2. Contentsに入っているバージョンチェックモジュールを削除
  3. パッケージを作成
  4. インストール

そこで、パッケージ(pkgファイル)をCtrl+マウスクリックで表示されるメニューから「中を参照」みたいな項目を選択したら、Contentsというディレクトリが中にあることがわかったので、これをデスクトップへコピーした。コピーした方のディレクトリの中を開くとバージョンチェックをしているらしいモジュールが1つあるので、それを削除した。次にデスクトップ上にuControl.pkgというディレクトリを作成して、その中へこのContentsディレクトリを移動してあげるとパッケージになった。あとはこれをダブルクリックするとインストールがはじまった。これで無事インストールは完了。

再起動をするとuControlが有効になって、システム環境設定からuControl設定を呼び出せるようになる。CapsLockをCtrlへ変更することはできるが、交換はできないようなので、その点だけ注意しないといけない。一応、アンインストールも試してみたが、こちらは特に作業をしなくてもできているような感じだった。ゴミファイルが残っているかもしれないが、そこまでは確認していない。

とりあえずはこれでいこうかと思う。しかし、まだMac OS Xの使い方がよくわからない。GUI上でrootにはどうやってなるんだろうか?管理作業は sudoコマンドで基本的に作業しろということなのだろうか。謎だ。

同じカテゴリの記事: etc