我正在用javascript实现一个vt100终端仿真器,而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的PORT中的串行线输出来传输的。所传输的信号通过键盘电缆,显示器和视频电缆从8051传输到驱动器。到CPU。8051内的UART控制传输“
我vim分别在进入和离开时得到这些代码。我可以安全地忽略这些代码,还是需要处理它们?在后一种情况下,我该怎么办?
这两个字符串分别包含两个序列。他们控制着微妙的不同之处:
首先,
CSI ? 1h
CSI ? 1l
Run Code Online (Sandbox Code Playgroud)
控制DEC私人模式1 DECCKM,光标键模式。此模式确定四个箭头键(上,下,左,右)是否发送SS3或CSI前缀序列。
第二对序列
ESC =
ESC >
Run Code Online (Sandbox Code Playgroud)
分别称为DECKPAM,键盘应用模式和DECKPNM,键盘数字模式。这确定数字小键盘是发送控制序列还是普通数字(即,它类似于Numlock功能)。