gpt4 book ai didi

objective-c - 在哪里可以找到 kCG KeyboardEvent Keycode 西里尔语言键码列表

转载 作者:太空宇宙 更新时间:2023-11-04 08:48:08 24 4
gpt4 key购买 nike

甚至不知道把这个问题放在哪里。这是我找到的一段代码。

CGEventRef myCGEventCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {
//0x0b is the virtual keycode for "b"
//0x09 is the virtual keycode for "v"
if (CGEventGetIntegerValueField(event, kCGKeyboardEventKeycode) == 0x0B) {
CGEventSetIntegerValueField(event, kCGKeyboardEventKeycode, 0x09);
}

return event;
}

你可以在这里找到完整的代码 http://pastebin.com/eJ9PYPAZ .

它在任何应用程序中“全局”交换一个字母与另一个字母。我想要的是能够用西里尔字母来改变拉丁字母。 kCGKeyboardEventKeycode 使用键访问一个整数字段,该字段包含按键按下或按键事件的虚拟键码。例如 0x0b 是“b”的虚拟键码。西里尔字母“б”的虚拟键码是什么?

我的问题是我无法在网络上的任何地方找到西里尔字母表的关键代码列表,就好像它们不存在一样。请帮忙。

最佳答案

据我所知,没有西里尔字母的虚拟键码这样的东西。

虚拟键码不指示键将生成哪个字符。它们通过引用少数标准键盘模型(ANSI、ISO 或 JIS)中的一种来指示键位置。

例如,kVK_ANSI_B (0x0b;常量在 <Carbon/HIToolbox/Events.h> 中定义)是对 ANSI 键盘上“B”键所在位置的引用。也就是说,它引用的位置大致位于底行键的中间。但是,这并不意味着标记为“B”或产生“b”字符的键。产生的字符是当前所选键盘布局的函数,它由软件控制并且可以随时更改。该标签与计算机无关(尽管对用户有帮助)。

换句话说,虚拟键码类似于硬件扫描码,但它是“虚拟的”,因为它是从任何实际的物理键盘中抽象出来的。它引用了一个理想化的键盘。

因此,为了解决您想要完成的问题,您需要为键位指定虚拟键码,当使用俄语/西里尔文键盘布局时,该键位会产生“б”。通过选择 OS X 附带的俄语键盘布局,我可以知道,这将是 kVK_ANSI_Comma (0x2b).

关于objective-c - 在哪里可以找到 kCG KeyboardEvent Keycode 西里尔语言键码列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20845753/

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