KDE Konsole 对鼠标点击的反应很奇怪

KDE Konsole 对鼠标点击的反应很奇怪

有时我的 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返回正常模式。

相关内容