2017-04-10 217 views
0

我想知道如何通过nodejs上的代码按下键盘上的某个键。如何使用nodejs按键?

举例来说,我想按下F3键一次,下面的页面呈现:

var express = require('express'); 
var router = express.Router(); 


/* GET home page. */ 
router.get('/', function(req, res, next) { 
    // press key 
}); 

module.exports = router; 
+0

[nodejs如何从标准输入读取按键]可能的副本(http://stackoverflow.com/questions/5006821/nodejs-how-to-read-keystrips-from-stdin) – Jer

+0

请看一下http:///stackoverflow.com/a/17473563/7707749,它可能是您搜索的内容。 –

+0

我不认为这是可能的。当然不是你正在演示的服务器端代码。虽然我还没有完成这项研究,但我无法想象浏览器JS的沙盒也会允许这种直接的硬件仿真。你为什么需要F3命中?你期望发生什么?你是否假设所有的电脑F3按钮都做同样的事情? – Paul

回答

0

看看robotjs,它可以被用来生成键盘事件。

例如,要“送”的F3按键:

const robot = require('robotjs'); 
... 
router.get('/', function(req, res, next) { 
    robot.keyTap('f3'); 
    res.end(); 
}); 

虽然这取决于你使用的操作系统,如果这正在按计划进行工作。

+0

这就是我一直在寻找 – John

1

无法从服务器端。 您可以在页面中包含一个可触发事件的JavaScript脚本。 如果您使用的是jQuery。

var ev = jQuery.Event("keypress"); 
ev.ctrlKey = false; 
ev.which = 37; 
$("container").trigger(ev); 

Is it possible to trigger a keyboard button with JavaScript?

+0

谢谢我已添加$('#close-btn')。click(function(){ var ev = jQuery.Event(“keypress”); ev.ctrlKey = false; ev.which = 37; $(“container”)。trigger(ev); });对于以下按钮\t John

+0

但它似乎不点击按钮时工作(f3关闭应用程序) – John

+0

如果您的意图是用于任何硬件仿真,那么这是不可能的。 这只会触发任何事件处理程序 –