Измените сценарий LUA, чтобы мышь нажимала Alt, если щелчок левой кнопкой мыши следует за щелчком правой кнопки мыши в течение определенного промежутка времени

#lua #logitech #logitech-gaming-software

#lua #logitech #logitech-gaming-программное обеспечение

Вопрос:

Друг использует сценарий LUA для этой мыши Logitech в игре, который выполняет действие «нажмите левую-alt», если он нажимает и удерживает правую кнопку мыши, а затем также нажимает левую кнопку мыши:

 function OnEvent(event,arg)
    if IsKeyLockOn("numlock")then
        if IsMouseButtonPressed(3)then
            repeat 
                if IsMouseButtonPressed(1) then
                    PressAndReleaseKey("lalt")
                    repeat
                    until not IsMouseButtonPressed(1)
                end
            until not IsMouseButtonPressed(3)
        end
    end
end
 

У меня другие настройки, я не нажимаю и не удерживаю правую кнопку мыши, а просто нажимаю ее один раз, и мой щелчок левой кнопкой мыши может последовать сразу после или через 1-2 секунды.
Поэтому мне понадобится скрипт для выполнения действия «нажать левую клавишу alt», только если я нажал правую кнопку мыши, а затем также нажал левую кнопку мыши сразу или в течение 2 секунд.

Не могли бы вы, ребята, мне помочь?

Заранее спасибо!

Ответ №1:

 local RMB_time = -math.huge

function OnEvent(event, arg)
   if event == "PROFILE_ACTIVATED" then
      EnablePrimaryMouseButtonEvents(true)
   elseif event == "MOUSE_BUTTON_PRESSED" and arg == 2 then  -- RMB pressed
      RMB_time = GetRunningTime()
   elseif event == "MOUSE_BUTTON_PRESSED" and arg == 1 then  -- LMB pressed
      if IsKeyLockOn"numlock" and GetRunningTime() - RMB_time < 2000 then
         Sleep(20)
         PressKey("lalt")
         Sleep(50)
         ReleaseKey("lalt")
      end
   end
end