You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logitech Lua脚本需求:实现随机Alt+Tab及修复停止功能报错

解决方案

修复后的完整脚本

EnablePrimaryMouseButtonEvents(true)

-- 标记是否已完成首次点击后的窗口切换
local has_switched_windows = false

function OnEvent(event, arg)
    -- CapsLock未开启时直接退出
    if not IsKeyLockOn("capslock") then
        return
    end

    -- 鼠标5键启动自动点击循环
    if event == "MOUSE_BUTTON_PRESSED" and arg == 5 then
        has_switched_windows = false
        repeat
            -- 模拟真实右键点击(按住后释放)
            PressMouseButton(3)
            Sleep(math.random(50, 200))
            ReleaseMouseButton(3)

            -- 首次点击后执行窗口切换流程
            if not has_switched_windows then
                -- 随机延迟后切换到其他窗口
                Sleep(math.random(1000, 3000))
                PressKey("alt")
                PressKey("tab")
                Sleep(math.random(100, 300))
                ReleaseKey("tab")
                ReleaseKey("alt")

                -- 随机停留后切回原窗口
                Sleep(math.random(5000, 15000))
                PressKey("alt")
                PressKey("tab")
                Sleep(math.random(100, 300))
                ReleaseKey("tab")
                ReleaseKey("alt")

                has_switched_windows = true
            end

            -- 拆分长睡眠为小段,实时检测停止指令
            local total_sleep = math.random(2000, 940000)
            local slept = 0
            while slept < total_sleep do
                local step = math.min(200, total_sleep - slept)
                Sleep(step)
                slept = slept + step
                -- 检测到鼠标4键按下则退出循环
                if IsMouseButtonPressed(4) then
                    goto stop_loop
                end
            end

            ::stop_loop::
        until IsMouseButtonPressed(4)
    end
end

关键改动说明

  • 修复鼠标4键停止失效问题:将原脚本的长时长Sleep拆分为200ms的小段,每段睡眠后立即检查鼠标4键状态,确保能及时响应停止指令,不会因长时间睡眠导致无法触发停止。
  • 添加随机窗口切换功能:
    • 通过全局变量has_switched_windows控制切换流程仅在首次点击后执行一次,避免重复切换。
    • 模拟Alt+Tab按键时添加短延迟,保证系统能正确识别按键序列,防止切换失败。
    • 切换后随机停留5-15秒再切回原窗口,符合随机化需求。
  • 优化点击行为:右键点击时增加50-200ms的按住时长,更贴近真实用户的操作逻辑。

使用步骤

  1. 开启CapsLock键激活脚本功能;
  2. 按下鼠标5键(前侧键)启动自动点击,首次点击后会自动执行窗口切换流程;
  3. 按下鼠标4键(后侧键)可立即停止脚本运行。

内容的提问来源于stack exchange,提问作者Devin Gottlieb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 02:46:19