检测终端仿真器中的鼠标单击而不会中断滚动

问题描述 投票:0回答:1

使用XTERM控制序列(特别是CSI ?1000h),只要用户单击终端窗口,我都可以在stdin上得到通知。不幸的是,这也意味着如果滚轮旋转,我会得到通知,而不是进行正常的终端滚动。是否有任何方法可以(最好是简单地)使just收到有关点击的通知,而没有其他信息?

或者,有没有一种方法可以发送转义序列,终端仿真器将其解释为“哦,您要我正常滚动吗?”我必须(很不情愿地)必须解析所有鼠标命令,然后如果我注意到一个向上滚动信号(按钮96或64,取决于模式),则回显它,说:“在这里,终端,您可以处理这个”。从理论上讲,这些应该是scroll-forwscroll-back动作,但是我还没有找到直接使用它们的方法。

如果有什么不同,我使用的是xfce4-terminal,但愿意尝试其他终端仿真器,如果这样做有助于调试的话。

mouseevent mouse mousewheel xterm terminal-emulator
1个回答
0
投票

X10 protocol发送仅单击(无滚轮鼠标)。记录在案。但这是xterm的。

VTE(现在通过XFCE终端进行检查)与xterm有所不同,它发送了滚轮鼠标事件。除了其源代码(ymmv),VTE没有值得一提的文档。

scroll-forwscroll-back操作是xterm功能,在VTE中没有对应的功能。

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