有没有办法区分按下左右Shift键?

8 macos cocoa objective-c nsevent

当用户使用以下代码按任意Shift键时,我可以识别:

-(void)flagsChanged:(NSEvent *)theEvent
{
    if ([theEvent modifierFlags] & NSShiftKeyMask)
        //. . .
}
Run Code Online (Sandbox Code Playgroud)

但有没有办法区分它是按下的右键还是左键?

Jus*_*Boo 8

你可以这样做:

-(void)flagsChanged:(NSEvent *)theEvent {

    if ([theEvent modifierFlags] == 131330) {
        NSLog(@"Left shift pressed!");
    }

    if ([theEvent modifierFlags] == 131332) {
        NSLog(@"Right shift pressed!");
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @ user437064从这里下载这个免费的应用程序*密钥代码*:http://manytricks.com/keycodes/.在这里您可以看到所有关键代码和修饰符.**注意:**对于字母,您需要使用密钥代码. (7认同)