色々アプリをいじっていてキーボードだけで操作しているようなとき、 メニューバーの項目を使いたい時にトラックパッドなり マウスに移動するのが面倒な時があります。
メニューバーの項目のショートカットキーを全て覚えていればそれで済むのですが、 覚えてなかったり、そもそも割り当てられてない機能を使いたい時に キーボードだけでメニューが操作したい、と言う時にどうするか。
OSのショートカット機能
環境設定のキーボードの項目にある ショートカットタブに行くと色々と ショートカットを設定できますが、 ここにあるキーボードという項目の中に メニューバーを操作対象にする(Move focus to the menu bar)という項目があります。
まさにこれが欲しい機能でデフォルトで⌃-F2に 割り振られています。
なんですが、どうも上手く行きません。
Mac keyboard shortcuts for accessibility features - Apple Support
osx - Control-F2 “Move Focus to Menu Bar” only works occasionally - Ask Different
osx - Why do Ctrl+F2 and Ctrl+F3 sometimes stop working? - Ask Different
この辺を見ているとどうも昔から起こってる問題で上手く行かないことがあるらしいです。
上にある話の中で、⌃-F3(Dockを操作対象にする)を した後に⌃-F2 をすると効く、と言う話があったので試してみたところ、 一回は開けたんですがそのとはまた開けなくなったり。 それも必ず、というわけではなく開ける時と開けない時があったり。
また、違うキーに変更してみても同じ様子。
とうことでこの機能を直接使うのは諦めました。
BetterTouchToolのShow Menubar in Context Menu
実はこれをずっと使っていましたが、 BetterTouchTool ではキーボードショートカットに機能を割り当てることも出来、 機能としてShow Menubar in Context Menuという項目があります。
これを割り当てると、マウスカーソルのある位置に右クリックで開くメニューのようなメニュー(コンテクストメニュー) としてメニューバーのメニューが表示されます。 そこでキーボードを使って選択することが出来ます。(マウスでも可能。)
その昔は
DejaMenu: http://www.macupdate.com/app/mac/13040/dejamenu
というこのメニューをコンテクストメニューとして開くためだけの
アプリを使っていましたが、今は作者のページ: http://homepage.mac.com/khsu/DejaMenu/DejaMenu.html
もなくなっているので使えなくなっています。
機能としてはBetterTouchToolの物も全く同じです。
AppleScriptを使う方法
メニューバーに直接フォーカスを持っていく方法として、 AppleScriptを使う方法があります。
osx - Control-F2 “Move Focus to Menu Bar” only works occasionally - Ask Different
ここを参考に
1 2 3 |
|
というアップルスクリプトを作って~/Library/Scripts等に保存しておいて、 後はAutomaterで割り当てたり、 BetterTouchTool なり Karabiner なりでショートカットキーに割り当てます。
上のスクリプトでitem 2
を選んでいるのは
1だとメニューバーの一番左にあるリンゴマークボタンを開いてしまうため。
逆にこれを開きたい場合は1にすれば開けます。