diff --git a/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs b/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs
index 95c3e20..f091ed3 100644
--- a/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs
+++ b/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs
@@ -104,20 +104,20 @@ namespace RGB.NET.Devices.CoolerMaster
foreach (CoolerMasterDevicesIndexes index in Enum.GetValues(typeof(CoolerMasterDevicesIndexes)))
{
-
try
{
- _CoolerMasterSDK.SetControlDevice(index);
- if (_CoolerMasterSDK.IsDevicePlugged())
+ RGBDeviceType deviceType = index.GetDeviceType();
+ if (deviceType == RGBDeviceType.None) continue;
+
+ if (_CoolerMasterSDK.IsDevicePlugged(index))
{
- RGBDeviceType deviceType = index.GetDeviceType();
if (!loadFilter.HasFlag(deviceType)) continue;
ICoolerMasterRGBDevice device;
switch (deviceType)
{
case RGBDeviceType.Keyboard:
- CoolerMasterPhysicalKeyboardLayout physicalLayout = _CoolerMasterSDK.GetDeviceLayout();
+ CoolerMasterPhysicalKeyboardLayout physicalLayout = _CoolerMasterSDK.GetDeviceLayout(index);
device = new CoolerMasterKeyboardRGBDevice(new CoolerMasterKeyboardRGBDeviceInfo(index, physicalLayout, GetCulture()));
break;
@@ -132,7 +132,7 @@ namespace RGB.NET.Devices.CoolerMaster
continue;
}
- _CoolerMasterSDK.EnableLedControl(true);
+ _CoolerMasterSDK.EnableLedControl(true, index);
device.Initialize(UpdateTrigger);
devices.Add(device);
@@ -165,9 +165,8 @@ namespace RGB.NET.Devices.CoolerMaster
try
{
CoolerMasterRGBDeviceInfo deviceInfo = (CoolerMasterRGBDeviceInfo)device.DeviceInfo;
- _CoolerMasterSDK.SetControlDevice(deviceInfo.DeviceIndex);
- _CoolerMasterSDK.EnableLedControl(false);
- _CoolerMasterSDK.EnableLedControl(true);
+ _CoolerMasterSDK.EnableLedControl(false, deviceInfo.DeviceIndex);
+ _CoolerMasterSDK.EnableLedControl(true, deviceInfo.DeviceIndex);
}
catch {/* shit happens */}
}
@@ -182,8 +181,7 @@ namespace RGB.NET.Devices.CoolerMaster
try
{
CoolerMasterRGBDeviceInfo deviceInfo = (CoolerMasterRGBDeviceInfo)device.DeviceInfo;
- _CoolerMasterSDK.SetControlDevice(deviceInfo.DeviceIndex);
- _CoolerMasterSDK.EnableLedControl(false);
+ _CoolerMasterSDK.EnableLedControl(false, deviceInfo.DeviceIndex);
}
catch {/* shit happens */}
}
diff --git a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs
index 46a08a9..cf84cbc 100644
--- a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs
+++ b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs
@@ -43,6 +43,33 @@ namespace RGB.NET.Devices.CoolerMaster
[Description("MasterKeys Pro S White")]
[DeviceType(RGBDeviceType.Keyboard)]
- MasterKeys_S_White = 7
+ MasterKeys_S_White = 7,
+
+ [Description("MM520")]
+ [DeviceType(RGBDeviceType.Mouse)]
+ MM520 = 8,
+
+ [Description("MM530")]
+ [DeviceType(RGBDeviceType.Mouse)]
+ MM530 = 9,
+
+ [Description("MasterKeys MK750")]
+ [DeviceType(RGBDeviceType.Keyboard)]
+ MasterKeys_MK750 = 10,
+
+ [Description("CK372")]
+ [DeviceType(RGBDeviceType.Keyboard)]
+ CK372 = 11,
+
+ [Description("CK550")]
+ [DeviceType(RGBDeviceType.Keyboard)]
+ CK550 = 12,
+
+ [Description("CK551")]
+ [DeviceType(RGBDeviceType.Keyboard)]
+ CK551 = 13,
+
+ [DeviceType(RGBDeviceType.None)]
+ Default = 0xFFFF
}
}
diff --git a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterEffects.cs b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterEffects.cs
index c40e3f7..c751657 100644
--- a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterEffects.cs
+++ b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterEffects.cs
@@ -25,6 +25,12 @@ namespace RGB.NET.Devices.CoolerMaster
Spectrum = 11,
RapidFire = 12,
Indicator = 13, //mouse Effect
+ FireBall = 14,
+ WaterRipple = 15,
+ ReactivePunch = 16,
+ Snowing = 17,
+ HeartBeat = 18,
+ ReactiveTornade = 19,
Multi1 = 0xE0,
Multi2 = 0xE1,
diff --git a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterPhysicalKeyboardLayout.cs b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterPhysicalKeyboardLayout.cs
index 5dd477c..e89294b 100644
--- a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterPhysicalKeyboardLayout.cs
+++ b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterPhysicalKeyboardLayout.cs
@@ -12,6 +12,7 @@ namespace RGB.NET.Devices.CoolerMaster
{
UNINIT = 0,
US = 1,
- EU = 2
+ EU = 2,
+ JP = 3
}
}
diff --git a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDevice.cs b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDevice.cs
index 01747d2..c35676e 100644
--- a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDevice.cs
+++ b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterRGBDevice.cs
@@ -74,8 +74,7 @@ namespace RGB.NET.Devices.CoolerMaster
///
public override void Dispose()
{
- _CoolerMasterSDK.SetControlDevice(DeviceInfo.DeviceIndex);
- _CoolerMasterSDK.EnableLedControl(false);
+ _CoolerMasterSDK.EnableLedControl(false, DeviceInfo.DeviceIndex);
base.Dispose();
}
diff --git a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs
index 1296d87..045b6e4 100644
--- a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs
+++ b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs
@@ -36,15 +36,13 @@ namespace RGB.NET.Devices.CoolerMaster
///
protected override void Update(Dictionary