職業プログラマの休日出勤

職業プログラマによる日曜自宅プログラミングや思考実験の成果たち。リアル休日出勤が発生すると更新が滞りがちになる。記事の内容は個人の意見であり、所属している(いた)組織の意見ではない。

commandキー押しっぱなし


何かのアプリケーションで cmd-F1 ショートカットによりウィンドウ切り替えをしようとしたところ、突然、キーボード操作を受け付けなくなってしまった。困った。
最初は「キーボードが効かなくなった」だけのような認識だったが、二本指スクロールをしたところ画面の拡大縮小が発生(システム環境設定のアクセシビリティの設定による)したので、そこで「command押しっぱなしのままキーボードが死んだ」という状況に気付いた。

ググると10年以上前の話を含め、似た症状の人はたくさん出てくるが、いずれも複合キー機能(アクセシビリティ機能の一つ)を意図せずオンにしてしまったことが第一に疑われる。
https://discussionsjapan.apple.com/thread/10067563?start=0&tstart=0
しかし、手元の事例は複合キーのそれとは異なっていた。それは、キーボード操作は何も受け付けられないという点だった。

応急措置

もうどうしようもなかったので、アップルメニューから再起動をかけた。
もしかしたら、ログアウト+再ログインで治ったり、別のキーボードを接続すれば治ったかもしれないけれども、試してない。

原因の推測

使っているキーボードのドライバが悪さしているのかも?と思ったが、Sierraになってから相当長い期間使ってて初めての現象だし、10.12.6になってからも結構使ってる。相性問題にしては発生頻度が低すぎるような気がする。気がするだけだが、よくわからん。

新たなる発見

普段そんなにcommandキーを押しっぱなしでいろんなところをクリックすることは無いので、このコマンド押しっぱなし状態では普段見ない挙動を色々発見することができた。

  • Dock上のアプリをcmdクリックすると、そのアプリの場所をFinder上で示してくれる。
  • メニューバーの右側(時計など)は、開いてくれない。
  • Finderのウィンドウのタイトルバーをcmdクリックすると、いま見ているディレクトリに至る階層構造を示してくれる(これは昔から知ってたけども)。
  • 非アクティブなウィンドウをクリックしても、アクティブにはならない。
  • command押しっぱなしでも、ウィンドウのタイトルバーのダブルクリックによる「ウィンドウを隠す」操作は有効。
  • Dockに入っている、隠されたウィンドウを再表示させるのは、cmdクリックでも機能する。そして再表示時にはアクティブになってくれるので、command押しっぱなし状態でも、この方法でアクティブウィンドウを切り替えることができる。
  • ウィンドウの赤ボタンのcmdクリックによる「閉じる」操作は普通にできる。

環境情報

さいごに

大事な作業をやってる途中とかだったら本当に困るけど、たまになるのは楽しいかもね?!