2013-03-05 4 views
7

Я искал модуль родной nodejs, который поддерживает клавиатуры и мыши прослушивание и исполнениеNodeJS родной мыши и клавиатуры привязок

я нашел это .. https://npmjs.org/package/mouse но исходный код выглядит как он поддерживает только браузеры.

+0

Вы хотите захватить мышь и события нажатия клавиш в терминале? –

+0

хорошо, если вы говорите, что слушаете движение мыши в nodejs, а затем выполняете 'console.log (mouse.x, mouse.y);' then yes – bmatusiak

+0

Вы когда-нибудь находили ответ на этот вопрос? –

ответ

3

Вы можете обернуть Robot Class, предоставленный Java, для решения с кросс-платформой, используя модуль node-java.

Рабочий пример:

var java = require('java'); 

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

robot.mouseMoveSync(0, 0); 
+0

Вы когда-нибудь испытывали это, чтобы заставить его работать? На OSX Просто попробовал, он запускает значок Java в доке, но потом ничего не делает, никаких идей? – Owen

+0

Я тестировал его на Arch Linux с использованием java-версии 1.7 (Oracle Java), node.js версии 0.10.25 и версии node-java версии 0.3.0. –

+0

@OwenMelbourne Я не работаю над проектом node-java. Вы можете попробовать написать простую Java-программу самостоятельно, чтобы сделать то же самое и посмотреть, работает ли это. Если это так, вы можете [открыть новую проблему] (https://github.com/joeferner/node-java/issues) на своей странице проекта с помощью кода, который вы использовали (как Java & Node.js), так и операционной системы , номера версий и т. д. и посмотреть, могут ли они помочь вам дальше. –

10

Я работаю над модулем для отправки событий мыши и клавиатуры, 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

1

Посмотрите на https://github.com/Loknar/node-macmouse

$ НПМ установить 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(); 
1

Пробный 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(); 
Смежные вопросы