我正在用 bash 实现 curses,作为一个有趣的实验。我使用 infocmp 来获取 ANSI 终端代码。我现在有点不知道如何以跨控制台的方式启用鼠标跟踪。我可以直接实现http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Mouse-Tracking手动但我希望有一种更便携的方法来做到这一点。
是否有类似 infocmp 的用于鼠标跟踪代码的命令?
提前致谢
答案1
并非如此:ncurses 会做出假设,并内置对最常见协议的支持。最常用的是 xterm。ncurses 使用该kmous
功能来识别鼠标事件的前几个字符,但此后,按钮状态和坐标来自内置逻辑。
关于“鼠标代码的 infocmp”,原则上人们可能会认为会有类似的东西tparm
(仅适用于解码)、鼠标按钮(无论是按下还是释放事件)以及坐标。但是 xterm 鼠标协议只有几种,对于这样的小的可能性很多,编写一个一般的bash
解码器。无论如何,找到一个能够处理现有变体的解码器都是一个挑战。