Я пытаюсь создать оболочку Какао вокруг приложения Flash. Я загрузил его в WebView, и я могу управлять им, отправляя ключевые события с помощью API CGEvent, например:
[myWindow makeFirstResponder:myFlashWidget];
CGEventRef e1 = CGEventCreateKeyboardEvent(NULL, (CGKeyCode)keyCode, true);
CGEventPost(kCGSessionEventTap, e1);
CFRelease(e1);
Когда я запускаю это из пункта меню, он прекрасно работает.
Теперь я добавляю глобальное сочетание клавиш для вызова той же функции. Я ловлю ярлык (через InstallApplicationEventHandler, RegisterEventHotKey) и вызываю ту же функцию, но это не имеет никакого эффекта.
Я не уверен, как диагностировать проблему. Первая очевидная мысль состоит в том, что ключевой фокус не установлен должным образом, но я не уверен, что позвонить, чтобы сделать это. И я хочу, чтобы ярлык работал, даже когда окно неактивно или скрыто. Я действительно пытаюсь направить событие на конкретный NSView. Я читал о событиях, но похоже, что они решают другую проблему.
Я новичок в Какао, поэтому вполне возможно, что я упускаю что-то очевидное. Кто-нибудь еще решил это раньше? Любые подходы к выяснению, что идет не так? Спасибо!