Node.js JavaScript:在服务器上模拟按键(像macros一样)
我想获得一个node.js脚本来模拟按键,如向上的箭头或一个button。 具体来说,我试图做一个克隆Twitch玩口袋妖怪 。 基本上,每当一个命令(上,下,左,右,a,b,select,开始)通过IRC发送,服务器模拟按键,反过来控制一个gameboy模拟器。 到目前为止,我已经为node.js写了这个IRC模块:
var config = { channels: ["#tron"], server: "irc.freenode.net", botName: "wyatt" }; var irc = require("irc"); var bot = new irc.Client(config.server, config.botName, { channels: config.channels }); var commandHandler = function(from, text) { if(text.toLowerCase() === "up"||text.toLowerCase() === "down"||text.toLowerCase() === "left"||text.toLowerCase() === "right"||text.toLowerCase() === "a"||text.toLowerCase() === "b"||text.toLowerCase() === "select"||text.toLowerCase() === "start") { bot.say(config.channels[0], from.toUpperCase() + " sent the " + text.toUpperCase() + " command!"); } else { bot.say(config.channels[0], from.toUpperCase() + ", that wasn't a valid command!"); } }; bot.addListener("message", function(from, to, text, message) { commandHandler(from, text); });
为了运行我的脚本,我将节点scriptName.jsinput到命令提示符中。 我正在使用Windows 7。
这连接到我用于testing目的的ftronode通道#tron ,因为它似乎主要处于hibernate状态。
当用户input其中一个命令时,它会发送一条消息,比如“NIMAID发送了LEFT命令!”,否则会发送“NIMAID,这不是一个有效的命令!”。 事实上,它的工作完美无瑕。 所以我需要做的就是find一个发送按键的方法,最后的脚本只是一个switch语句。
麻烦的是,我可以通过search互联网find的任何引用谈到在浏览器环境中使用node.js,使用JQuery或类似的东西。 我需要发送按键到模拟器。
tldr:我需要将一个node.js脚本的按键发送到在Windows 7服务器桌面上运行的应用程序。
有没有办法做到这一点?
我一直在研究一个跨平台的Node.js模块,这个模块很棒! 到目前为止,您可以发送击键,键入string,移动鼠标并单击,并获取像素的颜色。
对于Windows – 我使用节点的执行function来运行一个python脚本,调用pywin32的键盘事件。 对于Linux,你可以使用xdotool。
这是我调用它的文件。 我也为节目使用节点 。
我也做了一个节点模块: https : //github.com/kylepaulsen/kbm-robot
var robot = require("kbm-robot"); robot.startJar(); robot.press("alt") .press("tab") .sleep(100) .release("tab") .release("alt") .sleep(100) .typeString("Hello World!") .go() .then(robot.stopJar);
显然,在npmregistry中有一个win_keyboard模块,有人写信来控制Windows中的键盘。 你可以运行npm install win_keyboard
并使用它; 它似乎正是你想要的。
您可以尝试RobotJS的替代scheme。 这是一个非常小的,仍然是跨平台库发送密钥到您的操作系统称为节点密钥发件人。 RobotJS和kbm-robot感到沮丧后,我开发了。
用npm install --save-dev node-key-sender
安装它。
并发送一个文本到键盘使用:
var ks = require('node-key-sender'); ks.sendText('This is my text');
查看文档页面: https : //www.npmjs.com/package/node-key-sender 。
- TypeError:对象函数(req,res,next){app.handle(req,res,next); }没有方法“configuration”
- 我如何发送一个string旁边的错误代码与快递?