OS X Cocoa - 将虚拟扫描代码与Char进行转换

时间:2011-09-02 19:31:10

标签: cocoa keyboard macos-carbon scancodes

是否有可靠/碳等效于Windows上的VkKeyScan和ToUnicode函数,用于在虚拟扫描代码和unicode字符串之间进行转换?我还想执行此转换,反之亦然(从char到扫描代码)。

2 个答案:

答案 0 :(得分:1)

可悲的是,我不确定有没有。 CGEventNSEvent(不是免费桥接,但NSEvent可以来回转换)是包括按键在内的事件的标准容器,因此可以从设备转换依赖扫描代码来解码字符串序列,但似乎无法进入另一个方向 - 从unicode字符到所需的设备相关按键序列。

CGEventCreateKeyboardEvent下方有一条简短的评论:

  

必须输入生成角色所需的所有击键,   包括修饰键。例如,要生成'Z',SHIFT键   必须向下,'z'键必须向下,然后是SHIFT和'z'键   必须被释放:

但是,显示的序列具有shift和z键的硬编码和无法解释的常量。

答案 1 :(得分:1)

UCKeyTranslate()