今日、Macbook ProのOSを「Catalina 10.15」にアップデートした。

すると愛用していた「Karabiner-Elements」が動作しなくなったのだが、今回はこの問題を解決した方法を紹介しよう。

そもそもKarabiner-Elementsとは

Mac専用のキーボードユーティリティで、キーの入力動作を自分好みに自由にカスタマイズすることができるアプリだ。

俺の場合は最低限の設定だが、十字キーの上下左右を人気エディタ「Vim」のように扱えるよう設定し、指をホームポジションに置いたままカーソル操作を行えるようにしている。

左へ移動^ + H
右へ移動^ + L
上へ移動^ + K
下へ移動^ + J

OSのアップデートにより無効化されたKarabiner

つい最近、macOSのアップデートを行った。

OS Catalinaへアップデートし再起動を終えると、すぐにある異変に気付く。

Karabiner-Elementsで設定したVim風カーソル移動機能が無効化されていたのだ。

一度慣れてしまうとKarabiner無しでは話にならないので、すぐにこの問題についてネットで調べてみた。

CatalinaでKarabiner-Elementsを使う方法

検索すると同じ問題に直面しているユーザーがかなり多いことが分かった。

また、具体的な解決方法も入手することができた。

入力監視の承認

Catalinaでは、キー入力をアプリが把握するのにユーザーの承認が必要となったため、この承認設定を別途おこなう必要があるのだ。

まず、Macのシステム環境設定から「セキュリティとプライバシー」を選択し、「プライバシー」タブへ移動する。

そして「入力監視」の項目を選択する。

上記の画像は、まだ何も設定がされていない状態だ。
このままでは承認設定の追加をおこなうことができないので、一度「Karabiner-EventViewer」を起動する。
すると追加ボタンが現れる。

次にターミナルを起動し、以下のコマンドを叩きFinderでディレクトリの中身を確認しよう。

open /Library/Application\ Support/org.pqrs/Karabiner-Elements/bin/

binディレクトリ内の「karabiner_grabber」と「karabiner_observer」を赤枠のエリア内にドラッグして追加する。
※該当のファイルが見つからない場合、Karabiner-Elementsのバージョンを確認しよう。最新版に更新すればファイルが見つかるはずだ。

ここまで出来たら、再びターミナルで下記コマンドを叩きプロセスを終了する。

sudo killall karabiner_grabber
sudo killall karabiner_observer

俺の環境では、これでうまく動作するようになった。