Инициировать нажатия клавиш в Cocoa

Я пишу сервер для получения ключевых событий с iPhone. Я могу отправить сообщение с iPhone, и мой сервер отобразит его на Mac, теперь мне просто нужно перевести это в нажатие клавиши и смоделировать это нажатие в Cocoa.

Может ли кто-нибудь предложить мне отправную точку, так как я думаю, что это довольно низкий уровень.

Спасибо


person joec    schedule 06.07.2010    source источник
comment
возможный дубликат Имитация событий нажатия клавиш в Mac OSX   -  person Dave DeLong    schedule 06.07.2010


Ответы (1)


Я считаю, что IOHIDPostEvent может быть тем, что вы ищете. Что-то вроде этого:

static void HIDPostVirtualKey(
    const UInt8     inVirtualKeyCode,
    const Boolean   inPostUp,
    const Boolean   inRepeat)
{
    NXEventData     event;
    IOGPoint        loc = { 0, 0 };

    bzero(&event, sizeof(NXEventData));

    event.key.repeat = inRepeat;
    event.key.keyCode = inVirtualKeyCode;
    event.key.origCharSet = event.key.charSet = NX_ASCIISET;
    event.key.origCharCode = event.key.charCode = 0;
    IOHIDPostEvent( get_event_driver(), inPostUp ? NX_KEYUP : NX_KEYDOWN, loc, &event, kNXEventDataVersion, kIOHIDPostHIDManagerEvent, FALSE );
}
person Casey Fleser    schedule 06.07.2010