文字キー同時押しから一方のキーを離す

あまりロジックの話をしても興味のない方が多いと思うのですが、少し詰まったので書いておきます。

意図しない同時押しを防ぐため、文字キーによる連続シフトを抑止したいと考えました。通常ahkでキーが離されたのを確認するには、KeyWaitを使用します。
KeyWait - AutoHotkey Wiki

複数のキーが指定の状態になるのを待たせたい場合は、複数のKeyWaitを連続して実行すればよい

と記載がありますが、これだと同時押しされた両者のキーが離されるのを待つことになります。どちらか一方を待つにはどうすればよいでしょうか。いくつかコードは見つかったのですが自分で書きました。実際に採用したコードよりシンプルにしています。

w & j::
If GetKeyState("w", "P") and GetKeyState("j", "P"){
	Loop{
		If GetKeyState("w", "P") and !GetKeyState("j", "P"){
			Msgbox,1
			Return
		}
		Else{
			If !GetKeyState("w", "P") and GetKeyState("j", "P"){
				Msgbox,1
				Return
			}
		}
	}
}
Return