dos窓を使いたい者より
"DOS初心者" <todo...@todokanai.com> wrote in message news:c5fvgi$cl4$1...@bgsv5648.tk.mesh.ad.jp...
> UNIXで作ったソフトをDOS窓に移植したのですが,UNIXでできていた標準入力で
> ESCを読み込むことがDOS窓ではできません.どうすればよいのでしょうか?
UNIXのttyドライバでもありましたように,MS-DOSのconドライバにはrawモードと
cookedモードがあります。どっちがデフォルトかはご想像通り。
conドライバにおけるESCコードは,ttyドライバのCTRL-Uみたいに,
cookedモードにおける行編集のためにデバイスドライバに取られてしまいます。
後は,DOSプログラミング関係の仕様書を探してください。
DOSにはtermcap/terminfo/ncursesみたいな都合の良いライブラリは
デフォルトではありませんから,
ioctl()の類を使ってrawモードにセットすることになります。
--
なんとかなるよ。絶対、大丈夫だよ。
(1999.12.22 millennium version) [IDE Kazumi]
> UNIXのttyドライバでもありましたように,MS-DOSのconドライバにはrawモードと
> cookedモードがあります。どっちがデフォルトかはご想像通り。
>
> conドライバにおけるESCコードは,ttyドライバのCTRL-Uみたいに,
> cookedモードにおける行編集のためにデバイスドライバに取られてしまいます。
>
> 後は,DOSプログラミング関係の仕様書を探してください。
> DOSにはtermcap/terminfo/ncursesみたいな都合の良いライブラリは
> デフォルトではありませんから,
> ioctl()の類を使ってrawモードにセットすることになります。
>
> --
> なんとかなるよ。絶対、大丈夫だよ。
> (1999.12.22 millennium version) [IDE Kazumi]
>
ありがとうございました。
理解できました.
DeviceIoControlを使えば何とかなるようですが小生には敷居が高いようです。
DOS初心者
よくわかりませんが、
LSI C-86 Ver.3.30 試食版 では、
getch() とか int86x( int21h の ah=07 ) で
ESC が取得できました。(Windows 98)
--
(^v^; (.. )(o^< >^o) 参考にならないと思いますが、
(( ))//^ ))(( ))(( )) なんとかがんばって下さい。
= //林 //林 //林 //林 ================================^
http://www5a.biglobe.ne.jp/~espoir/ やねのすずめ // \
TurboCでもgetch()で取り込めていました。
標準入力ではないもののDOSコールを経由しているようで
getch()はDOS汎用で動きましたね。
--
::===========================================================
:: ■■さんぽ■■ <mueller@inter7.jp> (実際に打つときは半角で)
:: PGP fingerprint: 42FC 4F53 2FB6 5810 1B1B 97A3 F166 2DE7
::===========================================================