CGPostMouseEvent
устарела в SnowLeopard. Вы можете заменить его на что-то вроде
CGEventRef mouseDownEv = CGEventCreateMouseEvent (NULL,kCGEventLeftMouseDown,pt,kCGMouseButtonLeft);
CGEventPost (kCGHIDEventTap, mouseDownEv);
CGEventRef mouseUpEv = CGEventCreateMouseEvent (NULL,kCGEventLeftMouseUp,pt,kCGMouseButtonLeft);
CGEventPost (kCGHIDEventTap, mouseUpEv );
CGEventRef CGEventCreateMouseEvent(
CGEventSourceRef source, // The event source may be taken from another event, or may be NULL.
CGEventType mouseType, // `mouseType' should be one of the mouse event types.
CGPoint mouseCursorPosition, // `mouseCursorPosition' should be the position of the mouse cursor in global coordinates.
CGMouseButton mouseButton); // `mouseButton' should be the button that's changing state;
// `mouseButton' is ignored unless `mouseType' is one of
// `kCGEventOtherMouseDown', `kCGEventOtherMouseDragged', or `kCGEventOtherMouseUp'.
Кнопка мыши 0 является основной кнопкой мыши.
Кнопка мыши 1 - это дополнительная кнопка мыши (справа).
Кнопка мыши 2 является центральной кнопкой, а остальные кнопки расположены в порядке устройства USB.
kCGEventLeftMouseDown
kCGEventLeftMouseUp
kCGEventRightMouseDown
kCGEventRightMouseUp
kCGEventMouseMoved
kCGEventLeftMouseDragged
kCGEventRightMouseDragged
теперь в вашем распоряжении.