Как смоделировать нажатие клавиши низкого уровня на OS X?
Я пытаюсь генерировать события клавиатуры и нажатия клавиш программно. В настоящее время я использую CGPostKeyboardEvent, чтобы сделать это, но я ищу способ сделать это на более низком уровне. Я посмотрел на DDHidLib, но не смог найти способ создать поддельное событие. Кто-нибудь может помочь?
Обновить: Благодаря совету Вейкселя я сейчас создаю событие «key down» со следующим:
CGEventRef e = CGEventCreateKeyboardEvent (NULL, (CGKeyCode)52, true);
CGEventPost(kCGSessionEventTap, e);
CFRelease(e);
который я нашелВот.
тем не мение, моя проблема все еще остается, поэтому я уточню немного. Приложение (третье лицо), которое я хотел бы посылать с помощью клавишDDHidLib-х функция захвата ключа:
- (void) ddhidKeyboard: (DDHidKeyboard *) keyboard
keyDown: (unsigned) usageId;
И это никогда не вызывается с использованием текущего метода. Я предполагаю, что клавиша down, имитируемая с CGEventCreateKeyboardEvent, находится на слишком высоком уровне, чтобы быть захваченным ddhidKeyboard: keyDown. Поэтому я пытаюсь создать событие keydown на достаточно низком уровне, чтобы оно распознавалось ddhidKeyboard: keyDown.