mirror of
https://github.com/DarthAffe/CUE.NET.git
synced 2025-12-13 00:58:31 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 589bd12441 | |||
| 850eb66b3b | |||
|
|
f3f7f498af | ||
| 3b4649604f | |||
| 83c67195fd | |||
| 811a296867 |
@ -3,7 +3,7 @@
|
|||||||
<metadata>
|
<metadata>
|
||||||
<id>CUE.NET</id>
|
<id>CUE.NET</id>
|
||||||
<title>CUE.NET</title>
|
<title>CUE.NET</title>
|
||||||
<version>1.2.0.0</version>
|
<version>1.2.0.1</version>
|
||||||
<authors>Darth Affe</authors>
|
<authors>Darth Affe</authors>
|
||||||
<owners>Darth Affe</owners>
|
<owners>Darth Affe</owners>
|
||||||
<projectUrl>https://github.com/DarthAffe/CUE.NET</projectUrl>
|
<projectUrl>https://github.com/DarthAffe/CUE.NET</projectUrl>
|
||||||
|
|||||||
27
CueSDK.cs
27
CueSDK.cs
@ -104,7 +104,7 @@ namespace CUE.NET
|
|||||||
|
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
private delegate void OnKeyPressedDelegate(IntPtr context, CorsairKeyId keyId, [MarshalAs(UnmanagedType.I1)] bool pressed);
|
private delegate void OnKeyPressedDelegate(IntPtr context, CorsairKeyId keyId, [MarshalAs(UnmanagedType.I1)] bool pressed);
|
||||||
private static readonly OnKeyPressedDelegate _onKeyPressedDelegate = OnKeyPressed;
|
private static OnKeyPressedDelegate _onKeyPressedDelegate;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -113,6 +113,8 @@ namespace CUE.NET
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Occurs when the SDK reports that a key is pressed.
|
/// Occurs when the SDK reports that a key is pressed.
|
||||||
/// Notice that right now only G- (keyboard) and M- (mouse) keys are supported.
|
/// Notice that right now only G- (keyboard) and M- (mouse) keys are supported.
|
||||||
|
///
|
||||||
|
/// To enable this event <see cref="EnableKeypressCallback"/> needs to be called.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static event EventHandler<KeyPressedEventArgs> KeyPressed;
|
public static event EventHandler<KeyPressedEventArgs> KeyPressed;
|
||||||
|
|
||||||
@ -247,7 +249,6 @@ namespace CUE.NET
|
|||||||
Throw(error, true);
|
Throw(error, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
_CUESDK.CorsairRegisterKeypressCallback(Marshal.GetFunctionPointerForDelegate(_onKeyPressedDelegate), IntPtr.Zero);
|
|
||||||
error = LastError;
|
error = LastError;
|
||||||
if (error != CorsairError.Success)
|
if (error != CorsairError.Success)
|
||||||
Throw(error, false);
|
Throw(error, false);
|
||||||
@ -257,6 +258,24 @@ namespace CUE.NET
|
|||||||
IsInitialized = true;
|
IsInitialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Enables the keypress-callback.
|
||||||
|
/// This method needs to be called to enable the <see cref="KeyPressed"/>-event.
|
||||||
|
///
|
||||||
|
/// WARNING: AFTER THIS METHOD IS CALLED IT'S NO LONGER POSSIBLE TO REINITIALIZE THE SDK!
|
||||||
|
/// </summary>
|
||||||
|
public static void EnableKeypressCallback()
|
||||||
|
{
|
||||||
|
if (!IsInitialized)
|
||||||
|
throw new WrapperException("CueSDK isn't initialized.");
|
||||||
|
|
||||||
|
if (_onKeyPressedDelegate != null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
_onKeyPressedDelegate = OnKeyPressed;
|
||||||
|
_CUESDK.CorsairRegisterKeypressCallback(Marshal.GetFunctionPointerForDelegate(_onKeyPressedDelegate), IntPtr.Zero);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Resets the colors of all devices back to the last saved color-data. (If there wasn't a manual save, that's the data from the time the SDK was initialized.)
|
/// Resets the colors of all devices back to the last saved color-data. (If there wasn't a manual save, that's the data from the time the SDK was initialized.)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -283,6 +302,9 @@ namespace CUE.NET
|
|||||||
if (!IsInitialized)
|
if (!IsInitialized)
|
||||||
throw new WrapperException("CueSDK isn't initialized.");
|
throw new WrapperException("CueSDK isn't initialized.");
|
||||||
|
|
||||||
|
if (_onKeyPressedDelegate != null)
|
||||||
|
throw new WrapperException("Keypress-Callback is enabled.");
|
||||||
|
|
||||||
KeyboardSDK?.ResetLeds();
|
KeyboardSDK?.ResetLeds();
|
||||||
MouseSDK?.ResetLeds();
|
MouseSDK?.ResetLeds();
|
||||||
HeadsetSDK?.ResetLeds();
|
HeadsetSDK?.ResetLeds();
|
||||||
@ -343,7 +365,6 @@ namespace CUE.NET
|
|||||||
|| HeadsetStandSDK.HeadsetStandDeviceInfo.Model != reloadedDevices[CorsairDeviceType.HeadsetStand].Model)
|
|| HeadsetStandSDK.HeadsetStandDeviceInfo.Model != reloadedDevices[CorsairDeviceType.HeadsetStand].Model)
|
||||||
throw new WrapperException("The previously loaded Headset Stand got disconnected.");
|
throw new WrapperException("The previously loaded Headset Stand got disconnected.");
|
||||||
|
|
||||||
_CUESDK.CorsairRegisterKeypressCallback(Marshal.GetFunctionPointerForDelegate(_onKeyPressedDelegate), IntPtr.Zero);
|
|
||||||
error = LastError;
|
error = LastError;
|
||||||
if (error != CorsairError.Success)
|
if (error != CorsairError.Success)
|
||||||
Throw(error, false);
|
Throw(error, false);
|
||||||
|
|||||||
@ -39,6 +39,8 @@ namespace SimpleDevTest
|
|||||||
CueSDK.Initialize();
|
CueSDK.Initialize();
|
||||||
Console.WriteLine("Initialized with " + CueSDK.LoadedArchitecture + "-SDK");
|
Console.WriteLine("Initialized with " + CueSDK.LoadedArchitecture + "-SDK");
|
||||||
|
|
||||||
|
CueSDK.EnableKeypressCallback();
|
||||||
|
|
||||||
CueSDK.KeyPressed += (sender, eventArgs) => Console.WriteLine($"Key {eventArgs.KeyId} {(eventArgs.IsPressed ? "pressed" : "released")}");
|
CueSDK.KeyPressed += (sender, eventArgs) => Console.WriteLine($"Key {eventArgs.KeyId} {(eventArgs.IsPressed ? "pressed" : "released")}");
|
||||||
|
|
||||||
//CueSDK.KeyboardSDK.Brush = (SolidColorBrush)Color.Black;
|
//CueSDK.KeyboardSDK.Brush = (SolidColorBrush)Color.Black;
|
||||||
@ -76,6 +78,17 @@ namespace SimpleDevTest
|
|||||||
|
|
||||||
CueSDK.UpdateMode = UpdateMode.Continuous;
|
CueSDK.UpdateMode = UpdateMode.Continuous;
|
||||||
|
|
||||||
|
Wait(5);
|
||||||
|
CueSDK.UpdateMode = UpdateMode.Manual;
|
||||||
|
for (int i = 0; i < 100000; i++)
|
||||||
|
{
|
||||||
|
CueSDK.Reinitialize();
|
||||||
|
Console.WriteLine(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("done!");
|
||||||
|
Wait(5);
|
||||||
|
|
||||||
//IBrush rainbowBrush = new LinearGradientBrush(new RainbowGradient());
|
//IBrush rainbowBrush = new LinearGradientBrush(new RainbowGradient());
|
||||||
//rainbowBrush.AddEffect(new FlashEffect { Attack = 5f, Sustain = 1f, Decay = 0, Release = 5f, Interval = 1f });
|
//rainbowBrush.AddEffect(new FlashEffect { Attack = 5f, Sustain = 1f, Decay = 0, Release = 5f, Interval = 1f });
|
||||||
//rainbowBrush.AddEffect(new MoveRainbowEffect());
|
//rainbowBrush.AddEffect(new MoveRainbowEffect());
|
||||||
|
|||||||
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0.0")]
|
[assembly: AssemblyVersion("1.2.0.1")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0.0")]
|
[assembly: AssemblyFileVersion("1.2.0.1")]
|
||||||
|
|||||||
@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.2.0.0")]
|
[assembly: AssemblyVersion("1.2.0.1")]
|
||||||
[assembly: AssemblyFileVersion("1.2.0.0")]
|
[assembly: AssemblyFileVersion("1.2.0.1")]
|
||||||
|
|||||||
@ -1,3 +1,6 @@
|
|||||||
|
**CUE.NET is considered done now and will be no longer actively developed.
|
||||||
|
It is superseded by [RGB.NET](https://github.com/DarthAffe/RGB.NET). Feel free to join the [discord-channel](https://discord.gg/9kytURv) if you're interested what's happening there :)**
|
||||||
|
|
||||||
# CUE.NET
|
# CUE.NET
|
||||||
C# (.NET) Wrapper library around the Corsair CUE-SDK
|
C# (.NET) Wrapper library around the Corsair CUE-SDK
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user