我正在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端口中的串行线路输出进行传输。发送的信号从8051发送到驱动器,通过键盘电缆、监视器和视频电缆传送到CPU。8051内部的UART控制传输“
我是在输入和离开vim时得到这些代码的。我能安全地忽略这些代码吗?还是我需要处理它们?在后一种情况下,我该怎么办?
发布于 2012-11-28 15:05:55
这两个字符串分别包含两个序列;它们控制着微妙的不同事物:
第一种,
CSI ? 1h
CSI ? 1l控制DEC私有模式1,DECCKM,光标键模式。此模式确定四个箭头键(上、下、左、右)是否会发送SS3或CSI前缀序列。
第二对序列,
ESC =
ESC >称为DECKPAM,键盘应用程序模式,和DECKPNM,键盘数字模式。这决定了数字键盘是发送控制序列,还是发送正常数字(例如,将其视为类似于Numlock功能)。
发布于 2012-11-27 15:03:06
smkx/rmkx控制键盘是否会发送数字或转义代码。同时,它也是“键盘传输模式”而不是“键盘传输模式”。
https://stackoverflow.com/questions/13585131
复制相似问题