如何解释来自vt-100 / vt-102 DA请求的响应

问题描述 投票:2回答:2

如何解释来自DA转义序列(\e[c)的响应?

[在urxvt中运行命令时,我得到1;2,在Linux控制台(和st)中,我得到6;,在xterm中我得到64;1;2;6;9;15;18;21;22

根据我在互联网上可以找到的信息,这些字符串应该以某种方式确定终端的功能。 http://www.vt100.net/docs/vt100-ug/chapter3.html#DA

No options                  ESC [?1;0c
Processor option (STP)      ESC [?1;1c
Advanced video option (AVO) ESC [?1;2c
AVO and STP                 ESC [?1;3c
Graphics option (GPO)       ESC [?1;4c
GPO and STP                 ESC [?1;5c
GPO and AVO                 ESC [?1;6c
GPO, STP and AVO            ESC [?1;7c

这似乎与urxvt(可能还有xterm)的响应相符,但与其他响应不符。所有提到的终端似乎都与VT-102完全兼容,据我所知,它将映射为1; 2(AVO)。

外面有人知道吗?

python curses terminal-emulator ansi-escape
2个回答
2
投票

xterm响应的文档很容易在XTerm Control Sequences中找到

注意,与所有X窗口应用程序一样,有一种资源可以将响应更改为所需的任何内容。

CSI P c发送设备属性(主要DA)。Ps = 0或省略⇒向终端请求属性。的响应取决于decTerminalID资源设置。⇒CSI? 1个2 c(“带高级视频选件的VT100”)⇒CSI? 1个0 c(“无选项的VT101”)⇒CSI? 6 c(“ VT102”)⇒CSI? 6 2; Psc(“ VT220”)⇒CSI? 6 3; Psc(“ VT320”)⇒CSI? 6 4; Psc(“ VT420”)VT100样式的响应参数并不意味着他们自己。 VT220(及更高版本)参数做了,告诉托管终端支持的功能:Ps = 1⇒132列。Ps = 2⇒打印机Ps = 3⇒ReGIS图形。Ps = 4⇒Sixel图形。Ps = 6⇒选择性擦除。Ps = 8⇒用户定义的键。Ps = 9⇒国家替换字符集。Ps = 1 5⇒技术特征。Ps = 1 6⇒定位器端口。Ps = 1 7⇒终端状态查询。Ps = 1 8⇒用户窗口。Ps = 2 1⇒水平滚动。Ps = 2 2⇒ANSI颜色,例如VT525。Ps = 2 8⇒矩形编辑。Ps = 2 9⇒ANSI文本定位器(即DEC定位器模式)。xt定位器(即DEC定位器模式)

我的WAG,某些仿真器无法完全/正确地实现此功能,因此,如果您依靠它,则需要逐案处理。


1
投票

根据VT100.net,似乎有64个用于指定VT-420功能:

VT420 DA * CSI? 64; 1; 2; 6; 7; 8; 9; 15; 18; 19; 21 c VT420终端

但是正如george所指出的,并且在一天之内就破解了一些termcap条目,即使是单个终端类型在回答查询时将回答的内容也几乎没有一致性。

[该站点上有大量信息,所有这些信息都应被作者认为是“尽力而为,因为确实不能实现”权威“。

© www.soinside.com 2019 - 2024. All rights reserved.