モジュールでやってることに近いですが、
stick命令に近いものをgetkeyで実現するサンプルです。
これを改造することで、実現したいことができるかもしれません。
得られる値はstick命令と同等です。
以下の点で、stick命令とは違います。
・命令一つではないです。
・非トリガータイプはあらかじめ専用の変数に代入しておきます。
・ウインドウアクティブチェックができません。
また、サンプルなのでキーがSPACEしか対応してませんが、追加は容易ですよね。
dim キー番号,5
扱うキーの数 = 5
キー番号 = 32,40,39,38,37
非トリガータイプキー値 = 15 // 上下左右を非トリガーとしてみる.
*KEYSTART
キー情報 = 0
repeat 扱うキーの数
getkey 押されていたら1 , キー番号(cnt)
キー情報 = ((キー情報 << 1) | 押されていたら1)
loop
結果 = ((キー情報^前回のキー情報)|非トリガータイプキー値)&キー情報
前回のキー情報=キー情報
// この時点で、結果にstick命令で得られるのと同じ値が入っています.
// タイトルバーで確認してみてください.
if (結果&16):mes "スペース押されたよ."
title ""+結果
wait 1
goto *KEYSTART
// getkey命令のキー番号.
// 37 : カーソルキー[←]
// 38 : カーソルキー[↑]
// 39 : カーソルキー[→]
// 40 : カーソルキー[↓]
// 32 : スペースキー
// stick命令のキーに対応する値.
// 1 : カーソルキー左(←)
// 2 : カーソルキー上(↑)
// 4 : カーソルキー右(→)
// 8 : カーソルキー下(↓)
// 16 : スペースキー
日本語の変数とか説明には便利な気がする。 読みにくいかな…?