Node.js JavaScript: Simuler la pression de Touche sur le Serveur (Comme une Macro)

Je suis en train d'essayer d'obtenir un node.js script pour simuler une pression sur une touche, comme la flèche haut ou la touche. Plus précisément, je suis en train de faire un clone de Twitch Joue Pokemon. Fondamentalement, chaque fois qu'une commande (haut, bas, gauche, droite, a, b, select, start) est envoyé via IRC, le serveur simule une pression de touche, qui contrôle à son tour un émulateur de gameboy. Jusqu'à présent, j'ai écrit cela avec l'IRC module pour node.js:

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);
});

Exécuter mon script, j'type de nœud scriptName.js dans une invite de commande. Je suis avec Windows 7.

Cela se connecte à la freenode canal #tron, dont je suis l'aide pour des fins de test, comme cela semble être principalement dormant.

Lorsque les entrées de l'utilisateur de l'une des accpted commandes, il envoie un message du genre "NIMAID envoyé la GAUCHE de la commande!", sinon, il envoie "NIMAID, ce n'était pas une commande valide!". Comme il est, il fonctionne parfaitement. Donc, tout ce que j'ai à faire est de trouver un moyen de faire d'une touche et le script final est juste une instruction switch loin.

Le problème, c'est que toutes les références que je peux trouver en cherchant sur internet des pourparlers sur l'utilisation de node.js dans un environnement de navigateur, avec JQuery ou quelque chose de similaire. J'ai besoin d'envoyer des combinaisons de touches à un émulateur.

tldr: j'ai besoin d'envoyer des combinaisons de touches à partir d'un node.js script pour une application en cours d'exécution sur windows 7 serveur de bureau.

Est-il possible de faire cela?

Ce run de l'environnement et de l'émulateur ciblez-vous? En dehors du navigateur monde, la gestion des clés est très plate-forme spécifique.
Comme je l'ai dit, je suis sur un Windows 7 Professionnel 64 ordinateur. J'espère être en mesure de faire quelque chose comme sendkeys pour une fenêtre donnée. De cette façon, il ne serait pas question que l'émulateur, je suis en cours d'exécution, aussi longtemps que la clé de presses à obtenir à la fenêtre. Si il s'agit vraiment de bien, j'plan sur l'utilisation de Visualboy Advance.

OriginalL'auteur Nimaid | 2014-02-18