gpt4 book ai didi

objective-c - 将 OS X 键码转换为键位置? (与系统键盘语言/布局无关)

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

我想检测 Mac 键盘上按键的物理位置。查看键码可以告诉我字符等,但不能告诉我位置,位置因语言/键盘布局而异。我需要像键的行索引之类的东西。

我可以使用以下代码查看键盘布局语言:

TISInputSourceRef source = TISCopyCurrentKeyboardInputSource();
NSLog(@"localized name: %@", TISGetInputSourceProperty(source, kTISPropertyLocalizedName));

我可以通过为每种语言构建键码位置字典来映射位置,但这可能需要大量工作来覆盖大多数键盘。

有什么捷径的想法吗?

最佳答案

您对 key 代码的理解不正确。在 OS X 上,虚拟键码对应于键位置。它指示键盘布局将生成哪个字符。

例如, key 代码 0 为 kVK_ANSI_A。这意味着不是它是产生“A”字符的键。这意味着该键的位置与 ANSI 标准键盘上“A”键的位置相同。它是中间一排字母键中最左边的键。

当通过不带修饰符的法语键盘布局翻译键代码 0 时,它会生成“q”字符。

关于objective-c - 将 OS X 键码转换为键位置? (与系统键盘语言/布局无关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24976294/

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