我希望能够使用 cocoa 或 appleScript 获取 Mac High Sierra 中任何应用程序内的全局插入符位置。我已经使用 NSEvent 来获取键盘和鼠标挂钩,但是有没有办法获取插入符位置挂钩?
插入符号与鼠标位置不同。它会随着按键事件或鼠标单击而移动。在 Windows 中,您几乎可以在任何位置获取插入符号位置。我想知道 macOS 是否有类似的东西。
我想在文本插入符号上显示一个弹出窗口,如果我在键盘上键入或回车,它会随文本移动。我尝试获取按键事件的位置(locationInWindow),但它给了我鼠标位置。我不是沙箱,所以我什至可以调用 applescripts
更新:可以通过使用可访问性 API 获取插入符号之前的字母边界来实现此目的。
thanks
我还没有机会亲自尝试,所以你可能会先于我确认/拒绝这一点。
UIEvent 有addGlobalMonitorForEventsMatchingMask:handler:
其中掩码的值为NSEventMaskCursorUpdate
并且大概返回的 NSEvent 对象将包含一个可以执行操作的坐标(即转换为屏幕空间)。
这里的警告是文档明确指出的
仅当启用辅助功能时才能监视与按键相关的事件
或者您的应用程序是否可信任可访问性访问(请参阅
AXIsProcessTrusted)。
您的帖子似乎表明您不希望使用 Accessibility API(“但如果不使用 Accessibility API”),以便may意味着您在寻求满足的特定要求组合方面不走运。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)