TOTEKAN

Mac と過ごす素敵な日々

KeyRemap4MacBookでショートカット:
ショートカットの入れ替えをしてみよう♪

15 分で読める

Audio Reacting Monsters
Audio Reacting Monsters by placdarms, on Flickr

前回は設定画面の説明と簡単な設定の例を紹介しましたが、今回は一歩進んだ設定の方法を紹介します。

KeyRemap4MacBook ではデフォルトで準備されている設定以外にも、自分で設定を追加してキーボードの入れ替えをすることができます。この機能をつかうと、いろいろなアプリケーションのショートカットを自分好みのものにできるので、一緒に覚えてしまいましょう♪

ということで、さっそく設定をしていきます。

KeyRemap4MacBook

KeyRemap4MacBook の設定画面の "Misc & Uninstall タブ" にある "Open private.xml" をクリックすると、Finder で設定ファイルが表示されるので、これを開き、編集していきます。

基本: 簡単な設定ファイルを書いてみる

Have desk, will write
Have desk, will write by Bright Meadow, on Flickr

まずは設定ファイルの書き方です。

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 を 右カーソルキーに変更することができます。

KeyRemap4MacBook

ModifierFrag::NONE という部分がありましたが、シフト+コントロール+オプション+F を入れ替えるときにはどうしたらいいのでしょうか?

1
&lt;autogen&gt;--KeyToKey-- KeyCode::F, VK_CONTROL | VK_OPTION | VK_SHIFT | ModifierFlag::NONE, KeyCode::CURSOR_RIGHT, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L&lt;/autogen&gt;

上の設定で、シフト+コントロール+オプション+F を シフト+コントロール+右カーソルキー に変更することができます。先ほどの設定と見比べてください。

発展: フォルダ分けとグループ化

KeyRemap4MacBook

KeyRemap4MacBook の設定をみると、上の画像のように設定がフォルダのように分けられているものがあります。これを自分の設定でも適用します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<strong>&lt;item&gt;
  &lt;name&gt;Change Tab in Safari&lt;/name&gt;
  &lt;list&gt;</strong>
 
    &lt;item&gt;
      &lt;name&gt;Sample: Ctrl_DOT to Ctrl_TAB&lt;/name&gt;
      &lt;identifier&gt;remap.ctrl_dot_to_ctrl_tab&lt;/identifier&gt;
      &lt;autogen&gt;--KeyToKey-- KeyCode::DOT, VK_CONTROL | ModifierFlag::NONE, KeyCode::TAB, ModifierFlag::CONTROL_L&lt;/autogen&gt;
    &lt;/item&gt;
 
    &lt;item&gt;
      &lt;name&gt;Sample: Ctrl_COMMA to Ctrl_TAB&lt;/name&gt;
      &lt;identifier&gt;remap.ctrl_comma_to_ctrl_tab&lt;/identifier&gt;
      &lt;autogen&gt;--KeyToKey-- KeyCode::COMMA, VK_CONTROL | ModifierFlag::NONE, KeyCode::TAB, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L&lt;/autogen&gt;
    &lt;/item&gt;
 
<strong>  &lt;/list&gt;
&lt;/item&gt;
</strong>

ここでは Safari のタブ切り替えを コントロール+ピリオド と コントロール+コンマ に割り当て。

基本の設定を上の太字のように囲むと、フォルダのように設定をまとめておくことができます。こうすることで設定がバラバラにならずにひとまとめになるので、見通しをよくすることができます。

フォルダにまとめた場合、設定の有効・無効はひとつずつになってしまうので、まとめて設定したいときには、少しめんどくさい。ということで次はまとめて設定ができるようにします。

KeyRemap4MacBook

次は上記の画像のように、有効にすると複数のキーの入れ替えができるものをつくります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
&lt;item&gt;
  &lt;name&gt;Xcode Remap&lt;/name&gt;
  &lt;appendix&gt;Remap Opt+1 to Cmd_Ctrl_Opt+1 (No ModifierFlag)&lt;/appendix&gt;
  &lt;appendix&gt;Remap Opt+2 to Cmd_Ctrl_Opt+2 (No ModifierFlag)&lt;/appendix&gt;
  &lt;appendix&gt;Remap Opt+3 to Cmd_Ctrl_Opt+3 (No ModifierFlag)&lt;/appendix&gt;
  &lt;appendix&gt;Remap Opt+4 to Cmd_Ctrl_Opt+4 (No ModifierFlag)&lt;/appendix&gt;
  &lt;appendix&gt;Remap Ctrl_Z to Cmd_Shift_Opt+z (No ModifierFlag)&lt;/appendix&gt;
  &lt;identifier&gt;remap.xcode_utility_area&lt;/identifier&gt;
  &lt;autogen&gt;--KeyToKey-- KeyCode::KEY_1, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_1, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L&lt;/autogen&gt; 
  &lt;autogen&gt;--KeyToKey-- KeyCode::KEY_2, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_2, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L&lt;/autogen&gt; 
  &lt;autogen&gt;--KeyToKey-- KeyCode::KEY_3, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_3, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L&lt;/autogen&gt; 
  &lt;autogen&gt;--KeyToKey-- KeyCode::KEY_4, VK_OPTION | ModifierFlag::NONE, KeyCode::KEY_4, ModifierFlag::OPTION_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L&lt;/autogen&gt; 
  &lt;autogen&gt;--KeyToKey-- KeyCode::Z, VK_CONTROL | ModifierFlag::NONE, KeyCode::Z, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L&lt;/autogen&gt; 
&lt;/item&gt;

itemタグ や nameタグ、identifierタグは同じなのですが、複数の設定をまとめるときには appendix というタグで設定の名前を順番に書いていきます。実際には KeyRemap4MacBook の設定画面に表示される文字列なので、設定の名前というよりも内容のほうがただしい?? そして キーの入れ替えをするものを autogenタグをつかって追加するとまとめて設定をすることができるようになります。

応用: アプリケーションで有効・無効を切り替える

Switch
Switch by DBduo Photography, on Flickr

これまでの設定はすべてのアプリケーションで有効になってしまうので、アプリケーションによっては使い勝手が悪くなってしまうこともありました。それを解決するのがこの方法です。

この機能をつかうと、コマンド+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 など、詳しく載っているので、わからないときは一通りは目を通しておくといいとおもいます。

駆け足でしたが、今回の内容を応用して、お気に入りの設定を作ってみてください♪

でわでわ、たかともでした。

最後まで記事を読んでいただき、ありがとうございます。

このブログを少しでも、みなさんの記憶に残していただけるのであれば、ぜひ 左のアイコンから RSS 登録していただけたらうれしいです。また Twitter や Facebook もやっています。それぞれ、下から登録していただけたら、うれし泣きで号泣させていただきます。

Ads by Google