NodeJS native mouse and keyboard bindings

2019-02-02 16:55发布

I've been looking for a native nodejs module that supports mouse and keyboard listening and execution

i found this.. https://npmjs.org/package/mouse but the source code looks like it only supports the browsers.

4条回答
啃猪蹄的小仙女
2楼-- · 2019-02-02 17:15

Try iohook module.
It support Windows/Linux/MacOS

'use strict';
const ioHook = require('iohook');

ioHook.on("mousemove", event => {
   console.log(event);
   /* You get object like this
   {
      type: 'mousemove',
      x: 700,
      y: 400
    }
   */
});
// For keyboard hook
ioHook.on("keydown", event => { .... });
ioHook.on("keyup", event => { .... });

//Register and start hook 
ioHook.start();
查看更多
来,给爷笑一个
3楼-- · 2019-02-02 17:20

You can wrap the Robot Class provided by Java for a cross platform solution using the node-java module.

Working example:

var java = require('java');

var Robot = java.import('java.awt.Robot');
var robot = new Robot();

robot.mouseMoveSync(0, 0);
查看更多
走好不送
4楼-- · 2019-02-02 17:25

Take a look at https://github.com/Loknar/node-macmouse

$ npm install macmouse

example.js

var mouse = require('macmouse');

mouse.init();

var ptX = 800;
var ptY = 600;

var doThings = function() {
    mouse.Place(ptX, ptY);
    setTimeout(pressAndHold, 250);
}

var pressAndHold = function() {
    mouse.LeftButtonPress();
    setTimeout(doDragStuff, 250);
}

var doDragStuff = function() {
    ptX += 2;
    ptY += 2;
    mouse.DragPlace(ptX, ptY);
    setTimeout(doDragStuff, 250);
}

doThings();

mouse.quit();
查看更多
一夜七次
5楼-- · 2019-02-02 17:32

I've been working on a module for sending mouse and keyboard events, RobotJS.

Example code:

var robot = require("robotjs");

//Get the mouse position, retuns an object with x and y. 
var mouse=robot.getMousePos();
console.log("Mouse is at x:" + mouse.x + " y:" + mouse.y);

//Move the mouse down by 100 pixels.
robot.moveMouse(mouse.x,mouse.y+100);

//Left click!
robot.mouseClick();

Then for listening I use nw.js:

https://github.com/nwjs/nw.js/wiki/Shortcut

查看更多
登录 后发表回答