getkeyを使う場合は、1つ前のループでのキーの状態と今のキーの状態を比較すればいいだけです。
サンプル作ってみました。
0〜9のキーに反応します。
使うときは適当に他のキーにも拡張してください。
;
; キー情報をトリガータイプキーとして取得する。
;
dim key,10 ;現在のキー情報
dim key0,10 ;一つ前のループでのキー情報
*main
redraw 1 : await 33 : redraw 0 : color 255,255,255 : boxf : color : pos 0,0
;前回ループ時のキー情報を保存
repeat 10
key0(cnt) = key(cnt)
loop
;キー情報を取得
repeat 10
getkey key(cnt), cnt+48
loop
;「0」〜「9」の場合
repeat 10
;通常のgetkey
if key(cnt) : mes ""+cnt+" が押された。(非トリガータイプ)"
;トリガータイプのgetkey
if (key(cnt)=1) & (key0(cnt)=0) : mes ""+cnt+" が押された。(トリガータイプ)"
loop
goto *main