10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Mac OS XでKarabinerを使ってEscapeキーへのショートカットを登録する

Last updated at Posted at 2015-01-25

XcodeやIntelliJ系IDE(Android Studio, WebStorm, etc), SublimeなんかでVimモードで普段コードを書いていると、各ソフトでの設定ではなくMacの共通設定としてたとえばescapeキーの割り当てなんかはしておきたいなと思って調べたので、記録を残しておきます。

結論としてはMac OSの標準機能ではちょっと難しく、やはりKey Remappingのソフトとしては有名なKarabinerを使うのが一番簡単かなと思いました。

Karabinerはデフォルトでも使える設定が非常に豊富で、個人的には

  • 英語キーボードでのCommandへの英数/かなキー割り当て
    なんかは重宝していて、このためだけでもインストールがマストだと思っています。

で、今回やりたいのは何か他のキーを押した時にEscapeとして動いて欲しいということ。
僕の場合はCaps Lock + aをEscapeにしたかったのです。
Karabinerでは自身の設定ファイルであるprivate.xmlを編集することで独自カスタマイズもできるようになっています。

KarabinerのPreferenceからMisc&Installの項を見てもらえると、private.xmlを開けるボタンがあるので、そちらを押して出てきたxmlファイルをエディタで開いてください。

Screen_Shot_2015-01-25_at_3_18_52_PM.png

「Ctrl + A」を「Escape + 英数」に変えるには以下のように書きます。

<?xml version="1.0"?>
<root>
 <item>
    <name>Ctrl-L+A also works as Escape</name>
    <identifier>private.ctrl_a_to_escape</identifier>
    <autogen>__KeyToKey__
	     KeyCode::A, ModifierFlag::CONTROL_L,
	     KeyCode::ESCAPE, KeyCode::JIS_EISUU
    </autogen>
  </item>
</root>

nameは実際にKarabinerの設定一覧で見える名前です。

Screen Shot 2015-01-25 at 3.24.10 PM.png

identifierはこのitemを一意に特定するためのIDで、private設定なので
private.[一意になる名前]
を好きにつければ良いと思います。

その後に実際のキーのリマップ内容を記載します。
KeyToKeyであるキーから他のキーへのリマップであることを宣言し、左側のControlとKeyのAを押すと、Escapeと英数が同時に押されたとみなすという設定ですね。

Escapeだけでなく英数も入れているのは、Escapeで挿入モードを抜けたあとに文字入力モードが「かな」になっていると、再度たとえばi等を押して挿入モードに入ろうとしたときに「い」と入力されてしまい意図した動作にならないため、自動的に「英数」に戻るようにしています。

設定を終えればKarabinerの設定画面でReload XMLを押すと、入れた設定が出てくるはずなので、それを有効化するだけです。私の場合はCaps LockをCtrlに変えている(これはMac OS Xのキーボード設定から可能です)ので、これでCaps LockにAボタンという非常に押しやすいキーで挿入モードからEscapeすることが可能になりました。

簡単ですね。
その他、自分でもっといじりたいという方は
こちらを見ると色々な情報が載っています。ここでKeyCodeやModifierの一覧などが確認できます。

結局Karabinerのプライベートカスタム設定のやり方、になってしまいましたが、誰かのお役に立てば幸いです:smiley:

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?