いやー、macOS Sierraがリリースされて、karabinerが使えなくて戦闘力が落ちてたんですが、最終的に、Karabinerもkeyhacも使うのをやめました。理由は簡単で、自分がやりたいことはOSの環境設定で実現できたという衝撃の事実・・・。こういうのは良く調べないと分からないよねぇ・・・
Sierra事件
顛末。
Macbook Pro Retina 13をmacOS Sierraにアップデート。Karabinerからkeyhacへ移行。
さて、私がKarabinerで設定していたものは唯一「Ctrl-OでIMEのON/OFFを切り替える」という、UNIXユーザー向けカスタマイズという奴です。macOSにアップグレードしたら、Karabinerが対応していなくて、これが使えなくなった。IME切り替えが思い通りのキーアサインで動かないと、完全に思考が停止します(苦笑)。
そんなわけで、まずトライしたのが、一時的に先行公開されているというKarabiner-Elementsの機能限定版です。単純なキーアサインの変更だけできるものなんですが、これが修飾キーに対応していないんです。つまり、「Ctrl-O」が操作できない。
そこで目を付けたのがkeyhac。これなら全てのキーアサインがそれこそ思い通りに、pythonコードでカスタマイズできるという優れものです。これで幸せになれるかな、と思ったんですが、確かに、Ctrl-OでIMEトグル(というか、Command-Spaceにアサインして、入力メソッドの切り替えを行う)ができるようになったんですが、若干不具合が。
このkeyhacを稼働すると、Alfredのホットキーが反応しなかったり、ClipMenuの自動貼り付けがうまく動かなかったりと、要するにキーボードイベント全部持っていかれてしまうという事態に見舞われ、ちょっと混乱しました。うまく回避策も設定で書けそうなんですが、なかなかに大変です。しかも、たまに(というか個人的な感覚としては、結構頻繁に)IME切り替えに失敗することがあると。
という訳で、keyhacも使いづらいというのが結論で、何か手は無いかなぁと、考えていたと。ちなみに、Commandキーを英数かなに換える「⌘英かな」も試しましたが、普段のキーバインド(Ctrl-O)とあまりに違うため、すぐ諦めました。
目から鱗のキーボード設定
さて、この状況をどうするべきか・・・いっそ人として、より一般的な「⌘英かな」な操作に慣れたほうが生産的なんじゃないか、と、究極の選択を考えたいたところ(大袈裟)、なんと打開策がありました。
ええ、キーボード設定のショートカットに、Command-Spaceに当たっている「前の入力ソースに切り替える」があるんですよ。そういえば会社のMacはこれがCtrl-Spaceに当たってるだけかーと、別の謎も解けたわけですが、要するに、このショートカット設定を、慌てず騒がず「Ctrl-O」にすれば良い(※右側のキーコンビネーションが表示されているところをクリックして選択状態にして、目的のキーバインドを叩けばOK)のです。
結果、僕が個人的にやりたいことは、OS設定だけで実現できて、karabinerもkeyhacも削除できました。
- caps lockと左controlの入れ替え:修飾キーの設定を変える
- Ctrl-Oで日本語入力切り替え:キーボードショートカットの設定「前の入力ソースに切り替える」のバインドを変える
まぁあまり凝ったことをしていないから、こんな形でできた、ってところはあるんですが、意外とこんなところに便利な設定があるんですよねー、という、情報でした。
コメント