0

我正在使用罗技照明 SDK 并且遇到脉冲效应问题,请允许我解释一下。

这是我的代码

        {
            Console.WriteLine("Hello World!");
            LogitechGSDK.LogiLedInit();
            Thread.Sleep(1000);
            LogitechGSDK.LogiLedSaveCurrentLighting();
           
            LogitechGSDK.LogiLedPulseLighting(50,0,50,LogitechGSDK.LOGI_LED_DURATION_INFINITE,250);
            Console.ReadLine();
            LogitechGSDK.LogiLedRestoreLighting();
            LogitechGSDK.LogiLedShutdown();
            

        }

因此,在预期中,这段代码将打印出 hello world,初始化 SDK,保存当前照明使其呈紫色脉冲,直到输入一个字符。输入后,它应该恢复照明,然后退出应用程序。

所以它几乎可以工作。在罗技游戏软件上,我选择了脉冲效果并使用了板载配置文件。当照明恢复时,不是恢复脉冲效果,而是变为纯色。颜色是正确的,但它应该是闪烁的而不是它。所以这让我非常恼火,现在我会去向你们展示我尝试过的东西。

我试图删除 Shutdown 行。没有骰子。我试图删除 LogiLedSave/Restores。没有骰子。我已经尝试将上述两者结合起来。没有骰子。

我也试过上面3个纯色效果。结果相同。

结果相同。每次。我知道这个 SDK 写得非常糟糕,但我认为我必须做些什么。感谢对此问题的任何帮助。

鼠标执行正确的效果,然后失败。

谢谢

编辑:我所说的脉冲效果不是代码中的脉冲效果,而是我在罗技游戏软件中设置的那种。

4

1 回答 1

0

LogiLedPulseLighting不是硬件支持的方法。这意味着您看到的效果是由您的计算机而不是键盘硬件运行。

由于这个原因,只要您需要 Pulse 效果运行,您的应用程序就必须保持运行。不幸的是,没有大量可用的文档,但凭借经验,我得到了这些信息。

如果您想验证我的声明,那么只需在之后添加一个断点Console.ReadLine();,您将看到 Pulse 效果在您闯入代码的那一刻停止,因为调试器也会暂停所有工作线程。

如果您继续在后台(服务或系统托盘)运行您的应用程序,请确保LogiLedShutdown()在您完成它并想要断开与设备的连接之前不要调用。

于 2020-11-30T13:47:49.693 回答