当坐标大于127时,Xterm.js的鼠标坐标编码和blessed.js的解码似乎有点出入。当坐标大于127(7位)时,Xterm.js使用两个字符编码,而blessed .js 假设只有一个。 此外,Xterm.js 最多使用 11 位进行编码。 在 Xterm.js 中将限制更改为 255 后,兼容性恢复:)
阅读规范后,我不确定谁是对的。
我将“详细信息”和“重现步骤”部分留空,因为我认为它们在这里无关紧要。
如果您需要更多信息,请与我们联系,
约翰。
顺便说一句,xterm 规范指出了几种鼠标跟踪协议,xterm.js 应该都支持这些协议以获得最佳的应用程序覆盖:
由应用程序选择其中之一(我假设有福使用了您描述中的 X10)。
在这种情况下,我认为最好看看其他终端模拟器的功能,例如 iTerm2、Terminal.app、gnome-terminal、konsole 等。
参见 mc bug 和第一条评论2662和 bug 2956 。
tl;dr:IMO 实现默认值(工作到坐标 223;坐标始终编码为单个字节,即使在 UTF-8 中,即流不是有效的 UTF-8)和 SGR 1006 模式,忘记其他二 :)
最有用的评论
顺便说一句,xterm 规范指出了几种鼠标跟踪协议,xterm.js 应该都支持这些协议以获得最佳的应用程序覆盖:
由应用程序选择其中之一(我假设有福使用了您描述中的 X10)。