3キー同時押しの書き直し

くないには3キー同時押しをより洗練させたいという意図もあるのですが、どうにか形になりそうなので書いておきます。
drive.google.com
RJI同時押しが発生すると3と書かれたメッセージボックスが表示されます。コードの一部をコピペします。

r & i::
i & r::
(中略)
Critical
If GetKeyState("r","P") and GetKeyState("i","P") and !GetKeyState("j","P"){
	KeyWait, J, D T1
	If GetKeyState("r","P") and GetKeyState("i","P") and GetKeyState("j","P"){
		KeyWait,r
		KeyWait,i
		KeyWait,j
		Msgbox,3
	}
	Else{
		KeyWait,r
		KeyWait,i
		Msgbox,2a
	}
}

押されるキーが1→2→3と増える場合と3→2→1と減る場合を区別するのが面倒なのですが、Criticalで割り込みを禁止すれば減る側を考えなくてよさそうです。2キー同時押しが発生した後の残る最後のキーはKeyWaitで押されるのを監視しています。
Critical - AutoHotkey Wiki
KeyWait - AutoHotkey Wiki