Logitech Lua脚本待机后失效,循环无法触发求助
Logitech鼠标脚本待机后循环失效问题解决
你的问题核心是电脑待机恢复后,IsMouseButtonPressed()的状态查询可能出现异常,导致脚本无法正确识别右键按下状态,进而无法进入循环。以下是修复方案:
修复后的脚本
function OnEvent(event, arg) OutputLogMessage("Event: "..event.." Arg:"..arg.."\n") -- 依赖鼠标按下事件触发主循环,而非单次状态查询 if event == "MOUSE_BUTTON_PRESSED" and arg == 2 then repeat if IsMouseButtonPressed(1) then repeat MoveMouseRelative(1, -1) Sleep(8) until not IsMouseButtonPressed(1) end -- 短延迟确保系统有机会更新按钮状态,同时降低资源占用 Sleep(10) until not IsMouseButtonPressed(2) end end
修复逻辑说明
- 改用事件触发启动循环:直接响应
MOUSE_BUTTON_PRESSED事件(arg=2对应右键),避免依赖待机后可能失效的即时状态查询,确保右键按下的动作能准确触发循环。 - 增加循环内延迟:主循环内的
Sleep(10)让系统有时间更新鼠标按钮状态的检测结果,同时避免脚本持续占用过高CPU资源。
内容的提问来源于stack exchange,提问作者samuele Codato
相关产品推荐
相关产品推荐

