## 事象
[[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
```