nodejs的robotjs自动化,游戏中键盘输入存在bug问题

键盘输入问题

在游戏中 ,例如LOL ,键盘输入后

 robot.keyToggle("F", 'down');
 
 setTimeout(() => {
   robot.keyToggle("F", 'up');
 }, 100)

似乎只有第一次生效 , 后续就好像F键被按下 ,无法弹起。

解决

在node_models/robotjs/src中找到keypress.c
注释掉第一百行

/* Set the scan code for keyup */

// if ( flags & KEYEVENTF_KEYUP ) {

//  scan |= 0x80;

// }

执行命令

node "C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npminstall\node-gyp-bin\\node-gyp.js" rebuild

或者
node-gyp rebuild
进行重新编译
build目录会被重新打包 ,
再启动你的入口文件 ,进入游戏测试 ,发现键盘输入就好了

你可能感兴趣的:(javascript,node.js,robot,自动化,桌面应用)