Mouse tracking for OS X. Receive the screen position of various mouse events. The events are also emitted while another application is in the foreground.
Versions of this library prior to version 2.0.0 also run with Node.js version 9 and below. Version 2.0.0 and above are context-aware.
npm install osx-mouse
The module returns an event emitter instance.
var mouse = require('osx-mouse')()
mouse.on('move', function(x, y) {
console.log(x, y)
})
The program will not terminate as long as a mouse listener is active. To allow the program to exit, either call mouse.unref
(works as unref
/ref
on a TCP server) or mouse.destroy()
.
The events emitted are: move
, left-down
, left-up
, left-drag
, right-up
, right-down
, right-drag
, middle-up
, middle-down
and middle-drag
. For each event the screen coordinates are passed to the handler function.
From macOS Mojave and forward this library requires input capturing permissions which need to be granted manually.
E.g. in macOS Catalina when running from Terminal:
- Open
System Preferences > Security & Privacy > Input Monitoring
- Add Terminal to the list