在Cocoa中启动按键操作

时间:2010-07-06 11:32:14

标签: cocoa quartz-graphics keyboard-events

我正在编写服务器以接收来自iPhone的关键事件。我可以从iPhone发送消息并让我的服务器在Mac上显示它,现在我只需将其转换为按键,然后在Cocoa中模拟该按键。

任何人都可以给我一个起点,因为我觉得这个水平相当低。

由于

1 个答案:

答案 0 :(得分: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 );
}