rcmdnk's blog
Last update

KeyRemap4MacBook_200_200

前回の記事 のところでbashでのコマンドライン上のキーバインドについて まとめてみましたが、他のソフトでのショートカットや そもそもキーの位置が気に食わない場合、 自分なりのキーバイド設定をすることで作業効率をずっとあげられると思います。

と言うことで今回はMacで簡単にキーバインドを変更するためのアプリのKeyRemap4MacBookの紹介です。

KeyRemap4MacBook

KeyRemap4MacBook(現在はKarabiner-Elements)

Macを使い始めた時に、まず探したのがWindowsでの yamy の様にキーバインドを変更する事が 出来るアプリでした。

Macではシステム環境設定キーボードキーボードショートカット からアプリ毎のショートカット設定まで簡単に出来るのですが、 ちょっとこれでは物足り無い部分がある上、ひと通り一つ一つ変更するのは 大変なのでやはりアプリを必要としました。

Macでキーバインド変更を行うにはKeyRemap4MacBook1 というソフトが一番良さげで、このソフトは現在もアクティブにアップデートされています。

KeyRemap4MacBookのGoogleグループの日本語フォーラム英語のフォーラムを見ていても作者の方の対応が非常に素早いです。

インストール & キーバインドの有効化

インストール方法や簡単な使い方は上記公式ページに詳しいので省きますが、 KeyRemap4MacBookでは予め色々な設定が入っていて、 For PC Usersと言った項目(-cに加えて-cでコピー、等)や、Emacs/Viライクに全体の設定をする項目も入っています。

上の様に各項目にチェックボックスがあるので、それらをチェックすることで キーバインドが有効になります。

CapsLockキーを変更したい場合はちょっと特殊でもう一つアプリを追加する必要があります。

なので、CapsLockをControlに、等の変更を行いたいだけの場合は 環境設定のキーボードから修飾キーの設定へ行き、CapsLockControlとかした方が楽です。

追記: 2022/06/23

現在の Karabiner-Elements では直接変更可能。

追記ここまで

今の環境ではひと通りキーバインド変更はKeyRemap4MacBookを使って キーボードショートカットはデフォルトのままですが、 修飾キーのところでこの変更だけしてあります。

個人追加設定

さらに、自分用設定を作りたい時は、 ~/Library/Application Support/KeyRemap4MacBook/private.xml というファイルがインストール後に出来るので、 この中に自分で設定を書いていく事が出来ます。

xml形式のファイルで管理され、さらに設定パネルから 既定の設定同様チェックボックスを使って簡単に有効/無効化 できるので、色々な設定を一気に気軽に試してみることが可能です。

これも公式ページのManual に詳しい説明があります。

/Applications/KeyRemap4MacBook.app/Contents/Resources/include/checkbox 以下のディレクトリに元々入っている設定の元ファイルがあるので、 ちょっと複雑な事をしたい場合にはとても参考になります。

また、KeyRemap4MacBookでは特定のアプリだけで機能させたり機能させなかったり することが出来ますが、規定のアプリは

/Applications/KeyRemap4MacBook.app/Contents/Resources/appdef.xml で設定してあります 2

注意点 (特にyamyの設定方法との違い)

上のManual内に書いてあることですが、1つ注意しなくてはいけないのは キーバインドの定義は上に(先に)ある物が優先されるという点です。

yamyの記述だと、下に(後に)書いたものが上に書いたものを上書きしますが、 KeyRemap4MacBookは逆です。

従って設定パネルではprivate.xmlが最初に来るような順番になっています。 ここで特定のキー設定を行うと、同じキーに対する 設定を下で有効化しても無視されます。

また、モディファイヤの指定として、意図しない限りは ModifierFlag::NONEを全てに加える事をおすすめします。 NONEを加える事で例えば-aならコントロール以外のモディファイヤが 押された時(--a等の時)は機能しないようになります。

これをしておかないと、

Ctrl-a -> b

となる様に定義をした後に

Ctrl-Shift-a -> c

の様な定義を行うと--a を押した時に-bが 返る様に機能してしまいます。 (逆に言うとNoneを付けなければ、モディファイヤを他に付けても モディファイヤ+定義キーの形で以降変更出来る様になります。)

この辺もyamyの場合は逆に何も付けないときはそのキー組だけに 有効になるので注意が必要です。 (どれだけ実際両方を使っている人が居るのかわかりませんが…)

一時無効化ボタン

使う時は Pass Through Mode以下のどれかをチェックしておくと、

  • FN-ESC
  • ESC+TAB同時押し
  • ESC長押し

で一時的に停止出来る様にしておくことをお薦めします。 急にキーが効かなくなった、等の時に取り敢えずKeyRemap4MacBookを オフにしておいて問題が他にあるのかどうか直ぐにチェック出来ます。

現在の個人設定

現在の自分の設定はこんな感じ:private.xml

この設定ファイルを基本に違うMacや新しいMacに移った時にすぐにキーバインド 変更を行いたいので、基本、通常使わない設定はコメントアウトしてあります。

簡単に環境設定から変更できる様な項目(スポットライトのショートカットとか)も 環境設定ではデフォルトのままで、変えたいものは全てKeyRemap4MacBookで変更するようにしています。

これらの項目に加えてESC+TAB同時押しでPath Through Modeの項目だけ チェックしています。

キーバインド以外の設定

KeyRemap4MacBookではキーバインド設定変更以外にも キーリピート等もMacの設定で出来る限界よりもさらに速く出来たりすることもできます。

この辺の設定について他にめぼしいアプリがなければこの機能だけでも十分役立つと思います。

今は

  • Delay Until Repeat (キーリピートが始まるまでの時間): 500ms100ms
  • Key Repeat (各リピート毎の感覚): 83ms33ms

の様な設定に変更中。

Sponsored Links
  1. 追記: 2022/06/23

    現在は Karabiner-Elements に名前が変更されています。

    追記ここまで

  2. Specify application

Sponsored Links

« ターミナルキーバインドの設定等 KeyRemap4MacBookで初期状態で設定出来るVim設定 »

}