OSX上のVirtualBoxを使う時だけKarabinerを無効にする

  • 23
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

Karabiner は OSX の様々なキーバインドを変更できる便利なアプリケーションです

私は、Macbook の英字キーボードで、右/左の Command キーを単体で押すとで「かな」/「英数」を切り替えられるようにしています。こうすると英字キーボードのレイアウトを使いつつも、IMEの切り替えが日本語配列のようになるため非常に有用です。

不便なところ

しかし、設定によってはVirtualBoxのゲストマシンだと設定が競合してしまうことがあります。
たとえば、Karabinerで 左右のコマンドキー(⌘)を「英数/かな」としても使う を有効にしていると、ゲストマシンでコマンドキーを叩いた時にSuperキーとしても機能するのですが、バッククォート( ` ) が入力されてしまいます。

そのため、Virtualboxのウィンドウがアクティブになっている時だけは Karabiner を無効にしたいと思っていたのですが、以下の方法で可能でした。

Karabiner の設定を特定のアプリケーションで無効にする方法

1. 設定ファイルを開く

Karabiner のウィンドウの 'Misc & Uninstall' タブにある Open private.xml ボタンを押すと Finder が開くので private.xml を開きます。

2. private.xml の編集

以下のようにします。

<?xml version="1.0"?>
<root>
  <appdef>
    <appname>VirtualBox</appname>
    <equal>org.virtualbox.app.VirtualBoxVM</equal>
  </appdef>
  <item>
    <name>Disable all settings while using VirtualBox</name>
    <identifier>private.ignore_virtualbox</identifier>
    <only>VirtualBox</only>
    <autogen>__PassThrough__</autogen>
  </item>
</root>

3. 設定を反映

再度 Karabiner の設定画面を開き、 Change Key タブにある Reload XML ボタンを押して設定を反映させます(このときエラーが起きる場合は、XMLが正しく編集できたか確認してください)。

次に、 Search テキストボックスに 「virtualbox」 と入力するとXMLで設定した Disable all settings while using VirtualBox という項目が出てくるはずなので、このチェックボックスを ON にします。

4. できているか確認

これで VirutalBox を使っている間は、Karabiner のすべての設定が無効になっているはずです。

おわりに

Karabiner の private.xml を編集することで、特定のアプリに対して特定の設定を有効にすることができるため、大変便利です。

その他の詳細な設定については、 private.xml Reference Manual を御覧ください。