2015年12月27日日曜日

Mac OS X(10.10.5)とKarabiner(10.15.0)でCommand-←/→がCommand+Option+←/→になってしまう

Mac OS X(10.10.5)とKarabiner(10.15.0)でCommand-←/→(ブラウザのback/forward)がCommand+Option+←/→になってしまうようになりました。
KarabinerはMacOS Xで動作するキー割り当てのカスタマイズツールです。
Karabiner
高機能で安定性も極めて高いOS X用のキーボードカスタマイズツール。
https://pqrs.org/osx/karabiner/index.html.ja
いろいろと試してみたところ、Karabinerを無効にすると首記の現象は出なくなります。しかし、Karabinerの設定を眺めてみてもこれに関係するものありません。また、もしかしたらと思う設定を変えてみましたが効果はありません。
また持っているMacBook ProでKarabinerをインストールして同じような設定をしていますが、こちらは現象が出ません

ここでふと思いついて、システム設定中のキーボードの修飾キーの設定を見てみました(この思いつきに論理的な考えはなく、ふと思いついてみただけです)。
すると一番上の[キーボードの選択]の中に、使っているBluetoothキーボード(Logitech diNovo Edge)の他に[USBレシーバー]という選択肢があります。これは使っているマウス(Logitech M510)用のUSB受信機のようです。マウスなのにキーボードとしても認識されています。これは、このUSB受信機にLogitechのキーボードを結びつけることができるために、マウスの他にキーボードとしても認識されているようです。

修飾キーのUSB受信機の設定を開いてみると、キーボードは接続してないのですが、OptionキーをComanndキーに、CommandキーをOptionキーに変更するようにしていました。この変更をやめ、OptionはOption、CommandはCommandのままにするようにしてみると、首記の現象は出なくなりました。

なぜこんなことをしていたかというと、Macのキー設定のためでした。Macのキーボードはスペースキーのすぐ外側にCommandキー、さらにその外側にはOptionキーがあります。このMacにWindowsのキーボードを接続すると、AltキーがOptionキーにWindowsキーがCommandキーになり、Macのキーボードと並びが逆になります。私は、ふだんMacBook ProとWindows用の英語キーボードを接続したMac miniを使っています。するとMacBook ProとMac miniで並びが違ってしまいます。そこで、Windows用のキーボードを接続したMacでは、Windowsのキーボードの修飾キーの並びを変更し、同じように使えるようにしていました。

このため、すべてのキーボードの修飾キーについて、ComanndとOptionキーを入れ替えていたのがアダになったようです。