- NSLog(@"%@\n%@", upTime, [NSDate date]);
- if (clickCount >= 3 || [upTime compare:[NSDate date]] == NSOrderedAscending)
+ if (clickCount >= 3 || [upTime compare:[NSDate date]] == NSOrderedAscending
+ || !CGPointEqualToPoint(NSEvent.mouseLocation, clickPosition))
CGEventType eventType = (_button == kCGMouseButtonLeft) ? kCGEventLeftMouseUp : kCGEventRightMouseUp;
CGEventRef click = CGEventCreateMouseEvent(NULL,
eventType,
CGEventType eventType = (_button == kCGMouseButtonLeft) ? kCGEventLeftMouseUp : kCGEventRightMouseUp;
CGEventRef click = CGEventCreateMouseEvent(NULL,
eventType,
_button);
CGEventSetIntegerValueField(click, kCGMouseEventClickState, clickCount);
CGEventPost(kCGHIDEventTap, click);
CFRelease(click);
_button);
CGEventSetIntegerValueField(click, kCGMouseEventClickState, clickCount);
CGEventPost(kCGHIDEventTap, click);
CFRelease(click);