2010-07-06 16 views
0

Im écrit un serveur pour recevoir des événements clés d'un iPhone. Je peux envoyer un message depuis l'iPhone et demander à mon serveur de l'afficher, sur le Mac, maintenant j'ai juste besoin de traduire cela en une pression de touche, et de simuler cette pression dans Cocoa.Initier des touches dans Cocoa

Quelqu'un pourrait-il m'offrir un point de départ, car je suppose que c'est un niveau assez bas.

Merci

+0

double possible de [Simuler événements de presse clés dans Mac OS X] (http://stackoverflow.com/questions/2379867/simulating-key-press-events-in-mac-osx) –

Répondre

1

je crois IOHIDPostEvent peut être ce que vous cherchez. Quelque chose comme ceci:

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); 
}