当终端聚焦时,是否有检测键?
例如,KEY_RESIZE用于检测终端何时调整大小。
谢谢
发布于 2022-07-19 20:24:41
没有预定义的键,但是有了ncurses,就可以像在示例xterm-1002和xterm-1003中使用xterm特性那样定义键
xterm+focus|xterm focus-in/out event "keys",
kxIN=\E[I, kxOUT=\E[O,记录在https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-FocusIn_FocusOut中。没有预定义的密钥,但是程序可以
"kxIN"询问与tigetstr对应的字符串(注意0和-1是表示失败的特殊值),define_key将其作为密钥代码报告,key_defined检索生成的密钥代码。ncurses测试程序demo_defkey使用define_key和key_defined演示如何使用这些函数。当然用C写的。这也是可行的(例如,参见这)。
其他终端实现了xterm控制序列的子集。关于foot的OP注释,它碰巧识别模式1004 (焦点进入/输出)。您可以定制终端描述。
foot-focus|foot with focus-in/out,
use=xterm+focus, use=foot,并使用tic对其进行编译。(建议从foot的终端描述开始,只要设置TERM=xterm-1002等等,就会导致用户使用失望 )。
https://stackoverflow.com/questions/73042942
复制相似问题