mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-31 17:53:32 +00:00
Updated the Corsair-Mice-DeviceProvider to benefit from CUE.NET 1.0.3
This commit is contained in:
parent
2616179e7f
commit
f871f9ffde
@ -1,5 +1,4 @@
|
|||||||
using System;
|
using System.Linq;
|
||||||
using System.Linq;
|
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
@ -23,8 +22,8 @@ namespace Artemis.DeviceProviders.Corsair
|
|||||||
public override bool TryEnable()
|
public override bool TryEnable()
|
||||||
{
|
{
|
||||||
CanUse = CanInitializeSdk();
|
CanUse = CanInitializeSdk();
|
||||||
if (CanUse)
|
if (CanUse && !CueSDK.IsInitialized)
|
||||||
CueSDK.MouseSDK.UpdateMode = UpdateMode.Manual;
|
CueSDK.Initialize();
|
||||||
|
|
||||||
Logger.Debug("Attempted to enable Corsair mice. CanUse: {0}", CanUse);
|
Logger.Debug("Attempted to enable Corsair mice. CanUse: {0}", CanUse);
|
||||||
return CanUse;
|
return CanUse;
|
||||||
@ -42,7 +41,7 @@ namespace Artemis.DeviceProviders.Corsair
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var leds = CueSDK.MouseSDK.Leds.Count();
|
var leds = CueSDK.MouseSDK.Leds.Count();
|
||||||
var rect = new Rect(new Size(leds*20, leds*20));
|
var rect = new Rect(new Size(leds * 20, leds * 20));
|
||||||
var img = brush.Dispatcher.Invoke(() =>
|
var img = brush.Dispatcher.Invoke(() =>
|
||||||
{
|
{
|
||||||
var visual = new DrawingVisual();
|
var visual = new DrawingVisual();
|
||||||
@ -57,7 +56,7 @@ namespace Artemis.DeviceProviders.Corsair
|
|||||||
{
|
{
|
||||||
corsairLed.Color = ledIndex == 0
|
corsairLed.Color = ledIndex == 0
|
||||||
? img.GetPixel(0, 0)
|
? img.GetPixel(0, 0)
|
||||||
: img.GetPixel((ledIndex + 1)*20 - 1, (ledIndex + 1)*20 - 1);
|
: img.GetPixel((ledIndex + 1) * 20 - 1, (ledIndex + 1) * 20 - 1);
|
||||||
ledIndex++;
|
ledIndex++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,29 +65,13 @@ namespace Artemis.DeviceProviders.Corsair
|
|||||||
|
|
||||||
private static bool CanInitializeSdk()
|
private static bool CanInitializeSdk()
|
||||||
{
|
{
|
||||||
// If already initialized, return result right away
|
|
||||||
if (CueSDK.ProtocolDetails != null)
|
|
||||||
return CueSDK.MouseSDK != null;
|
|
||||||
|
|
||||||
// Else try to enable the SDK
|
|
||||||
for (var tries = 0; tries < 9; tries++)
|
for (var tries = 0; tries < 9; tries++)
|
||||||
{
|
{
|
||||||
if (CueSDK.ProtocolDetails != null)
|
if (CueSDK.IsSDKAvailable(CorsairDeviceType.Keyboard))
|
||||||
break;
|
return true;
|
||||||
|
Thread.Sleep(2000);
|
||||||
try
|
|
||||||
{
|
|
||||||
CueSDK.Initialize();
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
Thread.Sleep(2000);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
if (CueSDK.ProtocolDetails == null)
|
|
||||||
return false;
|
|
||||||
return CueSDK.MouseSDK != null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user