LUA - IsMouseButtonPressed 在 G 按键上无法正常工作

我正在使用 G700 鼠标,并尝试编写一个快速射击的 LUA 脚本。但我发现无法将 IsMouseButtonPressed 分配到除了 1、2、3 按键之外的其他任何鼠标按键上。 我怎样才能将 IsMouseButtonPressed 分配到 G4 鼠标按键上呢?

能够正常工作的代码...

if IsMouseButtonPressed(2) then
   OutputLogMessage("按下鼠标按键2")
end

无法正常工作的代码...

if IsMouseButtonPressed(4) then
   OutputLogMessage("按下鼠标按键4")
end

我需要这个功能时,我正在右击。

脚本

    ----------------------------------------------Simple settings----------------------------------------------
    REEcoil=1000
    Sensrelative=REEcoil/1000
    ---------------------------Rapidfire---------------------------
    PressSpeedMin=15            --更改这个           <-这是按下和释放左键之间的延迟
    PressSpeedMax=25            --更改这个

    NoRecoilRFMin=3         --更改这个           <-这是减少后坐力
    NoRecoilRFMax=5         --更改这个


    SleepNRFMin=75          --更改这个           <-这是点击之间的延迟
    SleepNRFMax=105         --更改这个

    ------------------------------------------------------BINDS------------------------------------------------------

        LCRF=1              --只是左键点击
    RC=3                    --只是右键点击
    Rapidfirebutton=4       -- 这是我用于拇指使用的前向键 >>> 如果我将 RapidFireButton 更改为 2 那么它就能正常工作了。我怎样才能使它能够与我的拇指按键一起使用呢?


    ------------------------------------------------------FUNCTIONS------------------------------------------------------
    EnablePrimaryMouseButtonEvents(true);

function RapidFire()

    OutputLogMessage("正在运行 RapidFire 函数")

        repeat
        OutputLogMessage("点击鼠标按键" .. Rapidfirebutton .. "。 \n")
        PressMouseButton(LCRF)
            Sleep(math.random(PressSpeedMin,PressSpeedMax))
            ReleaseMouseButton(LCRF)
            MoveMouseRelative(0,math.random(NoRecoilRFMin,NoRecoilRFMax)*Sensrelative)
            Sleep(math.random(SleepNRFMin,SleepNRFMax))
            MoveMouseRelative(0,math.random(NoRecoilRFMin,NoRecoilRFMax)*Sensrelative)
        until not IsMouseButtonPressed(Rapidfirebutton)
end

 ------------------------------------------------------Main function------------------------------------------------------
function OnEvent(event, arg)

    if GetMKeyState() == 3 then

        OutputLogMessage("脚本激活".. "\n")

        if IsMouseButtonPressed(RC) then                 --循环用于 ADS。激活 rapidfire
                OutputLogMessage("武器进入准星状态 \n")

            repeat
                    if IsMouseButtonPressed(Rapidfirebutton)  then
                    OutputLogMessage("调用 RapidFire 函数 \n")
                    RapidFire   ()
                    Sleep(20) -- EGOR 的评论后增加了这一行
                end
             until not IsMouseButtonPressed(RC)             --循环结束
          end
    end
end
点赞