vt100终端仿真器中的键盘传输模式

时间:2012-11-27 13:19:12

标签: terminal vt100

我正在javascript中实现vt100终端模拟器,而vt100规范(来自man terminfoinfocmp)告诉我smkx=\E[?1h\E=是进入键盘传输模式的代码, rmkx=\E[?1l\E>是离开“键盘传输”模式的代码。我无法理解键盘传输模式是什么。

来自http://vt100.net/dec/ek-vt220-tm-001.pdf

  

7.4.4.1键盘发送模式 - 键盘代码和一些其他特殊代码通过PORT中的串行线路输出传输   8051.传输的信号从8051传输到驱动器,通过键盘电缆,监视器和视频电缆连接到CPU。内部的UART   8051控制传输“

我分别在进入和离开vim时收到这些代码。我可以安全地忽略这些代码,还是需要处理它们?在后一种情况下,我该怎么办?

2 个答案:

答案 0 :(得分:5)

这两个字符串各包含两个序列;他们控制着微妙的不同之处:

第一个,

CSI ? 1h
CSI ? 1l

控制DEC专用模式编号1,DECCKM,光标键模式。此模式确定四个箭头键(向上,向下,向左,向右)是否将发送SS3或CSI前缀序列。

第二对序列,

ESC =
ESC >

称为DECKPAM,键盘应用程序模式和DECKPNM键盘数字模式。这决定了数字键盘是发送控制序列还是正常数字(即认为它类似于Numlock功能)。

答案 1 :(得分:0)

smkx / rmkx控制键盘是否传输数字或转义码。此外,它是“键盘传输模式”而不是“键盘传输模式”