Robot.js 非同步点击按键
Robot.js tap key non-synchronously
我正在使用程序包 robot.js,我的程序需要 运行 大量按键命令(通常每秒超过 50 个)。
到目前为止它有点像这样:
...for in elements
setTimeout(() => {
console.log(element.deltaTime) // Logs the time that the key should be pressed at (in ms)
if(shifted(element.key)){
robot.keyTap(element.key,"shift")
}else{
robot.keyTap(element.key)
}
}, element.deltaTime);
这不是这里的确切程序,因为解释起来会花费太长时间,但它解决了大部分问题。基本上,我试图在短时间内 运行 多次按键。
这里的问题是 robot.js 花时间敲击键,并延迟其他键的执行直到完成,结果非常慢。注释掉 robot.keyTap() 函数 运行 程序会快得多,但你知道,不会敲击按键。
感谢任何帮助,我真的很想让它快速运行。
根据 this github issue,此问题在 Windows 系统上出现 - 调用 .keyTap
可能导致数十或数百毫秒的阻塞延迟。
虽然修复已合并到主仓库中,但 NPM 版本尚未更新和发布,因此使用 RobotJS 的人暂时仍会遇到它 - 除非他们通过 [=21= 手动安装修复版本]:
npm install git+https://github.com/octalmage/robotjs.git
希望以上不会无限期地需要,最终会发布一个新版本,允许一个简单的npm install robotjs
在未来解决这个问题。
我正在使用程序包 robot.js,我的程序需要 运行 大量按键命令(通常每秒超过 50 个)。
到目前为止它有点像这样:
...for in elements
setTimeout(() => {
console.log(element.deltaTime) // Logs the time that the key should be pressed at (in ms)
if(shifted(element.key)){
robot.keyTap(element.key,"shift")
}else{
robot.keyTap(element.key)
}
}, element.deltaTime);
这不是这里的确切程序,因为解释起来会花费太长时间,但它解决了大部分问题。基本上,我试图在短时间内 运行 多次按键。
这里的问题是 robot.js 花时间敲击键,并延迟其他键的执行直到完成,结果非常慢。注释掉 robot.keyTap() 函数 运行 程序会快得多,但你知道,不会敲击按键。
感谢任何帮助,我真的很想让它快速运行。
根据 this github issue,此问题在 Windows 系统上出现 - 调用 .keyTap
可能导致数十或数百毫秒的阻塞延迟。
虽然修复已合并到主仓库中,但 NPM 版本尚未更新和发布,因此使用 RobotJS 的人暂时仍会遇到它 - 除非他们通过 [=21= 手动安装修复版本]:
npm install git+https://github.com/octalmage/robotjs.git
希望以上不会无限期地需要,最终会发布一个新版本,允许一个简单的npm install robotjs
在未来解决这个问题。