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

标签 linux ubuntu x11 voice-recognition

动机:我正在尝试编写将击键发送到当前焦点窗口的脚本。现在我用xdotool ,这让我可以发送原始击键。但是,我希望确切的击键成为焦点窗口中输入插入符号周围当前文本的函数。
问题:是否有一种通用的方式来读取文本输入插入符号的状态——包括它的当前位置以及它周围的文本?直观地说,我想要当前“文本框”的内容以及光标在该文本框中的位置。也许这在一般情况下是不可能的,但是有没有一种适用于 emacs 和 firefox 的方法呢?我正在运行 Ubuntu Linux
进一步的动机:由于 RSI 的不良情况,我通过语音而不是打字来控制我的计算机。这通过设置通过说出不同短语来触发的语音激活脚本来工作。在听写英文散文时,自动将句子开头的单词大写会很有帮助。这种自动大写可以通过读取输入插入符号之前的字符来完成,检查它们是否包含句点,如果是,则将我通过语音口述的下一个短语的开头大写。
非常感谢!如果有人可以在这里帮助我,那将大大增加我的日常可访问性。

最佳答案

由于X11没有标准的widget工具包,只有一堆自主开发的任意工具包,所以没有通用的方法来实现。
就 X11 和在其级别上运行的工具(如 xdotool)而言,只有 InputOutput 的窗口。种类繁多(即可见窗口,接收事件并且可以绘制)或只是Input它们是不可见的,只接收事件。可以说,没有进一步完善的“小部件”。你得到一个像素网格,你可以画到它。
可访问性接口(interface)是工具包的负担(或者如果你不使用工具包——那么你就是个坏蛋——你,开发者),要实现:https://www.freedesktop.org/wiki/Accessibility/
绝对通用的方法是截取当前聚焦窗口的屏幕截图,采用基于计算机视觉/机器学习的解决方案来识别插入符号,然后 OCR 周围的文本行。老实说,恕我直言,这样做可能比希望正确实现可访问性接口(interface)更可靠。

关于linux - 在 Linux 上获取输入插入符号周围的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64560437/

相关文章:

python - gcloud 与 pip install 相关的问题

python - 如何运行 Nuitka 编译的 Python 可执行文件

linux - X11/XCB/Xlib : Copy root window to pixmap

linux - 如何增加精简配置vm的硬盘空间

linux - perl Term::ANSIColor 在 Raspberry Pi 控制台上不工作

python - Django-cities 退出时显示 "killed"

java - 如何从( headless )Ubuntu 服务器运行 X Windows?

c++ - X11 中的屏幕截图

c - 我的错误信息是什么意思?

linux - 在 bash 脚本中查找并替换字符串(从字符串列表中)