Simular keypress para teclas de atalho de todo o sistema

Eu preciso simular as teclas digitadas no OSX. Aqui está como eu faço:

-(void)execute {
    CGEventSourceRef sourceRef =
    CGEventSourceCreate(kCGEventSourceStateHIDSystemState);

    CGEventRef keyPress = CGEventCreateKeyboardEvent (sourceRef, (CGKeyCode)keyCode, true);
    CGEventRef keyUnpress = CGEventCreateKeyboardEvent (sourceRef, (CGKeyCode)keyCode, false);

    CGEventSetFlags(keyPress, modifierFlags);
    CGEventPost(kCGHIDEventTap, keyPress);

    //unpressing the acualkey
    CGEventPost(kCGHIDEventTap, keyUnpress);

    CFRelease(keyPress);
    CFRelease(keyUnpress);
    CFRelease(sourceRef);
}

Ele funciona bem para cada tecla de atalho ou pressionamentos de tecla simples em qualquer aplicativo, mas não funciona para atalhos do sistema, por exemploopção + espaço para lançar o Spotlight oucmd + shift + 4 para fazer uma captura de tela ouctrl + ` para abrir a janela iTerm2.

Eu tentei mudar a fonte do evento e o local onde postar o evento, não ajuda. Alguma ideia?

questionAnswers(4)

yourAnswerToTheQuestion