You można to zrobić bez potrzeby używania AppleScript. Oto przykład działającego kodu, który wysyła klucz z modyfikatorami.
-Edycja: to nie pozwoli Ci ukierunkowana na konkretną aplikację, tylko naciśnięcia klawiszy Posta do całego systemu (jakby wciśnięty na klawiaturze)
#include <ApplicationServices/ApplicationServices.h>
// you can find key codes in <HIToolbox/Events.h>, for example kVK_ANSI_A is 'A' key
// modifiers are flags such as kCGEventFlagMaskCommand
void PostKeyWithModifiers(CGKeyCode key, CGEventFlags modifiers)
{
CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStateCombinedSessionState);
CGEventRef keyDown = CGEventCreateKeyboardEvent(source, key, TRUE);
CGEventSetFlags(keyDown, modifiers);
CGEventRef keyUp = CGEventCreateKeyboardEvent(source, key, FALSE);
CGEventPost(kCGAnnotatedSessionEventTap, keyDown);
CGEventPost(kCGAnnotatedSessionEventTap, keyUp);
CFRelease(keyUp);
CFRelease(keyDown);
CFRelease(source);
}
Perfect. Dla każdego, kto się na to patrzy, przydatne są docs jabłek na applecript. http://developer.apple.com/library/mac/#documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html. Bardzo dziękuję – Adam