gpt4 book ai didi

cocoa - 将 NSString 转换为 AXUIElementPostKeyboardEvent 的 keyCode+修饰符

转载 作者:行者123 更新时间:2023-12-03 16:15:08 26 4
gpt4 key购买 nike

编辑:事实证明,我在最初探索辅助功能 API 时被误导了。一旦我在 AX 层次结构中找到安全文本字段,我就可以轻松设置该值。除此之外,不知道如何处理这个问题,但我想为 future 的搜索者更新此问题。

我正在编写一些代码,这些代码将使用辅助功能 API 将键盘事件发布到目标应用程序。到目前为止,我已经能够编写一个简单的应用程序,它允许我输入字符串值,然后将带有这些键代码的键盘事件发布到目标应用程序。实际上,可以从另一个位置读取字符串。

我还没有弄清楚如何确定是否也应该发布以及哪些修改键也应该被发布。例如,当我在测试应用程序中输入 Hello, world! 时,输入将作为 hello, world1 发送到另一个应用程序,因为我尚未包含修饰键创建大写字母 H 和感叹号。 éü 等多击键字符使这一情况变得更加复杂。例如,发送 é 会发送不带重音的原始 e

是否有一个我忽略的简单方法来识别修饰符与键码组合以创建特定的 NSString 或 unichar?如果没有,有人建议如何继续吗?到目前为止,我想出的最好的方法是使用所有可能的修饰符组合调用 UCKeyTranslate ,直到找到与使用 -[NSString characterAtIndex 得到的 unichar 匹配的组合。 :] 不过,考虑到上面提到的某些字符的多击键性质,我不确定这是否可扩展或可靠。

提前致谢!

最佳答案

这可能没有帮助。但以防万一:真的有必要发送键盘事件吗?因为如果你需要支持,比如 Kotoeri,那会变得非常困难。

重写 insertText: 和 doCommandBySelector: 并发送按键序列的结果(而不是单个击键)是一件简单的事情。

关于cocoa - 将 NSString 转换为 AXUIElementPostKeyboardEvent 的 keyCode+修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4940557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com