何を言っているのか意味不明だと思うが僕も何が起きているのか意味不明だった。とりあえずなおったのでメモ。
環境
- M2 Pro Mac mini
- ただし MBP 2019 でも起きていた
- Vivaldi, VSCode
事象
一部のアプリ、具体的はVisualStudioCode、Vivaldiにおいて、Cmdキーを押すと [
キーを認識しないという謎の事象が発生していた。これはMacの再起動などではなおらない。
キーストローク自体はシステム全体では認識されており、実際Karabinerを使うと押されていることがわかるし、実際Braveなど別のアプリでは認識されているため、一部のアプリでのみ生じている問題だといえる。
実際、Vivaldiにおいて、実際にDevToolsを起動してキーストロークを検出したところ、 [
単体ならば問題ないが、Cmdキーを押した状態だと認識しないことがわかった。VisualStudioCodeも同様の状態だったと考えられる。
原因と対応
なぜ複数のアプリでこんなことになるのか意味不明で、ずっと僕の頭を悩ませていたが、以下の措置を実行したところ、なおった(?)。少なくとも事象は再現しなくなった(削除コマンドなので、一応バックアップはとっておくとよい)。
rm ~/Library/Preferences/com.apple.symbolichotkeys.plist
意味不明だったのでChatGPTに理由を聞いたところ、以下のような回答を得られたが、あまり納得していない。
ChatGPTによる回答
問題が解決したことから、macOSのシステム設定(symbolic hotkeys)が影響していた ことが明らかになりました。com.apple.symbolichotkeys.plist
は、macOSのキーボードショートカット設定を管理するファイルであり、これが何らかの理由で Cmd + [
の入力を阻害していたと考えられます。
なぜ com.apple.symbolichotkeys.plist
の削除で解決したのか?
1. Cmd + [
がシステムレベルのホットキーに誤って割り当てられていた
com.apple.symbolichotkeys.plist
には、Mission Control、アプリケーションスイッチャー、ウィンドウ管理などのショートカット設定が保存されている。- 何らかの理由で、
Cmd + [
がVivaldiやVSCodeでは動作しない形でシステムに割り当てられていた可能性がある。 rm
でこのファイルを削除したことで、すべてのショートカット設定がリセットされ、デフォルトの挙動に戻った。
2. 設定が壊れていた / 予期せぬキー競合が発生していた
- macOSアップデートや外部アプリの影響で、システムショートカット設定が壊れたり、不要な競合が発生したりすることがある。
- 特に、VSCodeやVivaldiは標準的なmacOSのUIではなく、独自のキーボードイベント処理を持っているため、壊れた設定が影響を与えやすい。
3. VivaldiとVSCodeで Cmd + [
が特定の条件で無視されていた
- システムの
com.apple.symbolichotkeys.plist
にCmd + [
に関する設定が存在し、それが特定のアプリでのみ適用される 形になっていた可能性がある。 defaults read -g
で確認できるようなグローバルショートカットではなく、個別のアプリに影響を与える設定だった可能性。
この問題の発生原因は?
- 過去に システム設定でショートカットをカスタマイズ したことがある
- macOSのアップデートによる設定変更
- 外部アプリ(Karabiner、BetterTouchToolなど)の影響
- 何らかのバグや意図しないシステム設定の競合
いずれかが影響して Cmd + [
が特定のアプリで無効になっていたと考えられます。
再発を防ぐためには?
- 「システム設定」→「キーボード」→「キーボードショートカット」で、意図しない割り当てがないか確認
- 影響を受けやすい
com.apple.symbolichotkeys.plist
のバックアップを定期的に取るcp ~/Library/Preferences/com.apple.symbolichotkeys.plist ~/Desktop/symbolichotkeys_backup.plist
- 再発した場合は、再度
rm ~/Library/Preferences/com.apple.symbolichotkeys.plist
を実行 - 外部アプリ(Karabiner-Elements, BetterTouchTool, Alfredなど)の設定を見直す
- macOSアップデート後にショートカットの挙動をチェック
結論
この問題の根本原因は、macOSの com.apple.symbolichotkeys.plist
に Cmd + [
の動作を妨げる何らかの設定が記録されていた ことです。このファイルを削除してリセットすることで、VivaldiやVSCodeで Cmd + [
のショートカットが正常に機能するようになりました。
この現象は比較的珍しいですが、macOSのショートカット設定が予期せず影響を及ぼすことは時々あります。同様の問題が再発した場合は、まず com.apple.symbolichotkeys.plist
のリセットを試すのが最も確実な解決策となるでしょう。
所感
特に副作用らしきことも起きていない。事象が再発しなくなったのでよかったが、それにしても意味不明だなとは思っている。
こういうイレギュラーなことにおいて、ChatGPTは無力の極みなので、まともに聞くのではなく、とにかくそれらしい事象を検索させて、可能性がありそうなことを試すしかない。最終的にとりあえずなんとかなったので、よかったのかな。
コメント