MacBook でロジクールのトラックボールマウス (MX ERGO S) を使っていたところ、公式アプリ (Logi Options+) で 各ボタンに割り当てていた操作が急に全然効かなくなってしまう という問題に直面したので、その解決策についてまとめる。
原因
結論からいうとロジクールのドライバやアプリは全然悪くなくて、別のプロセスが Secure Input を握りっぱなしになってしまっていたという原因だった。
Secure Input というのは macOS の機能で、パスワードや機密情報を入力するフィールドにフォーカスがある間のみキー入力を他のプロセス等から保護するための仕組みとのこと。本来は一時的にのみ有効になるはずの機能がずっと有効になってしまい、キー入力をカスタマイズするソフトウェア (Logi Options+) が影響を受けてしまっている模様。
ロジクールの公式ドキュメントにも「Secure Input によって挙動がおかしくなることがある」と書かれている。
調べてみると、確かに Secure Input を有効にしているプロセスがいた。
$ ioreg -l -d 1 -w 0 | grep SecureInput
"IOConsoleUsers" = ({ ...(略)..., "kCGSSessionSecureInputPID"=87825, ...(略)... })
対応 (1)
Secure Input を握っているプロセスを止めればいいらしい。
$ kill 87825
kill: kill 87825 failed: no such process
エッ、
no such process
そうか〜、いないかぁ...
対応 (2)
Secure Input の状態管理は「ログインセッション」単位らしいので 「画面ロックしたらリセットされるのでは?」 と思って MacBook の画面を閉じて開き直した ところ、直った。
そんなんでいいんだ...。