首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python诅咒如何检测焦点?

Python诅咒如何检测焦点?
EN

Stack Overflow用户
提问于 2022-07-19 20:09:55
回答 1查看 94关注 0票数 0

当终端聚焦时,是否有检测键?

例如,KEY_RESIZE用于检测终端何时调整大小。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-07-19 20:24:41

没有预定义的键,但是有了ncurses,就可以像在示例xterm-1002xterm-1003中使用xterm特性那样定义键

代码语言:javascript
复制
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是表示失败的特殊值),
  • 告诉ncurses,这确实是一个键,盖奇应该使用define_key将其作为密钥代码报告,
  • 使用key_defined检索生成的密钥代码。

ncurses测试程序demo_defkey使用define_keykey_defined演示如何使用这些函数。当然用C写的。这也是可行的(例如,参见)。

其他终端实现了xterm控制序列的子集。关于foot的OP注释,它碰巧识别模式1004 (焦点进入/输出)。您可以定制终端描述。

代码语言:javascript
复制
foot-focus|foot with focus-in/out,
        use=xterm+focus, use=foot,

并使用tic对其进行编译。(建议从foot的终端描述开始,只要设置TERM=xterm-1002等等,就会导致用户使用失望 )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73042942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档