【问题标题】:How to make this Logitech Mouse LUA script work better?如何让这个罗技鼠标 LUA 脚本更好地工作?
【发布时间】:2020-08-31 06:21:39
【问题描述】:

我想在 LUA 中为罗技鼠标制作一个简单的宏。 我完全是新手,我只是从几个来源粘贴了几行。


    EnablePrimaryMouseButtonEvents(true);

    function OnEvent(event, arg)
 if IsKeyLockOn("numlock" )then
    if IsMouseButtonPressed(3)then
                            repeat  
                if IsMouseButtonPressed(1) then
     repeat
                              PressKey("P")
                                                     MoveMouseRelative(0,13)
                    Sleep(10)
                                                      MoveMouseRelative(0,13)
                                Sleep(10)
                                                      MoveMouseRelative(0,13)
                                Sleep(10)
                                                      MoveMouseRelative(0,13)
                                Sleep(10)
                    MoveMouseRelative(0,13)
                                Sleep(10)
                                    ReleaseKey("P")

                    Sleep(200)
                                until not IsMouseButtonPressed(1)
                end 
            until not IsMouseButtonPressed(3)

        elseif not IsMouseButtonPressed(3)then
                            repeat  
                if IsMouseButtonPressed(1) then
            repeat
                              PressKey("P")
                                                     MoveMouseRelative(0,15)
                                Sleep(30)
                                                     MoveMouseRelative(0,12)
                                Sleep(10)
                                                     MoveMouseRelative(0,12)
                                Sleep(10)
                                                    MoveMouseRelative(0,12)
                                Sleep(10)
                                                    MoveMouseRelative(0,12)
                                     Sleep(130)
                                    ReleaseKey("P")
                    Sleep(200)
                                until not IsMouseButtonPressed(1)
                end 
            until  IsMouseButtonPressed(3)
        end
end
end

首先,它看起来像一团糟,但有点工作,对不起,我完全是新手。 现在我遇到的问题是;

  1. 我使用 numlock 来启用或禁用整个功能,因为我不知道如何使用单个 MouseButtonKey 打开和关闭它,它要么永远播放,要么我破坏了整个东西。 没关系,如果不是因为一个奇怪的错误,在我关闭数字锁定后我必须按 MouseButton 2 将其关闭。

  2. 我以为我想要实现的会很简单, 我想要 4 个功能:

Function 1 MoveMouseRelative repeated every ()ms
Function 2 MoveMouseRelative repeated every ()ms
Function 3 PressKey("P") repeated every ()ms
Function 4 PressKey("P") repeated every ()ms

然后把它结合起来 如果我按下 MouseButtonPressed(1),它会执行 Function 1+3,因此它会同时单击 P 并向下拖动鼠标,但具有不同的 sleep() 间隔,这些间隔将在单独的函数中说明 否则,如果我按下并 MouseButtonPressed(3)(Right click) + MouseButtonPressed(1) 它将执行 2+4 个功能,并且会在按住时重复,如果我释放按钮则停止重复。

这可能吗?我陷入了这段代码中,无法停止思考如何修复上周,但没有受过教育,只是猜测事情会如何发展,我碰上了我无法突破的墙。

非常感谢您的帮助。

【问题讨论】:

    标签: lua mouse logitech logitech-gaming-software


    【解决方案1】:
    EnablePrimaryMouseButtonEvents(true)
    
    local sequence_LMB     = {{x=0,y=15, t=30}, {x=0,y=12, t=10}, {x=0,y=12, t=10}, {x=0,y=12, t=10}, {x=0,y=12, t=130}}
    local sequence_LMB_RMB = {{x=0,y=13, t=10}, {x=0,y=13, t=10}, {x=0,y=13, t=10}, {x=0,y=13, t=10}, {x=0,y=13, t=10}}
    
    function OnEvent(event, arg)
       if event == "MOUSE_BUTTON_PRESSED" and arg == 1 and IsKeyLockOn("numlock") then
          repeat
             PressKey("P")
             local sequence = IsMouseButtonPressed(3) and sequence_LMB_RMB or sequence_LMB
             for i, step in ipairs(sequence) do
                MoveMouseRelative(step.x, step.y)
                Sleep(step.t)
             end
             ReleaseKey("P")
             Sleep(200)
          until not IsMouseButtonPressed(1)
       end
    end
    

    【讨论】:

    • 你真是个了不起的人,我怀疑有人会抓住我粘在一起的这些卑微的线条,它工作得很好。不过我有一个问题,因为现在 LMB 和 RMB+LMB 都使用 200ms 延迟,是否有可能将其分解,以便我可以为 LMB 和 RMB+LMB 使用不同的值
    • if IsMouseButtonPressed(3) then Sleep(300) else Sleep(200) end
    猜你喜欢
    • 2021-08-14
    • 2021-05-27
    • 2020-11-02
    • 2020-05-02
    • 2021-04-12
    • 2021-08-13
    • 2022-12-02
    • 2021-10-07
    • 2020-03-10
    相关资源
    最近更新 更多