如何在 Gnome Shell 扩展中设置光标位置?

如何在 Gnome Shell 扩展中设置光标位置?

我正在尝试在 Gnome 扩展中设置我的第一步,以帮助视障人士通过将光标移动到固定位置来找到光标。

似乎没有简单的方法可以做到这一点

我有一个破解了一个相当简单的解决方案工具,但是这似乎有点小题大做,而且安装起来并不那么简单(在 debs 中不是)。

我可以通过以下方式在测试扩展中获取鼠标位置:

....
let [mouse_x, mouse_y, mask] = global.get_pointer();
....

但是,遗憾的是,global.set_pointer(30,20) 不是一个函数。

有没有办法做到这一点,(我在哪里可以找到该global对象的文档?)

答案1

虽然我现在无法回答你。但是,我自己已经走过了艰难的道路,找到了有关 Gnome API 及其用于扩展开发的不同组件的文档。

  • 大多数与 GJS(Gnome-Shell 扩展的核心)相关的 Gnome 文档都托管在这里:https://gjs-docs.gnome.org/
  • 文档可搜索,并可设置为离线工作。因此global.get_pointer()方法的文档条目在这里:https://gjs-docs.gnome.org/shell12~12/shell.global#method-get_pointer
  • 我建议您注意以下几点:
    1. 哪个 Gnome 版本?Gnome 变化很快
    2. 哪个 API 版本?弄清楚当前运行的 Gnome-shell 对应哪个 API/Lib 版本并不总是那么容易。
    3. 显示后端 (Wayland、X11)?键盘和鼠标在较低级别上的处理方式不同 (如 GDK)。
    4. Mutter 拥有自己的 Clutter 库内部副本,其 API 与独立 Clutter 库(已弃用)不同。预计两种库中都无法使用某些方法:独立 GJS 应用程序和 Gnome-shell 扩展。

相关内容