相关疑难解决方法(0)

我在哪里可以找到Mac虚拟密钥代码列表?

我正在使用CGEventCreateKeyboardEvent并需要知道CGKeyCode要使用的值.

具体来说,我是关键的密钥代码Command.文档提供了其他键的示例:zis 6,shiftis 56.

某处必须有Mac虚拟键码列表?

keyboard macos keycode quartz-graphics cgkeycode

71
推荐指数
5
解决办法
10万
查看次数

在Mac OS X中模拟按键事件

我正在编写一个应用程序,我需要在Mac上模拟按键事件,给出代表每个键的代码.看来我需要使用该CGEventCreateKeyboardEvent函数来创建事件.问题是这个功能需要Mac键码,而我所拥有的是代表特定键的代码.所以,例如,我收到:

KEY_CODE_SHIFT或者KEY_CODE_A- 这些都是在某处定义的数字常量.

我需要采用这些常量并将它们转换为CGKeyCode值.

我当前的尝试使用类似于这个SO问题的代码.问题是它只适用于可打印字符.如果所有其他方法都失败了,我就不会对转换进行硬编码,但这意味着我需要一个可能的CGKeyCode值表,这是我还没有找到的.

有任何想法吗?

c++ keyboard macos cocoa macos-carbon

13
推荐指数
2
解决办法
2万
查看次数

将键盘快捷方式发送到Mac OS X窗口

Mac桌面上的一个窗口是否可以以编程方式将键盘快捷键或键序列发送给另一个窗口?

我希望通过使用应用程序的键盘快捷键功能来控制一个不提供API的应用程序.

我很确定这可以在Windows上完成,但Mac?

谢谢

macos xcode keyboard-shortcuts objective-c

8
推荐指数
2
解决办法
7713
查看次数

将虚拟密钥代码转换为unicode字符串

我有一些代码,我一直用来获取当前的键盘布局,并将虚拟键码转换为字符串.这在大多数情况下效果很好,但我在某些特定情况下遇到了麻烦.引起这种情况的是德国QWERTZ键盘上退格键旁边的重音键.http://en.wikipedia.org/wiki/File:KB_Germany.svg

该密钥生成我期望的VK代码,kVK_ANSI_Equal但在使用QWERTZ键盘布局时,我没有得到任何描述.它最终成为死键,因为它应该由另一个键组成.有没有办法捕捉这些情况并进行适当的转换?

我目前的代码如下.

TISInputSourceRef currentKeyboard = TISCopyCurrentKeyboardInputSource();
CFDataRef uchr = (CFDataRef)TISGetInputSourceProperty(currentKeyboard, kTISPropertyUnicodeKeyLayoutData);
const UCKeyboardLayout *keyboardLayout = (const UCKeyboardLayout*)CFDataGetBytePtr(uchr);

if(keyboardLayout)
{
    UInt32 deadKeyState = 0;
    UniCharCount maxStringLength = 255;
    UniCharCount actualStringLength = 0;
    UniChar unicodeString[maxStringLength];

    OSStatus status = UCKeyTranslate(keyboardLayout,
                                     keyCode, kUCKeyActionDown, 0,
                                     LMGetKbdType(), kUCKeyTranslateNoDeadKeysBit,
                                     &deadKeyState,
                                     maxStringLength,
                                     &actualStringLength, unicodeString);

    if(actualStringLength > 0 && status == noErr)
        return [[NSString stringWithCharacters:unicodeString length:(NSInteger)actualStringLength] uppercaseString];
}
Run Code Online (Sandbox Code Playgroud)

keyboard macos cocoa localization macos-carbon

8
推荐指数
1
解决办法
4086
查看次数

将密钥代码转换为密钥等效字符串

如何将密钥代码转换为kVK_ANSI_1我可以传递给的字符串setKeyEquivalent(所以kVK_ANSI_1,我会得到@"1")?为什么有两种方法来指定键呢?只有一个表示更有意义.

macos cocoa keyboard-shortcuts

6
推荐指数
1
解决办法
2718
查看次数

将字符转换为可可或碳中的关键代码

如何将字符(或一个字母NSString)转换为使用当前选定的可可或碳键盘布局生成它的相应键代码?

macos cocoa macos-carbon objective-c

2
推荐指数
1
解决办法
2127
查看次数

将CGKeyCode转换为字符

我无法找到如何将a转换CGKeyCode为相应的字符.

你是怎么做到的?

objective-c cgkeycode

2
推荐指数
1
解决办法
1579
查看次数