-2

ソケット経由でtelnetからcharを取得します。矢印キーが押されたかどうかを確認する方法がわかりません。このメッセージが存在する char * バッファがあります

4

1 に答える 1

2

キーボードのカーソル文字には Ascii 値がありません。したがって、それらを char として表す標準的な方法はありません。さらに、telnet は相手側のマシンについて何の仮定もしていません。それは 1950 年代のテレタイプであり、カーソルを認識していない可能性があります。

メッセージを送信するプログラムは、オペレーティング システム固有の関数 (ncurses またはスキャンコード) を使用して矢印キーを検出し、telnet リンクで何らかの方法でエンコードする必要があります。通常は、エスケープを送信してから、各矢印を表す文字を送信します。

合理的な解決策は、vt102 コードを想定することです。これは、最初の一般的な文字アドレス指定可能な端末です。

編集: Net::Telnet モジュールを使用して Perl で矢印キーを送信するにはどうすればよいですか? を参照してください。

于 2012-05-08T23:28:13.093 に答える