Я искал собственный модуль nodejs, который поддерживает прослушивание и выполнение мыши и клавиатуры
я нашел это. https://npmjs.org/package/mouse но исходный код выглядит так, как будто он поддерживает только браузеры.
Я искал собственный модуль 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:
Попробуйте 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();
Вы можете обернуть Robot Class
, предоставленный Java для кросс-платформенного решения, используя node-java
.
Рабочий пример:
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
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();
Вы можете попробовать mouse3vents. Это небольшой аддон c++, который очень прост в использовании.
https://www.npmjs.com/package/mouse3vents
Я реализовал это и на самом деле работает только на Windows, но я сделаю его портативным и с большим количеством функций как можно скорее.