isseium's blog

田舎に住むWebエンジニアのブログ

Macのターミナルのときだけ Control と Command のキーを入れ替える

はじめに

いろいろ議論はあるかと思いますが、Windows のデフォルトのキー配置が最強だと思っています。個人的には Mac の配列がすごく好きなんですが、それでもWin のほうがいいと思っています。

理由として

  • 会社PCの配列(= Windows デフォ)を変えるのが無理 or 手続きが面倒
  • たとえ自分のPCの配列を変えても、会議室や他人のPCをいじるときには適用されない
  • Linux を扱うときの配列が普通の日本語キーボードのときが多い(Ctrlが左隅)

があげられます。まぁデファクトスタンダードに合わせるのがいいという主義です。

これは Mac にも言える話で、公私ともに Windows の割合が多い私としては、できるだけ Windows のキー配置にしたいと考えています。

前置きが長くなりましたが、Mac は Control と Command というキーがあります。Windows はおおよそこの二つのキーを融合させて Control キーひとつになっています。

できれば僕もひとつにしたいので、今回 KeyRemap4Macbook を使って、Terminal のときだけ、Control と Command を切り替えるようにしました。

前提

Mac の設定で Caps キーを Command キーにしています。

方針

Mac での Command + が Win における Ctrl + にあたることが多いので通常の利用では、「前提」のままでいい。
ターミナル(Terminal.app)のときだけ、Command キーをControl キーにしたい。

KeyRemap4Macbook 7.0.0 の設定

「Open KeyRemap4MacBook Preferences...」-> 「Install & Misc」-> 「Private.xml
http://gyazo.com/24f5632241882d8cfbf54d877ba32e7c.png

このファイルをエディタ等で開き、以下に書き換えます。

<?xml version="1.0"?>
<root>
  <list>
        <item>
          <name>Command_L to Control_L (TERMINAL ONLY)</name>
		  <only>TERMINAL</only>
          <identifier>remap.app_term_commandL2controlL</identifier>
          <autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen>
        </item>
        <item>
          <name>Control_L to Command_L (TERMINAL ONLY)</name>
		  <only>TERMINAL</only>
          <identifier>remap.app_term_contolL2commandL</identifier>
<autogen>--KeyToKey-- KeyCode::CONTROL_L, KeyCode::COMMAND_L</autogen>        
		 </item>
  </list>
</root>

「Change Key」のところで、「Reload XML」をすると、Command_L to Control_L (TERMINAL ONLY) と Control_L to Command_L (TERMINAL ONLY) の項目が追加されますので、チェックします。


以上で、ターミナルのときだけ、Control と Command キーの配置を入れ替えます。