Macキーボード配列の改造計劃


「キーボードのQWERTY配列は、タイプライター時代に、打鍵速度を落としてアームの衝突を防ぐために考案されたものである。高速タイピングには適さない」という逸話がある。

この話の真偽はさておき、キーボード配列のかなり多くの部分が「人類にとっての利便性」よりも「歴史的理由」が優先されている事は否定できないだろう。「自分にとっての利便性」ならば尚更だ。

僕は4年ほどMacを使っているが、その間にキーボードレイアウトに関してはかなりの変更が施されている。もはや常人が触ることは困難となっているため、セキュリティ面の向上も期待できる[要出典]。

というわけで以下、僕のMacのキーボード設定について幾つかのポイントを述べる。

前提

  • キーボードは MacBook Air の本体、JIS配列
  • OS は 10.9 Mavericks だが 10.7 Lion 時代から同じ設定で使ってる

Ctrl と Command を入れ替える

断言しよう。Command キーは「A」の左隣に置くべきである。人類が5本指の生物として生まれた瞬間からそう決まっている。この位置はキーボードにおける特等席、グリーン車である。従ってめったに使わない Ctrl キー (US配列ならば Caps Lock) が偉そうに鎮座するべきではない。

[システム環境設定] → [キーボード] → [修飾キー] で入れ替えを行う。

これで大分使いやすくなる。

ターミナルのみ Ctrl と Command を再度入れ替える

上では「頻繁に使う Command キーを A キーn左側に置くべきだ」と述べたが、ターミナル操作においては Ctrl のほうが出番が多い。そこでターミナルアプリのみ Ctrl キーを A キーの左側に置く。

残念ながらMac標準の「ターミナル.app」はキー配列の切替に対応していないため、 iTerm2 というターミナルアプリを使う。ダウンロードはこちらから。
http://www.iterm2.com/#/section/home

[Preference] → [Keys] で以下のように Command と Ctrl を入れ替える。OSで入れ替えたものを iTerm2 でさらに入れ替えるため、結果として元に戻る。

なお余談であるが僕はVim派である。「Ctrlキーを多用するという事はこいつはEmacs派か」と思った諸君はまだまだVimの熟練が足りないと言わざるをえない。

JIS配列をソフトウェア的にUS配列に切り替える

JIS配列とUS配列は趣味の問題が大きいが、それぞれの長所として

  • JIS配列: 「かな」「英数」キーが存在する
  • US配列: 配列が合理的でプログラミングに適する (シングルクォートとダブルクォートが同じ位置にある点など)

という点が挙げられる。そこで僕は JIS配列を、ソフトウェア的にUS配列にする というアクロバティックな方法で両方の長所を取り入れている。この方法は印字と実際のキーが一致しないという問題があるが、熟練したタイピストなら何の問題もあるまい。

キーの配列切替として KeyRemap4MacBook というソフトをインストールする。
https://pqrs.org/macosx/keyremap4macbook/index.html.ja

設定で Use Japanese Keyboard as US Keyboard にチェックを入れる。

個別のキーの入れ替え

さらに細かいカスタマイズを行いたい場合は、KeyRemap4MacBook の private.xml とかいうファイルを編集する必要がある。

たとえば上述の "Use Japanese Keyboard as US Keyboard" をチェックした状態では、バックスラッシュ \ がカナ入力の「む」の位置になるが、バックスラッシュはやはりJISの円マークの位置(F12の下)にあって欲しい。デフォルトではこの位置にはバッククォート ` が割り当てられるため、この2つを入れ替える。

こういう場合、先の KeyRemap4MacBook の設定画面で Misc & Uninstall を選択し "Open private.xml" のボタンを押し、内容を以下のようにする。

<?xml version="1.0"?>
<root>
    <item>
        <name>Swap BackQuote and BackSlash</name>
        <identifier>private.swap_backquote_to_backslash</identifier>
        <autogen>--KeyToKey-- KeyCode::BACKSLASH, KeyCode::BACKQUOTE</autogen>        <autogen>--KeyToKey-- KeyCode::JIS_YEN, KeyCode::BACKSLASH</autogen>
    </item>
</root>

これを適用すると、先の Change Key の画面に新たに Swap BackQuote and BackSlash という項目が出現する。これをチェックしてやればよい。