Robotjs错误:指定的密钥代码无效
Robotjs error: Invalid key code specified
我在index.js 中有以下代码
var settingsFile = "config.json";
var settings = JSON.parse(require("fs").readFileSync(settingsFile));
const net = require('net');
const robot = require("robotjs");
const fs = require("fs");
var client;
var customKeys = {
"scroll_up":'robot.scrollMouse(50, "up");',
"scroll_down":"robot.scrollMouse(50,'down');"
}
function startCommunication(address,port) {
client = net.connect({port: port,host:address}, () => {
// 'connect' listener
console.log('connected to server!');
//client.write('world!'r'n');
});
client.on('data', (data) => {
console.log(data.toString());
var string = data.toString();
console.log(settings.keys[string.substr(1)]);
if(string.substr(0,1) == "d") {
robot.keyToggle(settings.keys[string.substr(1)],"down");
} else {
robot.keyToggle(settings.keys[string.substr(1)],"up");
}
//client.end();
});
client.on('end', () => {
console.log('disconnected from server');
});
}
startCommunication(settings.address,settings.port);
我在config.json中也有这段代码,也就是解析到设置变量中的代码。
{
"port":5555,
"address":"192.168.1.118",
"keys":{
"KEY_A":"a",
"KEY_B":"b",
"KEY_X":"x",
"KEY_Y":"y",
"KEY_L":"y",
"KEY_R":"t",
"KEY_DUP":"up",
"KEY_DDOWN":"down",
"KEY_DLEFT":"left",
"KEY_DRIGHT":"right",
"KEY_START":"z",
"KEY_SELECT":"q"
}
}
问题是,当我进入robotjs.togglekeys语句时,我会得到错误
Error: Invalid key code specified.
这意味着,正如错误明确指出的那样,它得到了一个无效的键代码。我猜这是我犯的一个愚蠢的错误。我的测试中的数据等于"dKEY_DRIGHT"。变量字符串等于这个值,但我需要去掉d才能使其工作。当我做实时控制台时,我可以通过使用相同的代码来获得我需要的数据,但当它在文件中运行时,会出现一些问题。任何帮助:)
旧问题,但可能其他人正在寻找像我这样的解决方案…
如果你没有按下任何修饰符,你应该传递字符串"作为修饰符;没有";。我正在传递一个空字符串,这导致了同样的问题。这至少对我有效,尽管它是一个可选参数。
https://robotjs.io/docs/syntax#keytogglekey-下调
robot.keyToggle(settings.keys[string.substr(1)],"down","none");
您可以尝试使用节点密钥发送器将按键发送到操作系统。
用npm install --save-dev node-key-sender
安装。
并使用向键盘发送一个键
var ks = require('node-key-sender');
ks.sendKey('up');
config的所有值('a','b',…)都被lib接受。你可以直接发送。
有关详细信息,请查看文档页面:https://www.npmjs.com/package/node-key-sender.
相关文章:
- Windows密钥的密钥代码
- 可以'无法获得正确的密钥代码
- 如何以正确的方式将密钥添加到此反应代码中
- Chrome 显示未定义密钥代码
- 获取密钥代码值 - JavaScript
- 从字符串中获取密钥代码/密钥
- 跨浏览器获取密钥代码
- 粘贴IE返回的密钥代码
- Javascript document.addEventListener仅适用于1个密钥代码
- 在Chrome浏览器中获取Tab键的密钥代码的问题
- Javascript和密钥代码,防止文本框中出现特殊字符
- 协调Firefox斜杠处理和密钥代码
- 在 Android 版 Chrome 中,密钥代码始终为零
- 解析主密钥云代码以下用户
- 使用JavaScript访问浏览器's密钥库中的签名/加密—示例代码?(WebCryptoAPI)
- 浏览器密钥代码列表
- 如何在将密钥传递给javascript代码时保护密钥
- 解析云代码功能不能使用主密钥,它没有被提供
- JavaScript密钥代码
- Robotjs错误:指定的密钥代码无效