Emacs風2ストロークキーでSound Forgeをキーコンフィグするハック

久々に AHK ネタ。波形編集ソフト Sound Forge6 は大変使い勝手が良く重宝するのだがキーコンフィグがない*1。しかも頻繁に使うプロセスにキーコマンドがアサインされていない事が多い。こういう時は AutoHotkey でどうにかしてしまうに限る。
まず作りたいコマンドはフェードイン/アウト。このショートカットがないのには辛酸を舐めてきた。フェードコマンドでは両方ともイニシャルが F でコマンドが重複するのを避けるため、今回は Emacs 風2ストロークキーを作成する。 "Ctrl & F, I" と連続してコマンドするとフェードイン、 "Ctrl & F, O" でフェードアウトを行えるようにする。

#IfWinActive, ahk_class Forge6MDIClass

; Fade In/Out (2 Stroke Key)
^F::	;first key
 Input,InputChar,C L1 T2,{Esc},i,o	;second keys
 if ErrorLevel=Match
 {
  if InputChar=i	;actions
   Send, !P{Down 5}{Right}{Down}{Enter}
  else
  if InputChar=o
   Send, !P{Down 5}{Right}{Down 2}{Enter}
 }
return

#IfWinActive

セカンドストロークでは Ctrl を離すことに注意。 Sound Forge のバージョンが上下する場合だとメニュー構造が変わっていると思われるためプロセスメニューを操作している Send を調節する必要があり。どうにも力技だが問題なく動くので気にしない。他にも "Ctrl & M" でミュートだの "Ctrl & Shift & S" で名前を付けて保存だのを作っておくとより作業が早くなって便利。
ちなみに上記のスクリプトはほぼAutoHotkeyを流行らせるページサンプルスクリプトの引き写し。多謝。

*1:最新版の9系にはあるかもしれない、未確認