35歳からの中二病エンジニア

社寺・鉄道・アニメを愛でるウェブ技術者の呟き

キーバインド 復活のKarabiner

JISキーボードを見ると半角/全角キーにセメダインを流し込みたくなるaikawameです。ごきげんよう。

はじめに

macOS Sierraになってから、IMEのトグルやEmacsキーバインドを設定していたKarabinerというツールが動かなくなってしまった。当時は暫くEl Capitanを使い続ければ良いやくらいに思っていたものの、昨年の夏に転職してSierraの入ったMacを手にしたことで、強制的に代替策を検討する必要に駆られてしまった。

当時はKarabiner-Elementsという後継ツールはあったものの、単一キーの入れ替えにしか対応していなかったので選択肢とはならなかった。そこで代わりとして不十分ながらもHammerspoonを使っていたのだけれども、Karabiner-Elementsがここ数ヶ月で正式リリースを経て格段に進化していたらしい。これは試さない理由は無い。

作ったもの

というわけで、論より証拠で自分用のキーバインド設定を作ってみたのがこちら。

github.com

Karabiner時代とは違い、設定ファイルは分割できて、JSONで書けるようになっている。それぞれのファイルの内容は次のような感じだ。

emacs_key_bindings.json

本家サイトからもEmacsキーバインドの設定はインポートできるのだが、僕は主にブラウザー向けとして、C-s/C-rで検索したり、C-x b/C-x kでタブを開閉したり、テキスト入力にもオレオレ設定が必要なので、全部自分で書くことにした。あくまで個人用途に書いたものなので、

  • 除外するアプリケーションは自分の使っているものしか書いていない(iTerm2、Sublime3、IntelliJ)
  • CapsLockを有効にしていると使えない
  • 左側のCtrl/Optionキーしか使えない

等の制限があるが、書き換えるのは簡単なので自由に利用してもらって構わない。

for_japanese.json

僕はUSキーボードを使っていて、IMEの切り替えは右Optionでトグルしている。これはPC-98を愛用していた頃のXFERキーの名残だったりする。そもそもUSキーボードを使っているのも、「PC-98みたいにスペースバーが長いから」というのがそもそもの理由だったりする…。

閑話休題。こちらの設定では右OptionによるIMEのトグルが実現できる。別のキーに替える時の参考にもどうぞ。

windows_key_bindings.json

こちらはWindows時代の名残で、ブラウザーの更新はやっぱりF5だよねというやつ。くれぐれも攻撃には使わないように。

おわりに

この3ファイルを作った所で、僕が必要としているキーバインドの条件は全てクリアされたので、めでたくHammerspoonからKarabiner-Elementsに移行完了できた。僕はKarabinerがKeyRemap4MacBookと呼ばれていた頃から使わせてもらっていたこともあり、今回ばかりはと寄付もさせてもらった。macOSの仕様変更にも負けず、更に使いやすいツールに育ててくれた作者のtekezo氏には感謝するしかない。