我想獲得一個node.js腳本來模擬按鍵,如向上的箭頭或一個按鈕。具體而言,我試圖做一個克隆Twitch Plays Pokemon。基本上,只要通過IRC發送一條命令(上,下,左,右,a,b,select,start),服務器就會模擬一個按鍵,然後控制一個gameboy模擬器。到目前爲止,我寫了這個與IRC模塊的node.js:Node.js JavaScript:仿真服務器上的按鍵(像宏)
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.js到命令提示符。我使用Windows 7
此連接到freenode的通道#tron,我現在用的用於測試目的,因爲它似乎主要是處於休眠狀態。
當用戶輸入其中一個已命令的命令時,它會發送一條消息,如「NIMAID發送了LEFT命令!」,否則會發送「NIMAID,這不是有效的命令!」。事實上,它完美無瑕。所以我需要做的就是找到一個發送按鍵的方法,最後的腳本只是一個switch語句。
麻煩的是,我可以通過搜索互聯網找到任何參考資料,講述如何在瀏覽器環境中使用node.js,使用JQuery或類似的東西。我需要將按鍵發送到模擬器。
tldr:我需要將按鍵從node.js腳本發送到在Windows 7服務器桌面上運行的應用程序。
有沒有辦法做到這一點?
你定位的是什麼運行環境和模擬器?在瀏覽器世界之外,密鑰處理是*非常*平臺特定的。 –
正如我所說的,我正在使用Windows 7 Professional 64計算機。我希望能夠做一些像sendkey一樣的特定窗口。這樣,只要按鍵到達窗口,我所運行的模擬器就無關緊要。如果它真的歸結於它,我打算使用Visualboy Advance。 – Nimaid