在Linux上获取输入插入符号周围的文本



动机:我正在尝试编写脚本,将击键发送到当前关注的窗口。现在我使用xdotool,它允许我发送原始击键。然而,我希望准确的击键是聚焦窗口中输入插入符号周围当前文本的函数。

问题:有没有一种通用的方法来读取文本输入插入符号的状态——包括它的当前位置以及它周围的文本?直觉上,我想要的内容是当前的"文本框";以及光标在该文本框内的位置。也许这在一般情况下是不可能的,但有没有一种方法可以对emacs和firefox有效?我正在运行Ubuntu Linux

进一步的动机:由于严重的RSI,我通过语音而不是打字来控制电脑。这是通过设置由说出不同短语触发的声控脚本来实现的。在听写英语散文时,在句子开头自动将单词大写会很有帮助。这种自动大写可以通过读取输入插入符号之前的字符来实现,检查它们是否包含句点,如果包含句点,则将我通过语音口述的下一个短语的开头大写。

非常感谢!如果有人能在这里帮助我,这将大大提高我的日常访问能力。

由于X11没有标准小部件工具包,只有大量独立开发的任意工具包,因此没有通用的方法来实现这一点。

就X11和在其级别上运行的工具(如xdotool(而言,只有InputOutput类型的窗口(即可见窗口,接收事件并可以绘制到(或仅Input类型的窗口是不可见的,仅接收事件。没有进一步细化的";小部件";可以这么说。你得到了一个像素网格,你可以把它画出来。

可访问性接口是工具包的负担(或者,如果你不使用工具包,那么你就是个坏蛋——你,开发人员(,要实现:https://www.freedesktop.org/wiki/Accessibility/

绝对通用的方法是对当前关注的窗口进行截图,使用基于计算机视觉/机器学习的解决方案来识别插入符号,然后对其周围的文本行进行OCR。老实说,IMHO以的方式进行操作可能比希望正确实现可访问性接口要可靠得多。

相关内容

  • 没有找到相关文章

最新更新