Realizar un doble clic con CGEventCreateMouseEvent ()
Estoy usando el siguiente código para simular un clic del mouse:
void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point)
{
CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button);
CGEventSetType(theEvent, type);
CGEventPost(kCGHIDEventTap, theEvent);
CFRelease(theEvent);
}
void LeftClick(const CGPoint point)
{
PostMouseEvent(kCGMouseButtonLeft, kCGEventMouseMoved, point);
NSLog(@"Click!");
PostMouseEvent(kCGMouseButtonLeft, kCGEventLeftMouseDown, point);
PostMouseEvent(kCGMouseButtonLeft, kCGEventLeftMouseUp, point);
}
Básicamente puedo usar el mismo código para hacer un clic de control (clic derecho) cambiando:
kCGEventLeftMouseDown
kCGEventLeftMouseUp
kCGMouseButtonLeft
a sus respectivos eventos de "Derecho". La función se ve algo así como:
void RightClick(const CGPoint point)
{
PostMouseEvent(kCGMouseButtonRight, kCGEventMouseMoved, point);
NSLog(@"Click Right");
PostMouseEvent(kCGMouseButtonRight, kCGEventRightMouseDown, point);
PostMouseEvent(kCGMouseButtonRight, kCGEventRightMouseUp, point);
}
Pero, ¿qué tal un doble clic? Intenté enviar 2 clics a la izquierda y llamar a PostMouseEvent () dos veces seguidas, pero no tuve suerte. ¿Cómo se realiza un doble clic?
¡Gracias!