一括表示

− 野ざらし言 −

[3384] ファンクションキーを無視したい

としき 2009/08/02(Sun) 11:45
http://www.hinocatv.ne.jp/~toshiki/
Vzのゲームマクロであるfreecell.defとvztower.defを利用しています。
これらは、数字の「1」「2」「3」「4」のキーを使います。
例えば、ノートパソコンなどの小さいキーボードの時、「4」キーを押そう
として、誤って「F04」キーを押してしまうことがあります。
すると、マクロが誤動作というか、なんか妙な具合になってしまいます。

これを回避するには、どのようにしたらよろしいでしょうか。

[3385] Re: ファンクションキーを無視したい

めざら 2009/08/02(Sun) 18:32
[3384]へのコメント http://homepage3.nifty.com/mezala/
 なかなか難しい話ですね。
 …というのは,環境によってキーの戻り値は異なると思いますし,
キー入力待ちで別のマクロが実行されてしまう場合というのを考えると,
使う人の環境がすべてということになるかと思います。

 個別の対応が必要ではないかと想像しますが,それに先立って確かめたい
ことがあります。まず,キー入力待ちが &p の場合にマクロが実行されると
変な動きになると思いますので,&p の前後で mx+, &p mx-, のように mx の
オン・オフを行い,動きがどうなるか確かめてみてください。

 個々の環境で振る舞いが違ってくるのは,その後の話です。

 mx を操作してもうまくいかない場合は,次のマクロを実行して入力キーの
値を確かめてください。&pの戻り値は文字やコマンドキーで異なります。

= test = by H_ear
#if 0
&pでのキーの戻り値は?
#endif
* mad for vz!
1 ^\ "" ?.
        &m("キーをどれか押して")
        mx+, &p mx-, >>

00:     ; ---- look result ----
        &m("Result: %d %u $%x '%c' $"%16s$"",r,r,r,r,r)
*

[3386] Re^2: ファンクションキーを無視したい

としき 2009/08/03(Mon) 00:40
[3385]へのコメント http://www.hinocatv.ne.jp/~toshiki/
> 変な動きになると思いますので,&p の前後で mx+, &p mx-, のように mx の
> オン・オフを行い,動きがどうなるか確かめてみてください。

これでうまくいきました。
ありがとうございました。
大変助かりました。

↑ このページの先頭