NodeJS本地鼠标和键盘绑定

我一直在寻找一个支持鼠标和键盘监听和执行的本地nodejs模块

我发现这.. https://npmjs.org/package/mouse但源代码看起来像只支持浏览器。

我一直在开发一个发送鼠标和键盘事件的模块RobotJS 。

示例代码:

 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(); 

然后听我使用nw.js:

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

您可以使用node-java模块将Java提供的Robot Class包装为跨平台解决scheme。

工作示例:

 var java = require('java'); var Robot = java.import('java.awt.Robot'); var robot = new Robot(); robot.mouseMoveSync(0, 0); 

看看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(); 

尝试iohook模块。
它支持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();