2010/11/03
REVIVE USBやMicro Multi Controllerでは、通常、一つのピンに一つのボタンしか割り当てる事が出来ません。この為、例えば「ALT+F」の後、「S」を押す、と言った様なマクロ的な操作を1操作で行う様なショートカットキーボードは作る事が出来ません。
ここでは、REVIVE USBやMicro Multi ControllerをAutoHotKeyと組み合わせて、この様な操作が可能なショートカットキーボードを作成する方法を紹介します。
ここで紹介する機能を用いれば、ショートカットが設定されていない、メニューの奥の方にある機能に対してもボタン一つのショートカットを割り振る事が出来るようになります。
また、AutoHotKeyでは、アプリケーションを立ち上げたりWindowを操作したりすることが出来ます。
その機能を用いて、以下の様な機能を持つ「Firefox」キーを作ってみます。
AutoHotKeyは、ホットキーやマウスジェスチャー等を扱う超高機能なフリーソフトです。
あまりにも高機能なソフトな為、ここではそのソフトのごく一部の機能しか紹介しませんが、それでもとても高機能なショートカットキーボードを作る事が出来ると思います。
AutoHotKeyのオフィシャルサイトからダウンロードします。
ダウンロードのページにはいくつかのファイルがありますが、「Installer for AutoHotkey Basic」を選択します。
ダウンロードしたファイルを実行してインストールします。
AutoHotKeyには本当に様々な機能がありますが、ここでは、REVIVE USBを用いて便利なショートカットキーボードをつくるのに必要な書き方だけを紹介します。
.ahkファイルはマクロの動作を記述する為のファイルです。
テキストファイルなので、メモ帳などのテキストエディタで作成します。
この.ahkファイルをAutoHotKeyに読み込ませる事により(.ahkファイルをダブルクリックすればOK)、AutoHotKeyがこの.ahkファイルの設定に従った動作をする様になります。
.ahkの書き方を例を追いながら見ていきます。
a::b
これだけでも立派な.ahkファイルになります。
メモ帳等で「a::b」と打ち込み、適当な名前で拡張子を.ahkとして保存し、AutoHotKeyに読み込ませると・・・
「a」キーを押すと「b」と表示されます。
a::b
b::c
この様に書くと、「a」キーを押すと「b」が、「b」キーを押すと「c」が表示されます。
.ahkファイルは「::」の前に書いたキーを、後のキーで置き換えてくれます。
それでは、次にマクロを書いてみます。
;これはダメな例
a::bc
これで、「a」キーを押すと「bc」と押したことに・・・
ならないのです。
(ちなみに、行の最初が「;」だとその行はコメント行とみなされる)
::の後に二つ以上のキー(動作)を設定したい場合には次のように書きます。
a::
Send,b
Send,c
return
なんとなく分かると思いますが、これで「a」を押したら「b」続いて「c」と入力されます。
コマンドが二行以上に渡る場合には最後にreturnを付けます。
いくつかのマクロを登録したい場合には
a::
Send,b
Send,c
return
b::
Send,e
Send,f
return
と、この様に記述します。
「Shift+a」を「Ctrl+a」に置き換える場合は
+a::
Send,^c
return
とします。
+や^は修飾子で、以下の様な意味を持ちます。
+ | Shift |
^ | Ctrl |
! | Alt |
# | Windows |
次に、例としてFirefoxで「印刷プレビュー」をするショートカットを作ってみます。
印刷プレビューは「ALT+F」を押してメニューを開いてから「v」となっており、1ボタンで開く事が出来ません。
これを「Windows+1」で開ける様にします。
#1::
Send,!f
Send,v
return
次に、他のアプリでこのショートカットが悪さをしないように、このショートカットを「firefox」専用にしてみます。
(つまり、firefoxがアクティブでない時には何もせず、firefoxがアクティブな時には「印刷プレビュー」が出来る様にします)
#IfWinActive ahk_class MozillaUIWindowClass
#1::
Send,!f
Send,v
return
#IfWinActive
これで、firefoxがアクティブな時のみ、今のショートカットが機能します。
「ahk_class Mozilla UIWindowClass」と言う所が「firefox」を表しています。
この名前は、AutoHotKeyのタスクアイコンを右クリックして出る「Window Spy」を使って調べる事が出来ます。
二つ目の「#IfWinActive」はIf文の終わりを表しています。
AutoHotKeyはアプリケーションの起動や、Windowの制御も行う事が出来ます。
次のように.ahkファイルを作成します。
#1::
Process,Exist,firefox.exe
If ErrorLevel<>0
WinActivate,ahk_pid %ErrorLevel%
else
Run,"C:\Program Files\Mozilla Firefox\firefox.exe"
return
これで、「Win+1」でfirefoxが立ち上がっていればfirefoxをアクティブに、firefoxが起動していなければ起動する、と言う機能を持ったfirefoxボタンを作成する事が出来ます。
Process,Exist,firefox.exe
で、ErrorLevelにfirefox.exeのプロセスIDが入ります。起動していない場合はここが0になります。