Even though CGEventCreateMouseEvent
is not deprecated in Xcode 7, I am getting error
No matching function for call to 'CGEventCreateMouseEvent'
Please find the code that worked in Xcode 6 (SDK OSX 10.10)
-(void)sendMouseClick:(CGMouseButton)mouseBtn value:(uint32_t)value
{
int mouseEvent = 0;
if(mouseBtn == kCGMouseButtonLeft && value == 1) //left btn down
{
mouseEvent = kCGEventLeftMouseDown;
}
else if (mouseBtn == kCGMouseButtonLeft && value == 0) //left btn up
{
mouseEvent = kCGEventLeftMouseUp;
}
else if (mouseBtn == kCGMouseButtonRight && value == 1) //Right btn down
{
mouseEvent = kCGEventRightMouseDown;
}
else if (mouseBtn == kCGMouseButtonRight && value == 0) //Right btn up
{
mouseEvent = kCGEventRightMouseUp;
}
if(mouseEvent != 0) // a valid mouse event
{
CGEventRef ourEvent = CGEventCreate(NULL);
NSPoint mouseLoc = CGEventGetLocation(ourEvent); //get current mouse position
CGEventRef mouseClick = CGEventCreateMouseEvent(
NULL,
mouseEvent,
mouseLoc,
mouseBtn
);
CGEventPost(kCGHIDEventTap, mouseClick);
}
}
I have tried importing <CoreGraphics/CGEvent.h>
but it made no difference. Any idea what is happening?
I found out that there was a type mismatch after SDK 10.11.
Changing,
int mouseEvent = 0
to
CGEventType mouseEvent = kCGEventNull;
Fixes the issue.