读取 xterm 控制台应用程序上按下的第三个按钮
我试图读取从控制台应用程序按下了哪个按钮,但我没有成功使用第三个(右侧)按钮。
使用 CSI 启用鼠标跟踪后? 9小时,我得到CSI M bxy,其中b对应于32+button_no,但仅适用于左键和中键。第三个(右侧)按钮打开一个弹出窗口管理器菜单,我无法阅读它
我直接读取 ESC 序列,不想使用 ncurses
有什么建议吗?
I'm trying to read which button was pressed from a console application, but I'm unsuccessful with 3rd (right) button.
After enabling mouse tracking with CSI ? 9 h, I get CSI M b x y, where b corresponds to 32 + button_no, but only for left and middle button. Third (right) button opens a pop-up windowmanager menu, and I'm unable to read it
I'm directly reading ESC sequences, don't want to use ncurses
Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于没有人回答,我对自己回答:
一些按键/鼠标按下被终端模拟器拦截。有时可以禁用或更改为其他按键组合。 Pe 同样的情况也发生在 F1 上,gnome 终端将其拦截为提供帮助,因此不可能将其传递给应用程序。幸运的是,“显示帮助”可以被禁用/分配给 gnome-terminal 中的另一个键。
第三个鼠标按钮不太好,它被硬编码到弹出菜单中。解决方案:使用另一个密钥,更改终端模拟器(xterm 工作正常)
问候
Since nobody answers, I answer to myself:
Some key/mouse presses are intercepted by the terminal emulator. Sometimes can be disabled or changed to another keypress combination. P.e. same happens with F1, which gnome-terminal intercepts as giving help, so there's no possibility to pass it to the application. Fortunately "show help" can be disabled/assigned to another key in gnome-terminal.
No luck with 3rd mouse button, it's hard coded to a pop-up menu. Solutions: use another key, change terminal emulator (xterm works properly)
Regards