如何在罗技键盘(G915)上更改颜色按键

让我总结一下我的问题

一开始我想要设置我的罗技键盘(G915)具有交互式的灯光。例如,在与按键相关联的咒语冷却期间更改一个键的颜色,或者仅在数字键盘锁定时关闭“numlock”键。 但是罗技提供的工具“Ghub”不允许用户这样做(您只能拥有像彩虹键盘这样的东西或为每个键设置静态颜色,但这对我来说不够)。

然后我发现我们可以在GHUB中编写LUA脚本与罗技材料进行交互,但SDK不足以改变键盘的颜色。 这很愚蠢,因为我可以在GHUB中改变一个键的颜色,但我找到的任何SDK或API都不能使用这个能力。

有人有任何想法如何与我的键盘中的LED进行交互,并创建脚本来更改它们吗?

谢谢

原文链接 https://stackoverflow.com/questions/70161879

点赞
stackoverflow用户1847592
stackoverflow用户1847592

我能够在 Ghub 中更改一个键的颜色,但是我无法在任何 SDK 中使用这种能力。

有一个“LED 灯光 SDK”,其中有 API 可以更改键的颜色。

可以从 https://www.logitechg.com/en-us/innovation/developer-lab.html 下载 SDK。

该 SDK 可以从任何能够调用外部函数的 DLL 的编程语言中使用。

您应该编写自己的程序(使用 Java、C#、C 或其他语言),使用此 SDK API 来控制键的颜色。

SDK API 函数需要 GHUB 进程运行才能工作,但是您不必编写 Lua 脚本来控制 GHUB。

在技能冷却期间更改一个键的颜色

您的程序可以调用 WinAPI 函数GetAsyncKeyState(或安装键盘钩子)来查看当前按下的键,以实现闪烁冷却逻辑。

我们可以在 GHUB 中使用 LUA 脚本与罗技材料进行交互

GHUB 存在两个问题:

  1. GHUB 中的 Lua 脚本无法调用外部函数,因此无法访问 SDK API。

    这可以通过在 GHUB 中创建一个宏来解决,以调用由您编写的外部 .exe 文件,从而实际控制键的颜色。

    在 Lua 脚本中,您可以调用带有创建的宏名称的 PlayMacro 来以编程方式控制闪烁。

  2. GHUB 无法查看常规键(字母、数字)的状态,以确定按键是否被按下。

    只有罗技鼠标按钮和罗技键盘 G 键可见于 GHUB。

    但 G 键可能不是绑定技能的最佳选择,因为它们在键盘上的位置太远。

只需在数字键锁定时关闭“numlock”键即可。

但是由 Logitech 提供的“ghub”工具不允许用户这样做。

可以通过以下 GHUB Lua 脚本实现。

它在加载配置文件时关闭 NumLock。

function OnEvent(event, arg)
   if event == "PROFILE_ACTIVATED" then
      -- 如果 NumLock 当前打开,请将其关闭
      if IsKeyLockOn"NumLock" then
         PressAndReleaseKey"NumLock"
      end
   end
end
2021-11-29 23:01:07