マクロ追加要望No.13043
手風琴 さん 02/10/02 00:20
 
初めて投稿します、手風琴といいます。

kewpressedで取得したキーの値によってコマンドを実行するコマンドインタプリタみ
たいなものを作っているのですが、今のkeypressedの仕様ではキーが入力されていな
くても0を返すようになっているため、下のようなコードを書いた場合キー入力がな
くてもループを回り続けてCPUを100%占有している状態になってしまいます。


while(1) {
##c = keypressed;
// キーの値に応じた処理
if (##c == 1) {
 :
}

そこでキーが入力されていない場合は入力されるまでwaitするkeypressed2みたいな
コマンドを追加していただきたいのですが、可能でしょうか。
可能ならばぜひ実現のほどよろしくお願いします。


[ ]
RE:13043 マクロ追加要望No.13044
MAKOPI さん 02/10/02 10:26
 
こんにちは。MAKOPIです。
>kewpressedで取得したキーの値によってコマンドを実行するコマンドインタプリタみ
>たいなものを作っているのですが、今のkeypressedの仕様ではキーが入力されていな
>くても0を返すようになっているため、下のようなコードを書いた場合キー入力がな
>くてもループを回り続けてCPUを100%占有している状態になってしまいます。

inputcharは使えませんか?

[ ]
RE:13044 マクロ追加要望No.13050
手風琴 さん 02/10/03 00:28
 
MAKOPIさん、はじめまして。
返事が遅くなって申し訳ありません。
会社にいる間は書き込めないので、どうしても返事は深夜になってしまい
ます。無視しているわけではないのでお気を悪くなさらないでください。

>こんにちは。MAKOPIです。
>>kewpressedで取得したキーの値によってコマンドを実行するコマンドインタプリタみ
>>たいなものを作っているのですが、今のkeypressedの仕様ではキーが入力されていな
>>くても0を返すようになっているため、下のようなコードを書いた場合キー入力がな
>>くてもループを回り続けてCPUを100%占有している状態になってしまいます。
>
>inputcharは使えませんか?

inputcharを使うことも検討したんですけど、DELキーとかHOMEキーとかが
取得できないので私の用途では使えなかったんです。

要はコマンドを入力してEnterが押されたらそれを実行するっていう
プログラムを作ってまして、DELキーで削除ができないとちょっと使い物に
ならないので。

[ ]
RE:13050 マクロ追加要望No.13057
MAKOPI さん 02/10/03 14:29
 
こんにちは。MAKOPIです。
>返事が遅くなって申し訳ありません。
>会社にいる間は書き込めないので、どうしても返事は深夜になってしまい
>ます。無視しているわけではないのでお気を悪くなさらないでください。
お気にしなくても全然結構です。(^^ゞ
たしかに、inputcharじゃDELとかHOMEは取れませんね。
そういう用途でしたら、はじめに手風琴さんがご希望さている、ファンクション
が無ければ駄目なようですね。CPU占有率100%はいただけないでしょうでっし。

>そこでキーが入力されていない場合は入力されるまでwaitするkeypressed2みたいな
>コマンドを追加していただきたいのですが、可能でしょうか。
>可能ならばぜひ実現のほどよろしくお願いします。

[ ]
RE:13057 マクロ追加要望No.13062
秀丸担当 さん 02/10/03 17:41
 
>>そこでキーが入力されていない場合は入力されるまでwaitするkeypressed2みたいな
>>コマンドを追加していただきたいのですが、可能でしょうか。
>>可能ならばぜひ実現のほどよろしくお願いします。

要望に適わないかもしれませんが、コマンドを入力して Delete や
Homeキーの操作をしたいのであればinput関数でできます。
ダイアログが現れずにエレガントに行きたい場合はできませんが。
keypressed2というよりinputchar2があるといいかもしれないです。
検討させていただきます。

[ ]
RE:13062 マクロ追加要望No.13064
手風琴 さん 02/10/04 00:39
 
手風琴です。

>要望に適わないかもしれませんが、コマンドを入力して Delete や
>Homeキーの操作をしたいのであればinput関数でできます。
>ダイアログが現れずにエレガントに行きたい場合はできませんが。
viのコマンドモードみたいな動作にしたいと思っているので
できればダイアログは出したくないです。

>keypressed2というよりinputchar2があるといいかもしれないです。
>検討させていただきます。
よろしくお願いします。

[ ]