首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Logitech G Hub LUA脚本根据上一状态切换

Logitech G Hub LUA脚本根据上一状态切换
EN

Stack Overflow用户
提问于 2020-04-13 12:17:00
回答 1查看 3.2K关注 0票数 0

刚刚得到了一个新的罗技鼠标,我想做一个脚本,在状态之间切换。本质上是让鼠标按键循环它输出的内容。我从来没有做过一个lua脚本,所以一些帮助将不胜感激。基本上,我想要发生的一个例子是

代码语言:javascript
运行
复制
    #set default state
    state = F9;
    if (state == f9)
    when mouse4 is pressed send f10
    state = f10;

    if (state == f10)
    when mouse4 is pressed send f9
    state = f9;

我希望这是有意义的。如果有一种方法可以做到这一点与罗技G集线器lua脚本,这将是惊人的,如果有人可以告诉我应该是什么样子的脚本。或者甚至是自动热键都可以做到这一点,我想。

编辑:谢谢埃戈尔,好的,我用两个按钮组装了一个可以工作(或者应该可以工作)的版本。我正在尝试完成的是你按下鼠标11,它会根据它最后返回的内容在返回f7或f8之间切换。我添加了另一个按钮,鼠标10,它应该根据最后按下的内容在f7和f9之间切换。但是,由于某些原因,鼠标11的部分不能在两者之间切换,只返回f9

代码语言:javascript
运行
复制
local current_state_m4 = "f7"
local next_state_m4 = {f8 = "f7", f7 = "f8"}

local current_state_m5 = "f9"
local next_state_m5 = {f9 = "f7", f7 = "f9"}

function OnEvent(event, arg)
   if event == "MOUSE_BUTTON_PRESSED" and arg == 11 then
    PressKey(current_state_m4)
    Sleep(30)
    ReleaseKey(current_state_m4)
    current_state_m4 = next_state_m4[current_state_m4]

    elseif event == "MOUSE_BUTTON_PRESSED" and arg == 10 then
    PressKey(current_state_m5)
    Sleep(30)
    ReleaseKey(current_state_m5)
    current_state_m4 = next_state_m5[current_state_m5]
  end
end
EN

回答 1

Stack Overflow用户

发布于 2020-04-13 18:55:24

代码语言:javascript
运行
复制
local current_state = "f9"
local next_state = {f10 = "f9", f9 = "f10"}

function OnEvent(event, arg)
   if event == "MOUSE_BUTTON_PRESSED" and arg == 4 then
      current_state = next_state[current_state]
      PressKey(current_state)
      Sleep(30)
      ReleaseKey(current_state)
   end
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61181469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档