Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

46 Commits

Repository files navigation

macmouse

NPM

A node.js module that enables you to create virtual mouse input on Mac OS X.

Credits

Uses NodObjC to hook into the Cocoa framework. The macmouse module is merely a wrapper around mouse control commands to the Cocoa framework via NodObjC.

Installation

Install using npm,

$ npm install macmouse

Usage Example

varmouse=require('macmouse');mouse.init();varptX=800;varptY=600;varcounter=0;vardoThings=function(){mouse.Place(ptX,ptY);setTimeout(pressAndHold,250);}varpressAndHold=function(){mouse.LeftButtonPress();setTimeout(doDragStuff,250);}vardoDragStuff=function(){ptX+=2;ptY+=2;mouse.DragPlace(ptX,ptY);if(counter<15){counter+=1;setTimeout(doDragStuff,250);}else{mouse.LeftButtonRelease();}}doThings();mouse.quit();

List of functions

And a small description for each function.

// Desc: Imports the macmouse module as mouse// Before: nothing// After: mouse is an uninitialized macmousevarmouse=require('macmouse');

init

// Desc: Initializes the macmouse module// Before: mouse is an uninitialized macmouse// After: mouse is an initialized macmousemouse.init();

getRealPos

// Desc: Sends request for real mouse position, more expensive than getPos// Before: mouse is an initialized macmouse// After: pos holds x and y numbers representing the system mouse positionvarpos=mouse.getRealPos();varx=pos.x;vary=pos.y;

getPos

// Desc: Returns mouse position currently stored in the mouse module// Before: mouse is an initialized macmouse// After: pos holds x and y numbers representing the system mouse position currently stored in the// mouse modulevarpos=mouse.getPos();varx=pos.x;vary=pos.y;

Place

// Desc: Sends mouse event message to place the system mouse at a specific position// Before: mouse is an initialized macmouse, x and y are numbers representing a specific position// After: mouse event has been sent to move the system mouse to position defined by x and ymouse.Place(x,y);

DragPlace

// Desc: Sends mouse event message to place the system mouse at a specific position while in a // dragging state// Before: mouse is an initialized macmouse, x and y are numbers representing a specific position, the // system mouse currently has (or thinks it has) the left mouse button pressed// After: mouse event has been sent to move the system mouse to position defined by x and y with left // mouse button pressedmouse.DragPlace(x,y);

Move

// Desc: Sends mouse event message to move the system mouse (from current stored position in the mouse // module) by a vector defined by dx and dy// Before: mouse is an initialized macmouse, dx and dy are numbers representing our moving vector // After: mouse event has been sent to move the system mouse by a vector defined by the numbers dx and dymouse.Move(dx,dy);

DragMove

// Desc: Sends mouse event message to move the system mouse (from current stored position in the mouse // module) by a vector defined by dx and dy while in a dragging state// Before: mouse is an initialized macmouse, dx and dy are numbers representing our moving vector, the // system mouse currently has (or thinks it has) the left mouse button pressed// After: mouse event has been sent to move the system mouse by a vector defined by the numbers dx and dy // with left mouse button pressedmouse.DragMove(dx,dy);

LeftButtonPress

// Desc: Sends mouse event message to press and hold down the left button of the system mouse// Before: mouse is an initialized macmouse// After: mouse event has been sent to press and hold the left button on the system mousemouse.LeftButtonPress();

LeftButtonRelease

// Desc: Sends mouse event message to release a pressed left button of the system mouse// Before: mouse is an initialized macmouse// After: mouse event has been sent to release a pressed left button on the system mousemouse.LeftButtonRelease();

Click

// Desc: Sends mouse event message to press and release left button of the system mouse// Before: mouse is an initialized macmouse// After: mouse event has been sent to press and release left button on the system mousemouse.Click();

RightButtonPress

// Desc: Sends mouse event message to press and hold down the right button of the system mouse// Before: mouse is an initialized macmouse// After: mouse event has been sent to press and hold the right button on the system mousemouse.RightButtonPress();

RightButtonRelease

// Desc: Sends mouse event message to release a pressed right button of the system mouse// Before: mouse is an initialized macmouse// After: mouse event has been sent to release a pressed right button on the system mousemouse.RightButtonRelease();

RightClick

// Desc: Sends mouse event message to press and release right button of the system mouse// Before: mouse is an initialized macmouse// After: mouse event has been sent to press and release right button on the system mousemouse.RightClick();

DoubleClick

// Desc: Sends mouse event message to double click the system mouse// Before: mouse is an initialized macmouse// After: mouse event has been sent to double click the system mousemouse.DoubleClick();

Scroll

// Desc: Sends mouse scroll event message// Before: mouse is an initialized macmouse, vertical and horizontal// are 'small signed integer values, typically in a range from -10 to +10',// in reality they can be any integer from -32768 to 32767,// if horizontal isn't provided it defaults to 0// After: scroll event has been sent to scroll by a vector defined by the// vertical and horizontal integersmouse.Scroll(vertical);mouse.Scroll(vertical,horizontal);

quit

// Desc: Does garbage collection on some objective c stuff, be a good lad and call this when // you're done using the macmouse module// Before: mouse is an initialized macmouse// After: mouse is an uninitialized macmousemouse.quit();

License

(MIT License)

About

Enables you to simulate mouse input on Mac OS X using Cocoa bindings via NodObjC.

Resources

Stars

32 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages