Mat*_*ams 2 keyboard macos focus accessibility-api
我正在寻找 Mac OS X Accessibility API 来获取当前键盘(而不是鼠标)焦点位置的坐标。根据我在http://www.apple.com/accessibility/pdf/Mac_OS_X_Tiger_vpat.pdf找到的文档的第 2 页,这是可行的:
支持:Mac OS X 通过辅助功能 API 将当前键盘和鼠标焦点的位置公开给辅助技术,并在屏幕上提供焦点的视觉指示。
尽管有上面的声明,我似乎找不到 API 本身。我是一名经验丰富的开发人员(从 1982 年开始编码),但从未在 Mac OS X 上进行过开发;请温柔一点。
OSX 似乎有一个非对称的可访问性 API;您可以使用NSAccessibilityProtocol使您自己的应用程序可访问,但要访问另一个应用程序的可访问性,您必须使用一组单独的接口/对象、AXUIElement和朋友。
我找到了一篇关于Retreiving the window that may be used here 的文章:似乎关键步骤是:
AXUIElementCopyAttributeValueask for 为当前聚焦的应用程序询问该对象kAXFocusedApplicationAttributeAXUIElementCopyAttributeValue,但这次是NSAccessibilityFocusedWindowAttributeNSAccessibilityFocusedUIElementAttribute您可能还想查看UIElementInspector的源代码,它显示有关鼠标指针下元素的信息(尽管它似乎没有对焦点执行任何操作)。
看起来您还需要通过 GUI(参见上面的文章)或通过终端启用辅助功能 API 才能使上述任何一项工作 - 大概这是为了让用户防御流氓应用程序控制他们的桌面。
我个人(还)没有使用过这些;但我对可访问性 API 非常熟悉,可以知道在哪里查看 - 希望这会有所帮助。
| 归档时间: |
|
| 查看次数: |
1328 次 |
| 最近记录: |