Jak symulować naciśnięcie klawisza niskiego poziomu na os x?

Próbuję programowo generować zdarzenia keydown klawiatury i keyup. W tym celu używam CGPostKeyboardEvent, ale szukam sposobu, aby to zrobić na niższym poziomie. Przejrzałem DDHidLib, ale nie udało mi się znaleźć sposobu na stworzenie fałszywego zdarzenia. Czy ktoś może pomóc?

aktualizacja: Dzięki radom Weichsela tworzę teraz kluczowe wydarzenie z niżej wymienionymi:

  CGEventRef e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)52, true);
  CGEventPost(kCGSessionEventTap, e);
  CFRelease(e);

które znalazłemtutaj.

jednak, mój problem jest nadal aktualny, więc trochę się rozwinę. Aplikacja (strona trzecia), którą chciałbym wysłać naciśnięcia klawiszy do implementacjiDDHidLib's funkcja przechwytywania klucza:

- (void) ddhidKeyboard: (DDHidKeyboard *) keyboard
             keyDown: (unsigned) usageId;

A to nigdy nie zostanie wywołane przy użyciu bieżącej metody. Domyślam się, że klucz symulowany za pomocą CGEventCreateKeyboardEvent ma zbyt wysoki poziom, aby zostać przechwyconym przez ddhidKeyboard: keyDown. Tak więc staram się utworzyć zdarzenie keydown na wystarczająco niskim poziomie, aby zostało rozpoznane przez ddhidKeyboard: keyDown.

questionAnswers(2)

yourAnswerToTheQuestion