@@ -118,6 +118,7 @@ void moveMouse(MMPoint point)
118118 mouseInput .mi .dwExtraInfo = 0 ;
119119 mouseInput .mi .mouseData = 0 ;
120120 SendInput (1 , & mouseInput , sizeof (mouseInput ));
121+
121122#endif
122123}
123124
@@ -185,15 +186,7 @@ void toggleMouse(bool down, MMMouseButton button)
185186 XTestFakeButtonEvent (display , button , down ? True : False , CurrentTime );
186187 XSync (display , false);
187188#elif defined(IS_WINDOWS )
188- INPUT mouseInput ;
189- mouseInput .type = INPUT_MOUSE ;
190- mouseInput .mi .dx = 0 ;
191- mouseInput .mi .dy = 0 ;
192- mouseInput .mi .dwFlags = MMMouseToMEventF (down , button );
193- mouseInput .mi .time = 0 ; //System will provide the timestamp
194- mouseInput .mi .dwExtraInfo = 0 ;
195- mouseInput .mi .mouseData = 0 ;
196- SendInput (1 , & mouseInput , sizeof (mouseInput ));
189+ mouse_event (MMMouseToMEventF (down , button ), 0 , 0 , 0 , 0 );
197190#endif
198191}
199192
@@ -244,7 +237,8 @@ void scrollMouse(int x, int y)
244237#if defined(IS_WINDOWS )
245238 // Fix for #97 https://github.com/octalmage/robotjs/issues/97,
246239 // C89 needs variables declared on top of functions (mouseScrollInput)
247- INPUT mouseScrollInputs [2 ];
240+ INPUT mouseScrollInputH ;
241+ INPUT mouseScrollInputV ;
248242#endif
249243
250244 /* Direction should only be considered based on the scrollDirection. This
@@ -300,24 +294,25 @@ void scrollMouse(int x, int y)
300294
301295#elif defined(IS_WINDOWS )
302296
303- mouseScrollInputs [ 0 ] .type = INPUT_MOUSE ;
304- mouseScrollInputs [ 0 ] .mi .dx = 0 ;
305- mouseScrollInputs [ 0 ] .mi .dy = 0 ;
306- mouseScrollInputs [ 0 ] .mi .dwFlags = MOUSEEVENTF_HWHEEL ;
307- mouseScrollInputs [ 0 ] .mi .time = 0 ;
308- mouseScrollInputs [ 0 ] .mi .dwExtraInfo = 0 ;
297+ mouseScrollInputH .type = INPUT_MOUSE ;
298+ mouseScrollInputH .mi .dx = 0 ;
299+ mouseScrollInputH .mi .dy = 0 ;
300+ mouseScrollInputH .mi .dwFlags = MOUSEEVENTF_HWHEEL ;
301+ mouseScrollInputH .mi .time = 0 ;
302+ mouseScrollInputH .mi .dwExtraInfo = 0 ;
309303 // Flip x to match other platforms.
310- mouseScrollInputs [0 ].mi .mouseData = - x ;
311-
312- mouseScrollInputs [1 ].type = INPUT_MOUSE ;
313- mouseScrollInputs [1 ].mi .dx = 0 ;
314- mouseScrollInputs [1 ].mi .dy = 0 ;
315- mouseScrollInputs [1 ].mi .dwFlags = MOUSEEVENTF_WHEEL ;
316- mouseScrollInputs [1 ].mi .time = 0 ;
317- mouseScrollInputs [1 ].mi .dwExtraInfo = 0 ;
318- mouseScrollInputs [1 ].mi .mouseData = y ;
319-
320- SendInput (2 , mouseScrollInputs , sizeof (mouseScrollInputs ));
304+ mouseScrollInputH .mi .mouseData = - x ;
305+
306+ mouseScrollInputV .type = INPUT_MOUSE ;
307+ mouseScrollInputV .mi .dx = 0 ;
308+ mouseScrollInputV .mi .dy = 0 ;
309+ mouseScrollInputV .mi .dwFlags = MOUSEEVENTF_WHEEL ;
310+ mouseScrollInputV .mi .time = 0 ;
311+ mouseScrollInputV .mi .dwExtraInfo = 0 ;
312+ mouseScrollInputV .mi .mouseData = y ;
313+
314+ SendInput (1 , & mouseScrollInputH , sizeof (mouseScrollInputH ));
315+ SendInput (1 , & mouseScrollInputV , sizeof (mouseScrollInputV ));
321316#endif
322317}
323318
0 commit comments