原生插入符号位置 macos 可可



我希望能够使用cocoa或appleScript在Mac High Sierra的任何应用程序中获取全局插入符号位置。我已经使用 NSEvent 来获取键盘和鼠标挂钩,但是有没有办法获得插入符号位置挂钩?

插入符号与鼠标位置不同。它在关键事件或鼠标单击时移动。在窗口中,您几乎可以在任何地方获得插入符号位置。我想知道是否有适用于macos的等效物。

我想在文本插入符号上显示一个弹出窗口,如果我在键盘上键入或回行符,它会随着文本移动。我尝试获取关键事件的位置(位置在窗口),但它给了我鼠标位置。我不是沙盒,所以我甚至可以调用苹果脚本

更新 :通过使用辅助功能 API 获取插入符号之前的字母边界,可以做到这一点。

谢谢

我还没有机会亲自尝试,所以你可能会打败我确认/拒绝这一点。

UIEvent 具有掩码值为NSEventMaskCursorUpdateaddGlobalMonitorForEventsMatchingMask:handler:,并且可能返回的 NSEvent 对象将包含一个可以操作的坐标(即转换为屏幕空间)。

这里需要注意的是文档明确说

仅当启用了辅助功能时,才能监视与密钥相关的事件 或者,如果您的应用程序在辅助功能访问方面受信任(请参阅 AXIsProcessTrusted)。

您的帖子似乎表明您不希望使用辅助功能API("但如果不使用辅助功能API"),因此这可能意味着您在寻求满足的特定要求组合中不走运。

最新更新