Node js 捕获键盘按下和鼠标移动(不在 Web 浏览器上)
Node js capture keyboard press and mouse movement (not on Web Browser)
我正在尝试使用节点js制作一个程序,该程序将捕获按键和鼠标移动。不在网络浏览器上。这是我个人项目的一种键盘记录器类型。我尝试了robotjs,但它需要许多依赖项才能运行。有没有简单的方法可以做到这一点.提前致谢
看起来你需要全局键钩。
尝试使用 iohook 模块
'use strict';
const ioHook = require('iohook');
ioHook.on("mousemove", event => {
console.log(event);
// result: {type: 'mousemove',x: 700,y: 400}
});
ioHook.on("keydown", event => {
console.log(event);
// result: {keychar: 'f', keycode: 19, rawcode: 15, type: 'keypress'}
});
//Register and stark hook
ioHook.start();
它是跨平台的本机模块,适用于Windows,Linux,MacOS
您是否尝试过使用按键模块? https://github.com/TooTallNate/keypress
KEY 存储库中的示例:
var keypress = require('keypress');
// use decoration to enable stdin to start sending ya events
keypress(process.stdin);
// listen for the "keypress" event
process.stdin.on('keypress', function (ch, key) {
console.log('got "keypress"', key);
if (key && key.ctrl && key.name == 'c') {
process.stdin.pause();
}
});
process.stdin.setRawMode(true);
process.stdin.resume();
鼠标存储库中的示例: var 按键 = require('按键');
// make `process.stdin` begin emitting "mousepress" (and "keypress") events
keypress(process.stdin);
// you must enable the mouse events before they will begin firing
keypress.enableMouse(process.stdout);
process.stdin.on('mousepress', function (info) {
console.log('got "mousepress" event at %d x %d', info.x, info.y);
});
process.on('exit', function () {
// disable mouse on exit, so that the state
// is back to normal for the terminal
keypress.disableMouse(process.stdout);
});
相关文章:
- XMLHttpRequest在移动设备上的chrome上不起作用
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- YouTube作为弹出窗口在桌面版本上播放,但不在移动设备上播放
- 下拉式父菜单链接在移动设备中不起作用
- 我的响应菜单在移动版中不起作用
- 我发现了一些只在移动设备上可见的垃圾邮件链接,我可以'找不到包含此垃圾邮件链接的脚本的位置
- html视频javascript播放方法在移动Safari中不起作用
- 通过Javascript SDK登录Facebook可以在移动设备和本地主机上使用,但不能在台式机上使用
- HTML 不加载 CSS ,刷新后一切正常.同样在移动设备上,它在首次加载时不起作用
- Google Maps Javascript API v3 地图显示在桌面浏览器上,但不会显示在移动浏览器上
- jQuery .play() 在移动 Safari 上不起作用
- overflow-x:隐藏在移动设备上不起作用
- 如何确保 php 变量在移动到 java 页面时不会消失
- 试图在CSS中以顶部标题居中链接,但不会移动
- jQuery:jQuery.val()在移动Safari和Chrome中不起作用
- 滚动不'在移动浏览器中执行手势操作后无法工作
- 在移动设备领域,空白:nowrap;溢出:隐藏;文本溢出:省略号;有点不起作用
- 第二个ajax请求在移动浏览器上不起作用
- 仅在台式机上加载外部JS,而不在移动设备上加载
- 用户事件后,Soundcloud自定义播放器不在移动safari上播放