こんにちは、川合です。
FORM-Akkie さんは 2003/09/26 16:12:08 の「[OSASK 6495] FORM: ち
ょっとだけ試行錯誤しました。」で書きました:
>お名前: ベイサイド
(引用中略)
>上記のようにやっても確率は減りますが落ちますね(涙)
ええ、落ちるでしょうね。マウス関係のシグナルはパラメータがあり
ますから、その中の190に反応しないようにする必要があります。
static void wait(int mili)
{
int signal;
cprintf("wait(%dms)\n", mili);
lib_settimer(0x01, 0x01c0); /* バグがなくなればこれは不要 */
lib_settimertime(0x32, 0x01c0, (mili % 1000) * 4294967, mili / 1000, 0);
do {
signal = getsignalw();
/* この関数は0を返さないので0チェックは不要 */
if (signal == 160) { /* マウス座標 */
getparam(); /* xを読み捨てる */
getparam(); /* yを読み捨てる */
}
} while (signal != 190);
/* 190が来たらタイマは自動的に休止状態になるのでsettimerの必要なし */
return;
}
それでは。
--
川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/