Logitech G HUB Lua自动点击器脚本触发逻辑异常求助
修正后的Logitech G HUB自动点击脚本
你的问题核心是两点:一是未校验鼠标左键(Button 1)的按住状态,二是事件处理逻辑未结合按键按下/释放的触发时机,导致右键一按下就启动自动点击,完全忽略了左键的需求条件。
以下是符合需求的代码:
EnablePrimaryMouseButtonEvents(true) local auto_click_running = false -- 控制自动点击的开关变量 function OnEvent(event, arg) -- 仅在左键按下时,检查启动条件 if event == "MOUSE_BUTTON_PRESSED" and arg == 1 then if IsKeyLockOn("capslock") and IsMouseButtonPressed(3) then auto_click_running = true AutoClickLoop() end -- 释放左键/右键,或关闭Caps Lock时,停止自动点击 elseif (event == "MOUSE_BUTTON_RELEASED" and (arg == 1 or arg == 3)) or not IsKeyLockOn("capslock") then auto_click_running = false end end function AutoClickLoop() -- 循环中持续校验所有启动条件,任意条件不满足则停止 while auto_click_running and IsMouseButtonPressed(1) and IsMouseButtonPressed(3) and IsKeyLockOn("capslock") do PressMouseButton(1) Sleep(130) ReleaseMouseButton(1) Sleep(10) -- 预留系统响应时间,避免资源占用过高 end auto_click_running = false end
关键修改说明:
- 新增
auto_click_running变量,防止重复触发自动点击循环 - 仅在左键按下事件触发时,检查Caps Lock和右键的状态,满足所有条件才启动循环
- 循环内部持续验证所有需求条件,只要有一个不满足(比如松开左键/右键、关闭Caps Lock),立即停止自动点击
- 通过事件监听释放动作,确保自动点击能及时终止
内容的提问来源于stack exchange,提问作者Grandy
相关产品推荐
相关产品推荐

