stick仕様だろうとgetkey仕様だろうと、スクリプトの組み方次第で対応できますよ。
たとえば、下の2つのスクリプトはほぼ同じ仕事をします。
<.Ⅰ>
dim key_cross,4
buf_message = "←","↑","→","↓"
mes "I will check ←,↑,→,↓ key in three seconds.\nAre you ready?"
wait 300
repeat 4 : getkey key_cross(cnt),37+cnt : loop ;取得
;~~~~~~~何らかの処理~~~~~~~
mes "\nresults>"
repeat 4
if key_cross(cnt) = 1 : mes " key : " + buf_message(cnt) + "is on."
loop
<.Ⅱ>
buf_message = "←","↑","→","↓"
mes "I will check ←,↑,→,↓ key in three seconds.\nAre you ready?"
wait 300
stick keys,0,0
;~~~~~~~何らかの処理~~~~~~~
mes "\nresults>"
repeat 4
if keys&(1<<cnt) : mes " key : " + buf_message(cnt) + "is on."
loop