KeyRemap4MacBookでショートカット:
ショートカットの入れ替えをしてみよう♪
約 15 分で読める
前回は設定画面の説明と簡単な設定の例を紹介しましたが、今回は一歩進んだ設定の方法を紹介します。
KeyRemap4MacBook ではデフォルトで準備されている設定以外にも、自分で設定を追加してキーボードの入れ替えをすることができます。この機能をつかうと、いろいろなアプリケーションのショートカットを自分好みのものにできるので、一緒に覚えてしまいましょう♪
ということで、さっそく設定をしていきます。
KeyRemap4MacBook の設定画面の "Misc & Uninstall タブ" にある "Open private.xml" をクリックすると、Finder で設定ファイルが表示されるので、これを開き、編集していきます。
基本: 簡単な設定ファイルを書いてみる
まずは設定ファイルの書き方です。
1 2 3 4 | <?xml version="1.0"?> <root> <!-- 設定内容がここにはいる --> </root> |
上の形式で設定内容をすべて囲んであげます。この間に書かれている内容が設定ファイルとして読み込まれるので、なにはともあれ、これだけは書いておきましょう。
この中に、実際の設定ファイルを書いていきます。
1 2 3 4 5 | <item> <name>Sample: Ctrl_F to CURSOR_LEFT</name> <identifier>remap.ctrl_f_to_cursor_left</identifier> <autogen>--KeyToKey-- KeyCode::F, VK_CONTROL | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT</autogen> </item> |
設定はすべて<item>...</item>で囲みます。
- <name>Sample:Ctrl_F to CURSOR_LEFT</name>
- Sample::Ctrl_F to CURSOR_LEFT という名前で設定を作ります。
- <identifier>remap.ctrl_f_to_cursor_left</identifier>
- remap.ctrl_f_to_cursor_left を識別子として登録
- <autogen>...</autogen>
- ここが実際の設定になります。--KeyToKey-- というのはキーの入れ替え。VK_CONTROL | ModifierFrag::NONE で コントロール+F だけが押されているという設定です。オプションキーなどが同時におされているときは入れ替えがおきません。最後に KeyCode::CURSOR_RIGHT で右カーソルキーに変更
上の内容を保存したら、KeyRemap4MacBook の設定画面の "Change Key" タブの右上にある "ReloadXML" をクリックすると、"Sample:Ctrl_F to CURSOR_LEFT" という名前の設定がでてくるので、これをクリックすると、コントロール + F を 右カーソルキーに変更することができます。
ModifierFrag::NONE という部分がありましたが、シフト+コントロール+オプション+F を入れ替えるときにはどうしたらいいのでしょうか?
1 | <autogen>--KeyToKey-- KeyCode::F, VK_CONTROL | VK_OPTION | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen> |
上の設定で、シフト+コントロール+オプション+F を シフト+コントロール+右カーソルキー に変更することができます。先ほどの設定と見比べてください。
発展: フォルダ分けとグループ化
KeyRemap4MacBook の設定をみると、上の画像のように設定がフォルダのように分けられているものがあります。これを自分の設定でも適用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <strong><item> <name>Change Tab in Safari</name> <list></strong> <item> <name>Sample: Ctrl_DOT to Ctrl_TAB</name> <identifier>remap.ctrl_dot_to_ctrl_tab</identifier> <autogen>--KeyToKey-- KeyCode::DOT, VK_CONTROL | ModifierFlag::NONE, KeyCode::TAB, ModifierFlag::CONTROL_L</autogen> </item> <item> <name>Sample: Ctrl_COMMA to Ctrl_TAB</name> <identifier>remap.ctrl_comma_to_ctrl_tab</identifier> <autogen>--KeyToKey-- KeyCode::COMMA, VK_CONTROL | ModifierFlag::NONE, KeyCode::TAB, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L</autogen> </item> <strong> </list> </item> </strong> |
ここでは Safari のタブ切り替えを コントロール+ピリオド と コントロール+コンマ に割り当て。
基本の設定を上の太字のように囲むと、フォルダのように設定をまとめておくことができます。こうすることで設定がバラバラにならずにひとまとめになるので、見通しをよくすることができます。
フォルダにまとめた場合、設定の有効・無効はひとつずつになってしまうので、まとめて設定したいときには、少しめんどくさい。ということで次はまとめて設定ができるようにします。
次は上記の画像のように、有効にすると複数のキーの入れ替えができるものをつくります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <item> <name>Xcode Remap</name> <appendix>Remap Opt+1 to Cmd_Ctrl_Opt+1 (No ModifierFlag)</appendix> <appendix>Remap Opt+2 to Cmd_Ctrl_Opt+2 (No ModifierFlag)</appendix> <appendix>Remap Opt+3 to Cmd_Ctrl_Opt+3 (No ModifierFlag)</appendix> <appendix>Remap Opt+4 to Cmd_Ctrl_Opt+4 (No ModifierFlag)</appendix> <appendix>Remap Ctrl_Z to Cmd_Shift_Opt+z (No ModifierFlag)</appendix> <identifier>remap.xcode_utility_area</identifier> <autogen>--KeyToKey-- KeyCode::KEY_1, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_1, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen> <autogen>--KeyToKey-- KeyCode::KEY_2, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_2, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen> <autogen>--KeyToKey-- KeyCode::KEY_3, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_3, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen> <autogen>--KeyToKey-- KeyCode::KEY_4, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_4, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen> <autogen>--KeyToKey-- KeyCode::Z, VK_CONTROL | ModifierFlag::NONE, KeyCode::Z, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L</autogen> </item> |
itemタグ や nameタグ、identifierタグは同じなのですが、複数の設定をまとめるときには appendix というタグで設定の名前を順番に書いていきます。実際には KeyRemap4MacBook の設定画面に表示される文字列なので、設定の名前というよりも内容のほうがただしい?? そして キーの入れ替えをするものを autogenタグをつかって追加するとまとめて設定をすることができるようになります。
応用: アプリケーションで有効・無効を切り替える
これまでの設定はすべてのアプリケーションで有効になってしまうので、アプリケーションによっては使い勝手が悪くなってしまうこともありました。それを解決するのがこの方法です。
この機能をつかうと、コマンド+V と シフト+コマンド+V の入れ替えをしたり、押しにくいショートカットを押しやすいキーに入れ替えて使うことができるようになります。
発展で書いた Xcode Remap ですが、このままだと Xcode 以外のアプリケーションでも有効になってしまうので、あんまりおいしくありません。そこでここに設定を追加します。
<root>
<appdef>
<appname>XCODE</appname>
<equal>com.apple.dt.Xcode</equal>
</appdef>
<item>
<name>Xcode Remap</name>
<appendix>Remap Opt+1 to Cmd_Ctrl_Opt+1 (No ModifierFlag)</appendix>
<appendix>Remap Opt+2 to Cmd_Ctrl_Opt+2 (No ModifierFlag)</appendix>
<appendix>Remap Opt+3 to Cmd_Ctrl_Opt+3 (No ModifierFlag)</appendix>
<appendix>Remap Opt+4 to Cmd_Ctrl_Opt+4 (No ModifierFlag)</appendix>
<appendix>Remap Ctrl_Z to Cmd_Shift_Opt+z (No ModifierFlag)</appendix>
<identifier>remap.xcode_utility_area</identifier>
<only>XCODE</only>
<autogen>--KeyToKey-- KeyCode::KEY_1, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_1, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::KEY_2, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_2, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::KEY_3, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_3, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::KEY_4, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_4, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::Z, VK_CONTROL | ModifierFlag::NONE, KeyCode::Z, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L</autogen>
</item>
太字になっている部分が追加した内容です。ここではわかりやすいように、フォルダ分けをしないで書いていますが、フォルダ分けをしても同じように設定することができます。
- appdef タグ
- アプリケーションの省略名を設定するためのタグ
- appname タグ
- 省略した名前
- equal タグ
- Bundle Identifier
- only タグ、not タグ
- onlyタグ は指定したアプリケーションのみ有効、notタグは指定したアプリケーションで無効
すべてのアプリケーションには Bundle Identifier というアプリケーションを識別する文字列があるのですが、KeyRemap4MacBook では、この Bundle Identifier をつかって設定をしていきます。とはいっても、いちいち Bundle Identifier を書くのは大変なので、省略した名前を用意します。
これで、Xcode だけで有効になる設定を書くことができました。
Bundle Identifier の調べ方はこの記事の番外編を参照してください。Bundle Identifier を調べるアプリケーションは下のリンクからダウンロードできます。
リンク:
公式のサイトですが、設定の参考になりました。
特に GitHub では KeyCode や ModifierFlag、OPTION など、詳しく載っているので、わからないときは一通りは目を通しておくといいとおもいます。
駆け足でしたが、今回の内容を応用して、お気に入りの設定を作ってみてください♪
でわでわ、たかともでした。