1

vt100 ターミナル エミュレーターを JavaScript で実装しています。vt100 仕様 (man terminfoおよびからinfocmp)smkx=\E[?1h\E=は、キーボード送信モードに入るコードでrmkx=\E[?1l\E>あり、「キーボード送信」モードを終了するコードであることを示しています。キーボード送信モードとは何か、よくわかりませんでした。

http://vt100.net/dec/ek-vt220-tm-001.pdfから、

7.4.4.1 キーボード送信モード-- キーボード コードとその他のいくつかの特殊コードは、8051 のポートのシリアル ライン出力を介して送信されます。送信された信号は、8051 からキーボード ケーブル、モニター、およびビデオ ケーブルを介してドライバーに送られます。 CPUに。8051 内の UART が送信を制御します」

に入るときと出るvimときに、それぞれこれらのコードを取得しています。これらのコードを安全に無視できますか、それとも処理する必要がありますか? 後者の場合、どうすればいいですか?

4

2 に答える 2

6

これら 2 つの文字列には、それぞれ 2 つのシーケンスが含まれています。それらは微妙に異なるものを制御します:

これらの最初の、

CSI ? 1h
CSI ? 1l

DEC プライベート モード番号 1、DECCKM、カーソル キー モードを制御します。このモードは、4 つの矢印キー (上、下、左、右) が SS3 または CSI プレフィックス シーケンスを送信するかどうかを決定します。

シーケンスの 2 番目のペア、

ESC =
ESC >

DECKPAM、キーパッド アプリケーション モード、およびDECKPNM、キーパッド数値モードと呼ばれます。これは、数字キーパッドが制御シーケンスを送信するか、通常の数字を送信するかを決定します (つまり、Numlock 機能に似ていると考えてください)。

于 2012-11-28T15:05:55.260 に答える
0

smkx / rmkxは、キーパッドが数字を送信するか、コードをエスケープするかを制御します。また、「keyboard-transmit-mode」ではなく「keypad-transmit-mode」です。

于 2012-11-27T15:03:06.157 に答える