頻繁に行う操作がキーボードで出来なくてストレスがやばいこと、別にありませんよね。僕はしょっちゅうありますが、そういうのに出くわすとついついそのストレスを回避する方向で頑張ってしまって何をやっていたのか忘れたりするっていうことが多々。
メニュー項目にショートカットを割り当てる
メニューには存在するけどショートカットがアサインされていないような場合は特別なツールを導入することなく設定できるようです。詳細はこちら。
Macで任意のキーボードショートカットを設定する方法 | nanapi [ナナピ]
メニュー項目にない場合
たまにあるんですよそういうのが。ショートカットはあるんだけどメニューにも特に書かれてい上に、カスタマイズもできないようなのが。ファンクションキーなんかが使われていると最悪なのでできれば別のキーにしたいということになるわけです。
幸い常用しているキーリマップツールでそれができるので、オリジナルの設定を追加してみました。
KeyRemap4MacBook - OS X用のソフトウェア
設定ファイルを開く
KeyRemap4Macbookから設定ファイルがある場所を開いてくれます。
private.xmlを書く
公式リファレンスから持ってきたものです。
<?xml version="1.0"?>
<root>
<appdef>
<appname>APPSTORE</appname>
<equal>com.apple.appstore</equal>
</appdef>
<item>
<name>Space to Tab on App Store.app</name>
<identifier>private.appdef</identifier>
<only>APPSTORE</only>
<autogen>__KeyToKey__ KeyCode::SPACE, KeyCode::TAB</autogen>
</item>
</root>
only
タグ => 特定のアプリケーションでのみ有効にしたい場合に使うidentifier
タグ => 各アイテムの識別子で、一意の文字列ならなんでもよさそうappdef
タグ =>only
で使うアプリ名をBundle IDを使って定義する
このサンプルはMacAppStoreでのみショートカットを有効にするという例ですが、appdef
のequal
を書き換えることによって対象のアプリケーションを変えることももちろん可能です。
Bundle IDを調べる
で、そのBundle IDを調べるにはどうしたらいいのかというと、XXXXXXX.appの中を覗けばわkるようになっています。
Finderでアプリケーションフォルダを開いて対象のXXXXXX.appを右クリックするとパッケージの内容を表示となるので、その中にあるContents
フォルダの中にあるInfo.plist
を開きます。
そしてCFBundleIdentifier
を検索すると次のようなものが見つかると思います(↓はChromeの例)。
<key>CFBundleIdentifier</key>
<string>com.google.Chrome</string>
下の行、com.google.Chrome
がBundleIDのです。先ほどの設定ファイルのappdef
のところにcom.google.Chrome
と書けばChromeでのみ有効となるショートカットを定義できるようになるわけです。
ショートカットを有効にする
ReloadXMLボタンを押すとprivate.xmlに書いた項目が一番上に表れます。あとはチェックを入れて有効にすればOK。