gpt4 book ai didi

objective-c - 转换国际键盘的 CGKeyCode

转载 作者:行者123 更新时间:2023-12-03 16:33:38 25 4
gpt4 key购买 nike

在我的应用程序中,我需要将快捷键映射到键盘上“1”键左侧的键。在标准美国键盘上,这将是反引号字符 ("` "),即键代码编号 50。不幸的是,国际键盘(例如法语键盘)在 1 键的左侧有一个不同的键(正斜杠键“/”),因此对该键代码进行硬编码可能会导致不使用美国键盘的用户出现意外结果。

有没有办法在运行时将美国键码转换为国际键盘的键码,或者有办法根据键盘上按键的位置以编程方式确定键码?

最佳答案

“1”左侧按键上的字符在不同的键盘布局上是不同的,但虚拟键码应该是相同的。如果您查看HIToolbox/Events.h,您可以看到常量kVK_ANSI_Grave,它代表您正在谈论的键;在常量列表上方,有一条注释表明,在虚拟键代码级别,相等意味着物理键相同,尽管扫描代码可能不同并且发出的字母可能不同。

换句话说:键盘驱动程序从扫描代码映射到虚拟键代码,键盘布局(您可以在系统偏好设置中更改)从虚拟键代码映射到字符。

这可能都是错误的;我没有非美国键盘来验证这些断言。

关于objective-c - 转换国际键盘的 CGKeyCode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5253972/

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