private void button4_Click(object sender, EventArgs e) { var msData = new MultiStaticData(); var enumVals = (Keys[])Enum.GetValues(typeof(Keys)); for (int i = 0; i < enumVals.Length; i++) { try { var idx = ourKeyboard.GetMultiStaticColorDataIndexByVKCode((int)enumVals[i]); msData.colorAndBrightness[idx.Item1, idx.Item2].brightness = 100; msData.colorAndBrightness[idx.Item1, idx.Item2].color = GetRainbowGradient((float)i / (float)enumVals.Length); } catch { } } ourKeyboard.SetEffect_WriteMultiStaticColorData(msData); }
public virtual void SetEffect_WriteMultiStaticColorData(MultiStaticData arg1) { byte[] array = new byte[64]; array[0] = 81; array[1] = 168; //write type 168 int num2 = 4; for (int i = 0; i < 16; i++) { for (int j = 0; j < 8; j++) { if (num2 < 64) { array[num2++] = arg1.colorAndBrightness[i, j].brightness.Clamp <byte>(0, 100); array[num2++] = arg1.colorAndBrightness[i, j].color.R; array[num2++] = arg1.colorAndBrightness[i, j].color.G; array[num2++] = arg1.colorAndBrightness[i, j].color.B; if (i == 15 && num2 == 36) { //array[3] = 1; SendIface0ByteArray(array); WaitForIface0Confirmation(InterfaceZeroResponseTypes.SetWritableData); } } if (num2 >= 64) { num2 = 4; //array[3] = 1; SendIface0ByteArray(array); WaitForIface0Confirmation(InterfaceZeroResponseTypes.SetWritableData); } } } SetWritableData_MultiStatic_EffectMap_AllStatic(); ExecuteProfileFlashCmd(); }
public void SetEffect_WriteMultiStaticColorData(MultiStaticData arg1) { throw new NotImplementedException(); //TODO }