private CorsairLedId GetInitialLedIdForDeviceType(CorsairDeviceType type) { return(type switch { CorsairDeviceType.Headset => CorsairLedId.H_LeftLogo, CorsairDeviceType.MemoryModule => CorsairLedId.DRAM_1, CorsairDeviceType.Cooler => CorsairLedId.LC_C1_1, CorsairDeviceType.Motherboard => CorsairLedId.MB_Zone1, CorsairDeviceType.GraphicsCard => CorsairLedId.GPU_Zone1, _ => CorsairLedId.I_Invalid });
// private ICueDevice mouse; // private ICueDevice mousemat; public iCueHardware GetDevice(CorsairDeviceType type) { switch (type) { case CorsairDeviceType.Keyboard: return(Keyboard); break; case CorsairDeviceType.LightningNodePro: return(LedStrip); break; } return(null); }
private bool SetDeviceColors(CorsairDeviceType type, int index, Dictionary <DeviceKeys, Color> keyColors) { List <CorsairLedColor> colors = new List <CorsairLedColor>(); if (LedMaps.MapsMap.TryGetValue(type, out var dict) && dict.Count != 0) { foreach (var led in keyColors) { if (dict.TryGetValue(led.Key, out var ledid)) { colors.Add(new CorsairLedColor() { LedId = ledid, R = led.Value.R, G = led.Value.G, B = led.Value.B }); } } } else { if (keyColors.TryGetValue(DeviceKeys.Peripheral_Logo, out var clr)) { foreach (CorsairLedId led in LedMaps.DIYLeds) { colors.Add(new CorsairLedColor() { LedId = led, R = clr.R, G = clr.G, B = clr.B }); } } } if (colors.Count == 0) { return(false); } return(CUE.SetDeviceColors(index, colors.ToArray())); }
private static CorsairLedId GetChannelReferenceId(CorsairDeviceType deviceType, int channel) { if (deviceType == CorsairDeviceType.Cooler) { return(CorsairLedId.CustomLiquidCoolerChannel1Led1); } else { switch (channel) { case 0: return(CorsairLedId.CustomDeviceChannel1Led1); case 1: return(CorsairLedId.CustomDeviceChannel2Led1); case 2: return(CorsairLedId.CustomDeviceChannel3Led1); } } return(CorsairLedId.Invalid); }
private string GetDeviceType(CorsairDeviceType t) { switch (t) { case CorsairDeviceType.Cooler: return(DeviceTypes.Cooler); case CorsairDeviceType.CommanderPro: return(DeviceTypes.Other); case CorsairDeviceType.Headset: return(DeviceTypes.Headset); case CorsairDeviceType.HeadsetStand: return(DeviceTypes.HeadsetStand); case CorsairDeviceType.Keyboard: return(DeviceTypes.Keyboard); case CorsairDeviceType.MemoryModule: return(DeviceTypes.Memory); case CorsairDeviceType.Motherboard: return(DeviceTypes.MotherBoard); case CorsairDeviceType.GraphicsCard: return(DeviceTypes.GPU); case CorsairDeviceType.Unknown: return(DeviceTypes.Other); case CorsairDeviceType.Mouse: return(DeviceTypes.Mouse); case CorsairDeviceType.Mousepad: return(DeviceTypes.MousePad); case CorsairDeviceType.LightningNodePro: return(DeviceTypes.Other); default: return(DeviceTypes.Other); } }
public SettingLedChain(CorsairDeviceType deviceType, List <string> ledIdNames) { this.DeviceType = deviceType; this.LedIdNames = ledIdNames; }
// ReSharper restore UnusedAutoPropertyAccessor.Global #endregion #region Methods /// <summary> /// Checks if the SDK for the provided <see cref="CorsairDeviceType"/> is available or checks if CUE is installed and SDK supported enabled if null is provided. /// </summary> /// <param name="sdkType">The <see cref="CorsairDeviceType"/> to check or null to check for generall SDK availability.</param> /// <returns>The availability of the provided <see cref="CorsairDeviceType"/>.</returns> public static bool IsSDKAvailable(CorsairDeviceType? sdkType = null) { try { if (IsInitialized) { // ReSharper disable once SwitchStatementMissingSomeCases - everything else is true switch (sdkType) { case CorsairDeviceType.Keyboard: return KeyboardSDK != null; case CorsairDeviceType.Mouse: return MouseSDK != null; case CorsairDeviceType.Headset: return HeadsetSDK != null; case CorsairDeviceType.Mousemat: return MousematSDK != null; default: return true; } } else { _CUESDK.CorsairPerformProtocolHandshake(); if (sdkType == null || sdkType == CorsairDeviceType.Unknown) return LastError == CorsairError.Success; int deviceCount = _CUESDK.CorsairGetDeviceCount(); for (int i = 0; i < deviceCount; i++) { GenericDeviceInfo info = new GenericDeviceInfo((_CorsairDeviceInfo)Marshal.PtrToStructure(_CUESDK.CorsairGetDeviceInfo(i), typeof(_CorsairDeviceInfo))); if (info.CapsMask.HasFlag(CorsairDeviceCaps.Lighting) && info.Type == sdkType.Value) return true; } } } catch { return false; } return false; }