问题
I am developing a Leap Motion Application where I already move the cursor with it, but I don't know how I can trigger a mouseDown:(NSEvent *) programmatically.
回答1:
This worked well for me in Cocoa Mac:
void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point)
{
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button);
CGEventSetType(theEvent, type);
CGEventPost(kCGHIDEventTap, theEvent);
CFRelease(theEvent);
}
Use this link to find out about the parameters: https://developer.apple.com/library/mac/#documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html
For example, to trigger a MouseDown event at the point (500,500) I've used:
PostMouseEvent(kCGMouseButtonLeft, NX_LMOUSEDOWN, CGPointMake(200, 200));
来源:https://stackoverflow.com/questions/14752772/how-to-trigger-a-mousedownnsevent-programmatically-without-using-the-mouse