Alfred便利だけど、spotlightも知らぬ間に凄い進化を遂げていた事を知り、 どっちも使いたい!良いとこどりをしたい!と言うことで、キーバインドをカスタムした。
現状とやりたいこと
今はAlfredだけを使用する事を想定していたので、AlfredのホットキーをOption + Space
に設定し、spotlightにはキーを割り当てていませんでした。
これだとspotlightを使うには、いちいちカーソルを右上まで移動する必要があり、とても面倒…。
少し調べてみるとKarabiner(旧
keyremap4macbook)を使って便利にしている人を発見!
A useful Caps Lock keyで紹介されている方法で、Caps Lockを Shift + Control + Command + Option
と言う"Hyper"キーに設定する事で あまり使わないCaps Lockを有効活用する試み。
“Hyper"キーを設定して、Hyper + space
(=Caps Lock + space
)を
Spotlightのホットキーに設定できれば、親指の位置を少しづらすだけで
AlfredとSpotlightの起動を切り替えられる!
が、しかし、英字キーボードを使っているがために本当のCaps LockはControl にしたい。と、少し複雑なリマップが必要にな事が発覚。。
現在のキーバインドはこんな感じ
Caps Lock
=Control
(システム設定で変更)Control
=Caps Lock
(システム設定で変更)Option + Space
= Alfred
やったこと
先ず、必要なソフトをインストール
KaribinerはCommand + q
でアプリケーション終了の挙動を変更する為にイン
ストールしていました。しかし、Caps Lockを変更する為にはSeilを別途イン
ストールする必要があるもよう。
システム設定
まずはMacのシステム設定にて変更していたCapsLockとContorlの設定を変更。
SeilでCaps Lockを扱う際、Caps Lockを"No Action"にする必要があるので、 これを設定し、Caps Lockに変更していたControlをControlに戻す。
SeilでCapsLockを変更
Caps Lockを設定するさい、上記ブログでは “F19” というMacbookには存在し ないキーを指定していました。が、僕はCapsLockはControlとして使いたいの でRight Controlに指定。
ここでLeft Controlではなく、Right Controlにするのは、Macbookには物理キー ボード上右コントロールは存在しないのと、左コントロールはHyperキーに割 り当てるため。
KaribinerでHyperキーを作成
この時点では、CapsLockをRight Controlに割り当てただけ。Control(Left Control)をHyperキーに割り当てる本題はここから。
HyperキーのキーマップはデフォルトではKarabinerに存在しないため、private.xmlを変更してキーマップを定義する必要がある。
上記記事に記載のprivate.xmlを参考に作成したのが下記。
<?xml version="1.0"?>
<root>
<item>
<name>Left Control to Hyper</name>
<appendix>(Control_L to Hyper (ctrl+shift+cmd+opt), send escape)</appendix>
<identifier>private.f192f19_escape</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::CONTROL_L,
KeyCode::COMMAND_L,
ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::ESCAPE
</autogen>
</item>
</root>
ドキュメント(日本語)
を軽くみただけではKeyCode::ESCAPE
が必要な理由が不明だが…とりあえず
スルー。
あとはXML再読み込み→キーマップを有効化するとHyperキーが完成!
Spotlightホットキー設定
システム設定から指定してあげるだけ。この時Control + Space
押下で
Shift + Control + Command + Option + Space
の表記がされていれば設定完
了。
おわりに
これでAlfredもSpotlightも同じようなキーバインドで活用できるようになりました!
Spotlightは検索対象のファイルタイプをkind:pdf
などでフィルタリングで
きるのが良い。電子初期(PDF)が増えてきたのでこれでちょっと便利になるか
も。
Hyperキーという概念があると衝突を避けながらキー割り当てが行いやすくな るので、他にも色々設定しようと思う。