Linux 获取Xorg下插入符号(输入文本光标)的X/Y位置?
我想在X上运行的任何Linux应用程序(GTK、Qt、Electron等)中显示一个用户正在键入的弹出窗口 我想出了创建popover的办法,现在我正试图找出如何获取输入文本光标相对于屏幕的坐标(当您键入时,什么东西会闪烁,不确定它是否被称为“插入符号”) 我知道我可以通过Linux 获取Xorg下插入符号(输入文本光标)的X/Y位置?,linux,gtk,xorg,xdotool,Linux,Gtk,Xorg,Xdotool,我想在X上运行的任何Linux应用程序(GTK、Qt、Electron等)中显示一个用户正在键入的弹出窗口 我想出了创建popover的办法,现在我正试图找出如何获取输入文本光标相对于屏幕的坐标(当您键入时,什么东西会闪烁,不确定它是否被称为“插入符号”) 我知道我可以通过xdool获取鼠标的位置信息: xdotool getmouselocation 我需要同样的东西,但对于文本光标,在当前聚焦的窗口中 我不知道如何做到这一点。如果有人能给我指出正确的方向,我会很高兴的。因此,在做了一些研究
xdool
获取鼠标的位置信息:
xdotool getmouselocation
我需要同样的东西,但对于文本光标,在当前聚焦的窗口中
我不知道如何做到这一点。如果有人能给我指出正确的方向,我会很高兴的。因此,在做了一些研究之后,我找到了一种实现这一点的方法:
- 使用
粘贴一些随机字符串xdool
- 使用OCR查找随机字符串的坐标
- 使用
删除随机字符串xdool
我还尝试过比较屏幕截图(插入文本之前/之后),速度快得多,但精确度低得多。X不知道文本输入插入符号在哪里。我不认为你的想法是可以实现的(没有应用程序或工具包的合作)。我同意@jku的观点,X对此并不了解,只是你点击了某个地方(如果需要点击的话),并且它已经被应用程序处理了。它根本不知道你是否在输入文本!而且,我认为这叫做光标。有人告诉我一种方法是使用GTK模块。听起来很有趣。这个节目的目的是什么?只是出于好奇,它是开源语法还是什么?我不知道什么是@linux_-kettler,但我试图实现一个带有重音字母的工具提示,比如macOS或移动操作系统,它可以通过按住一个键并在单击时插入重音字母来激活。