83
83
/* Move the mouse to a specific point. */
84
84
void moveMouse (MMPointInt32 point ){
85
85
#if defined(IS_MACOSX )
86
- CGEventRef move = CGEventCreateMouseEvent (NULL , kCGEventMouseMoved ,
86
+ CGEventSourceRef source = CGEventSourceCreate (kCGEventSourceStateHIDSystemState );
87
+ CGEventRef move = CGEventCreateMouseEvent (source , kCGEventMouseMoved ,
87
88
CGPointFromMMPointInt32 (point ), kCGMouseButtonLeft );
88
89
89
90
calculateDeltas (& move , point );
90
91
91
- CGEventPost (kCGSessionEventTap , move );
92
+ CGEventPost (kCGHIDEventTap , move );
92
93
CFRelease (move );
93
94
#elif defined(USE_X11 )
94
95
Display * display = XGetMainDisplay ();
@@ -103,12 +104,13 @@ void moveMouse(MMPointInt32 point){
103
104
void dragMouse (MMPointInt32 point , const MMMouseButton button ){
104
105
#if defined(IS_MACOSX )
105
106
const CGEventType dragType = MMMouseDragToCGEventType (button );
106
- CGEventRef drag = CGEventCreateMouseEvent (NULL , dragType ,
107
+ CGEventSourceRef source = CGEventSourceCreate (kCGEventSourceStateHIDSystemState );
108
+ CGEventRef drag = CGEventCreateMouseEvent (source , dragType ,
107
109
CGPointFromMMPointInt32 (point ), (CGMouseButton )button );
108
110
109
111
calculateDeltas (& drag , point );
110
112
111
- CGEventPost (kCGSessionEventTap , drag );
113
+ CGEventPost (kCGHIDEventTap , drag );
112
114
CFRelease (drag );
113
115
#else
114
116
moveMouse (point );
@@ -145,9 +147,10 @@ void toggleMouse(bool down, MMMouseButton button) {
145
147
#if defined(IS_MACOSX )
146
148
const CGPoint currentPos = CGPointFromMMPointInt32 (location ());
147
149
const CGEventType mouseType = MMMouseToCGEventType (down , button );
148
- CGEventRef event = CGEventCreateMouseEvent (NULL , mouseType , currentPos , (CGMouseButton )button );
150
+ CGEventSourceRef source = CGEventSourceCreate (kCGEventSourceStateHIDSystemState );
151
+ CGEventRef event = CGEventCreateMouseEvent (source , mouseType , currentPos , (CGMouseButton )button );
149
152
150
- CGEventPost (kCGSessionEventTap , event );
153
+ CGEventPost (kCGHIDEventTap , event );
151
154
CFRelease (event );
152
155
#elif defined(USE_X11 )
153
156
Display * display = XGetMainDisplay ();
0 commit comments