Karabinar-ElementsでiTerm2 + AquaSKK環境下でのCtrl-J問題を解決する

ご無沙汰しています。nullkalです。

諸事情により、技術記事を書く頻度が増えそうな気配のある今日この頃です。職場では英字キーボードのMacを使っており、AquaSKKを愛用しています。

しかし、AquaSKKには「iTerm/Terminal上でCtrl-Jを入力すると改行が入力されてしまい、日本語入力にできない」という問題があります: http://mzp.hatenablog.com/entry/2015/03/15/213219

上記の記事ではKarabinerを用いてこれを回避する方法を紹介していますが、キー入力周りの実装が大きく変わったらしくSierraでは使うことができません。 そこで代わりにKarabiner-Elementsを用いてCtrl-Jをかなキーへ割り当てる方法を解説します。

以下のようなComplex Modificationsを書きました: https://gist.github.com/nullkal/7db3bc14617f85ab1a09b917d72cd20c

Karabiner-Elementsをインストールし、起動した状態でここをクリックするとインストールできます。

あとはComplex Modificationsの設定画面で[Add rule]をクリックしてCtrl-J to Kana on Apple Terminal/iTerm2をEnableすればiTerm2上でもCtrl-Jを押すと日本語入力へ切り変わるようになります。