首页 > 解决方案 > 获取 Xorg 下插入符号(输入文本光标)的 X/Y 位置?

问题描述

我想在 X 上运行的任何 Linux 应用程序(GTK、Qt、Electron 等)中,在用户输入的位置上方显示一个弹出框。

我想出了创建弹出框,现在我想弄清楚如何获取输入文本光标的坐标(键入时会闪烁,不确定它是否称为“插入符号”?)相对于屏幕。

我知道我可以通过以下方式获取有关鼠标位置的信息xdotool

xdotool getmouselocation

我需要同样的东西,但对于文本光标,在当前聚焦的窗口中。

我不知道如何实现这一目标。如果有人能指出我正确的方向,我会很高兴。

标签: linuxgtkxorgxdotool

解决方案


因此,在做了一些研究之后,我能够找到一种实现方法:

  • 用于xdotool粘贴一些随机字符串
  • 使用 OCR 查找随机字符串的坐标
  • 用于xdotool删除随机字符串

问题是这种方法非常慢(最多 10 秒,具体取决于屏幕上的文本量)。

我也尝试过比较屏幕截图(插入文本之前/之后),它更快,但不太精确。


推荐阅读