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

問題点に気がつきました。

3キー同時押しには大別すると3つのケースが存在します。RJIだと
1.(RI)+J しょ→じょ
2.(RJ)+I じ→じょ
3.(JI)+R あるorるあ→じょ

この3つです。2.はRJ同時押し発生後にIやHが押されるのを待とうとしていたのですが、残念ながらKeyWaitでは複数のキーを待てないそうです。
KeyWait - AutoHotkey Wiki
そこで2.を別ファイルに独立させてこんなコードを書きました。

r & j::
j & r::
If GetKeyState("r","P") and GetKeyState("j","P") and !GetKeyState("i","P")  and !GetKeyState("h","P"){
	Input, jout, I T0.2 L1, {i}{h}
	If GetKeyState("r","P") and GetKeyState("i","P") and GetKeyState("j","P"){
		Msgbox,01
	}
	Else If GetKeyState("r","P") and GetKeyState("h","P") and GetKeyState("j","P"){
		Msgbox,02
	}
	Else{
		Msgbox,2b
	}
}
Return

どうにか機能しているようですがファイル数がかさむことになりそうです。別段構わないといえば構わないのですが、現状でも多い気はするので少し気になるところです。

追記

やはりこれだと問題が多いようです。別の方法を考えます。