## 事象 [[A_PriorHotKey]]の値には直前に押したキーが入るはずなのに、`null`になってしまう。 ## 原因 [[A_PriorHotKey]]に入るのは直前に押したキーではなく、直前に作動した[[ホットキー (AutoHotkey)|ホットキー]]である。ゆえに、[[ホットキー (AutoHotkey)|ホットキー]]の設定がされていない場合は`null`になる。 たとえば、以下のように`$^j`の[[ホットキー (AutoHotkey)|ホットキー]]が設定されていないと`null`になる。 ```autohotkey ;【概要】現在押下されているキーがCtrl+jの後に押されたものかを返します。 ;【引数】なし ;【戻値】true: 押されている isSecondKeyAfterCtrlJ() { return (A_PriorHotKey = "$^j") } $f:: if (isSecondKeyAfterCtrlJ()) { Send, {$} // ここではA_PriorHotKeyに`$^j`が入る } else { Send, f } return ``` ## 解決方法 [[ホットキー (AutoHotkey)|ホットキー]]を設定する。 ```autohotkey ;【概要】現在押下されているキーがCtrl+jの後に押されたものかを返します。 ;【引数】なし ;【戻値】true: 押されている isSecondKeyAfterCtrlJ() { return (A_PriorHotKey = "$^j") } // ここを追加 $^j:: return $f:: if (isSecondKeyAfterCtrlJ()) { Send, {$} // ここではA_PriorHotKeyに`$^j`が入る } else { Send, f } return ```