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:
您可以使用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();