我正在尝试在 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 - 我建议您注意以下几点:
- 哪个 Gnome 版本?Gnome 变化很快
- 哪个 API 版本?弄清楚当前运行的 Gnome-shell 对应哪个 API/Lib 版本并不总是那么容易。
- 显示后端 (Wayland、X11)?键盘和鼠标在较低级别上的处理方式不同 (如 GDK)。
- Mutter 拥有自己的 Clutter 库内部副本,其 API 与独立 Clutter 库(已弃用)不同。预计两种库中都无法使用某些方法:独立 GJS 应用程序和 Gnome-shell 扩展。