【发布时间】:2011-09-02 19:31:10
【问题描述】:
是否有可可/碳等效于 Windows 上的 VkKeyScan 和 ToUnicode 函数,用于在虚拟扫描码和 unicode 字符串之间进行转换?我也想反之亦然执行此转换(从字符到扫描码)。
【问题讨论】:
标签: cocoa keyboard macos-carbon scancodes
是否有可可/碳等效于 Windows 上的 VkKeyScan 和 ToUnicode 函数,用于在虚拟扫描码和 unicode 字符串之间进行转换?我也想反之亦然执行此转换(从字符到扫描码)。
【问题讨论】:
标签: cocoa keyboard macos-carbon scancodes
很遗憾,我不确定是否存在。 CGEvent 和 NSEvent(不是免费桥接的,但 NSEvent 可以来回转换)是包括按键在内的事件的标准容器,因此可以从设备相关的扫描码转换为 unicode字符串序列,但似乎没有办法朝另一个方向发展——从 unicode 字符到所需的设备相关按键序列。
CGEventCreateKeyboardEvent 下面有一条简短的评论:
必须输入生成字符所需的所有击键, 包括修饰键。例如,要生成“Z”,请使用 SHIFT 键 必须按下,'z' 键必须按下,然后 SHIFT 和 'z' 键 必须释放:
但随后显示的序列对于 shift 和 z 键具有硬编码和无法解释的常量。
【讨论】:
UCKeyTranslate().
【讨论】:
kHID2VKC 表987654321@图书馆可能会感兴趣。