gpt4 book ai didi

cocoa - 在自定义 NSView 中获取重音字符

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

在 Mac OSX TextView 中,可以通过一系列按键输入重音字符(例如选项 -e e 以获得 e-acute)。有没有办法在自定义 NSView 中访问此功能。就我而言,我有从 NSOpenGLView 派生的类。我已经实现了 keyDown: 的响应程序,这样我就可以获取来自单次按键的 unicode 字符,但是通过序列我只能获取各个按键的事件。我希望 NSResponder 中的terpretKeyEvents: 会有所帮助,但似乎没有帮助。

我可以通过复制 NSTextView 的功能来自己实现它,但我想这会很棘手,特别是如果人们使用不同的键盘设置来进行我的操作。

最佳答案

调用terpretKeyEvents:是正确的方法,但是您还需要实现其他方法,以便在标记文本(我总是称之为“正在进行的文本”)或要插入的文本到达您的 View 时通知您。

你的 NSView 必须实现 NSTextInputClient。请参阅 cocoa 引用 here 。搜索该协议(protocol)中的一些方法发现了这个 chunk of code在 github 上。这看起来是一个非常好的起点。

对于您所要求的内容,使用英语和至少一种其他西方语言(法语是一个很好的语言)进行测试就足够了。但从长远来看,您还需要至少使用 Kotoeri 和 Hangul 布局之一进行测试。然而,我上面链接的代码看起来可以处理您可以扔给它的绝大多数文本。

关于cocoa - 在自定义 NSView 中获取重音字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4689235/

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