如何制作切换键在两个独立功能之间切换lua脚本(罗技)

问题描述 投票:0回答:1

我对lua不太有经验,我刚刚编辑了一个朋友发给我的脚本,目前当大写锁定打开时,脚本启用,当大写锁定关闭时,脚本禁用。相当简单,我想做的是当 caps 打开时,启用 else 语句上方的所有代码,当 caps 关闭时,启用 else 语句下方的代码。这是代码,您可以看到我有一个 else 语句,当第一个块的条件不满足时,应该将其打开,但是这不会发生。我希望在关闭 CapsLock 时使用“else”语句下面的代码。另外,当我讨论这个主题时,如果有人知道如何将切换键从 CapsLock 更改为鼠标侧面的鼠标按钮,那就太好了,因为在这种情况下,我可以只使用鼠标按钮 4 来执行上面的代码else 语句和其下面的代码的鼠标按钮 5 将会有很大的帮助。预先感谢。

EnablePrimaryMouseButtonEvents  (true);
function OnEvent(event,arg)
if EnableRCS ~= false then
if RequireToggle ~= false then
    if IsKeyLockOn(ToggleKey)then
        if IsMouseButtonPressed(3)then
            repeat
                if IsMouseButtonPressed(1) then
                    repeat
                        MoveMouseRelative(-1,RecoilControlStrength)
                        Sleep(DelayRate)
                        MoveMouseRelative(0,RecoilControlStrength)
                        Sleep(DelayRate)
                        MoveMouseRelative(-2,RecoilControlStrength)
                        Sleep(DelayRate)
                        MoveMouseRelative(0,RecoilControlStrength)
                        Sleep(DelayRate)
                    until not IsMouseButtonPressed(1)
                end
            until not IsMouseButtonPressed(3)
        end
    end
    
else 
        if IsMouseButtonPressed(3)then
            repeat
                if IsMouseButtonPressed(1) then
                    repeat
                        MoveMouseRelative(0,RecoilControlStrength)
                        Sleep(DelayRate)
                    until not IsMouseButtonPressed(1)
                end
            until not IsMouseButtonPressed(3)
        end
    end
else 
end  
end

代码的顶部部分(在 else 语句之前)按预期工作,当大写锁定打开时,该代码正在运行,但是我打算让 else 语句后面的代码在大写锁定关闭时生效,但事实并非如此。请帮忙<3

lua scripting logitech
1个回答
0
投票

状态机:

sum = function (a, b) return a + b end
sub = function (a, b) return a - b end

States = {sum=sum, sub=sub}
State = States.sum

c1 = State (5, 4) -- 9

State = States.sub
c2 = State (5, 4) -- 1

只需切换状态,不需要检查条件,状态已经存在了。

© www.soinside.com 2019 - 2024. All rights reserved.