回答
bash不知道有关鼠标或鼠标点击的任何信息。 默认情况下没有光标或类似的东西。
您可以安装“通用鼠标服务器”。 看看这个:http://www.linuxfromscratch.org/blfs/view/6.3/general/gpm.html 例如在控制台中使用复制和粘贴。 也许你可以使用这些工具来处理你的bash脚本。
...但都:有这场舞会壳没有本地鼠标支持
我完全不知道它是如何工作的,但在SSH会话(SSH客户端Ubuntu,服务器Debian)中使用elinks(文本模式浏览器)时。我可以使用滚轮滚动页面并点击链接或按钮。 – 2011-05-11 15:56:27
我认为/怀疑你在图形环境/ X-Windows(KDE,Genome,...)内部使用终端/ xterm所以这是终端仿真器的一项功能。这不是一个bash功能。我也可以使用其他shell,比如ksh,ash或sh。我相信,它不会在(例如)运行级别3上运行 - 没有运行窗口系统。 – 2011-05-11 16:05:41
听起来合理。是的,所描述的功能例如工作在KDE中。但是,哪种通信方式可以将有关鼠标事件的信息提供给elinks?我预计该应该必须传递一些数据。有人可以详细解释这个或提供有用的链接? – 2011-05-12 10:21:10
在xterm终端仿真器定义了一些控制序列做鼠标跟踪,您可以了解更多关于他们在部分鼠标跟踪文件ctlseqs中的为xterm分配。如果你安装了xterm,你可能会有一个/usr/share/doc/xterm/ctlseqs.txt.gz
或类似的路径副本。
在X Window系统上运行的大多数终端仿真程序(例如:Konsole,gnome-terminal,eterm等)至少了解其中一些控制序列。如果你想直接在Linux的虚拟终端上使用它们,你可能需要运行gpm(8)
。
有用于允许和禁止移动鼠标报告几个调控序列:
- 9 - > X10鼠标报告,为了兼容X10的xterm中,上按钮按压报告。
- 1000 - > X11鼠标报告,按钮按下和释放报告。
- 1001 - >突出显示报告,用于报告鼠标突出显示。
- 1002 - >按钮移动报告,按下按钮时报告移动。
- 1003 - >所有移动报告,报告所有移动。
控制序列为CSI ? number h
为启用和CSI ? number l
为禁用。 CSI要么是ESC [
要么是0x9b
。所以,你可以按如下方式使用它们:
echo -e "\e[?1000h"
然后,你会得到一串字符按下按钮,看到ctlseqs或console_codes(4)
了解详情。然后,你可以禁用鼠标跟踪:
echo -e "\e[?1000l"
遗憾的是,只能处理协调高达223(255 - 32)之前的鼠标报告模式,或在某些情况下95(127 - 32)。因此,有一些新的交换机,以更改鼠标坐标报告的格式:
- 1006 - >报告回为十进制值(xterm中,许多其他终端仿真器,但不urxvt)
- 1015 - >报告背面为十进制的值(urxvt,xterm中,其他终端仿真器,一些应用需要复杂的解析)
- 1005 - >报告回编码为UTF-8(xterm中,urxvt,以多种方式损坏)
对于应用程序来说,一个好的策略是启用鼠标报告,然后(可选)请求urxvt 1015模式,然后)请求SGR 1006模式。应用程序应该处理新的和旧的鼠标报告响应,以继续在不支持新模式的情况下在终端仿真器上工作。在对新的报告模式
的更多信息:
很好的答案,以及几年后关于扩展的一个很好的编辑。真心赞赏! :) – egmont 2016-12-06 09:33:06
'''echo -e“\ e [?1000l“''' - 正是我需要终止在终端跟踪我的鼠标coords!谢谢 – 2017-02-22 07:40:15
您可以使用xdotool的鼠标移动和点击鼠标的事件。 xdotool是一个伪造键盘和鼠标的工具。 通过键入来安装它, sudo apt-get install xdotool。 通过使用xdotool,您可以使用键盘和鼠标自动执行几乎所有的操作。
您可以使用'xautomation'包中的'xte'命令。
apt-get install xautomation
作为一个例子,下面的命令可以注意到:
xte 'mousemove 200 300'
所以,将鼠标指针移动到宽度200和屏幕的高度300。作为一个其他示例,我们有:
xte 'mouseclick 3'
即按鼠标右按钮(1:左击,2:中间点击,3:右点击)。此外,您可以通过外壳按键盘上的键:
xte 'keydown Control_L' 'key c' 'keyup Control_L'
此示例将ctrl + c发送到shell。
- 1. HTML5 canvas/jquery mousemove + mouseclick event
- 2. MouseMove后防止MouseClick事件
- 3. Mouseclick + mousemove/console.log当鼠标悬停在div上时响应200次
- 4. 如何在mouseMove中获取QGraphicsRectItem的位置?
- 5. 如何在javascript/jquery中获取mousemove事件的开始时间?
- 6. 如何在.inputrc中获取Bash版本
- 7. 如何在Bash中获取绝对URL
- 8. 使用mousemove获取元素
- 9. 获取通过qooxdoo mouseclick下面的HTML
- 10. 获取在bash
- 11. 如何在MouseClick事件中处理CheckBox?
- 12. 在bash中获取目录
- 13. 如何获得mouseClick的x和y坐标
- 14. mouseActionListener和mouseClick(MouseEvent e)
- 15. Qt:从Qsplitter获取MouseMove事件
- 16. Jquery,用div覆盖获取mousemove事件
- 17. 如何在bash脚本中获取shell命令的中间值
- 18. 在Javascript中触发mousemove如何工作?
- 19. 如何在mousemove事件中使用requestAnimationFrame?
- 20. pyqtgraph获取节点的文本并在MouseClick上更改颜色
- 21. 在ember.js中捕获mouseMove事件
- 22. 如何调试mousemove
- 23. mousemove和touchmove
- 24. 如何从bash获取CLI参数?
- 25. 如何获取变量bash的长度?
- 26. bash - 如何获取(当前)Julian日数?
- 27. 角2,如何动态绑定和取消绑定mousemove事件
- 28. 为什么div和body没有获取mousemove事件?
- 29. ObjectOutputStream和Jtable mouseClick设置
- 30. 关于Gotfocus和MouseClick事件
还需要停止跟踪终端中的鼠标点击... – 2017-02-22 07:41:06