![KDE Konsole 对鼠标点击的反应很奇怪](https://linux22.com/image/1360233/KDE%20Konsole%20%E5%AF%B9%E9%BC%A0%E6%A0%87%E7%82%B9%E5%87%BB%E7%9A%84%E5%8F%8D%E5%BA%94%E5%BE%88%E5%A5%87%E6%80%AA.png)
有时我的 KDE Konsole 会发疯,每次我用鼠标单击它时,它都会打印出乱码 :) 其实这并不烦人,我只是关闭它,但我很好奇为什么会发生这种情况。
答案1
让我猜猜:你的意思是执行以下命令时获得的效果吗?
printf '\e[?1000h'
发生的情况如下。在终端仿真器(如 konsole)中运行着两种程序:一种依赖于终端程序提供的基本鼠标处理(例如:左键选择、中键粘贴),另一种想要自己解释鼠标事件。大多数程序(如 bash)都采用前者,midnight commander (mc) 就是后者的一个例子。如果程序想要自己解释鼠标事件,它会向 konsole 发送某个“转义序列”(如上所示),这样每当按下按钮时,konsole 都会发回鼠标的坐标;当程序停止时,它会向 konsole 发送另一个“转义序列”,这样 konsole 就会返回其正常模式。
您的情况是,konsole 在没有运行协作程序的情况下收到了转义序列。可能有以下几种原因:
一个编程不良的工具切换了鼠标模式,然后崩溃了,没有切换回来。
您将一些二进制数据(例如一些可执行程序)转储到屏幕上,其中包含鼠标切换转义序列。
您拼错了一些转义序列,该序列本来应该是用于更改提示中的字体或背景颜色,但却意外地让鼠标切换了转义序列。
其他终端仿真程序(如 xterm 或 gnome-terminal)也一样。(鼠标切换转义序列是在 xterm 中引入的;konsole 和 gnome-terminal 都复制了它。)顺便说一句,如果发生这种情况,通常不需要关闭 konsole。您可以使用命令reset
返回正常模式。