private void button3_Click(object sender, EventArgs e) { //TODO: Add a state to keep track of the aura sync mode to avoid unnecessary calls to this ourKeyboard.AuraSyncModeSwitch(true); IAuraSyncProtocolKB iface = ourKeyboard as IAuraSyncProtocolKB; Color[,] colorArr = iface.GetNewDirectColorCanvas(); var enumVals = (AsusAuraSDKKeys[])Enum.GetValues(typeof(AsusAuraSDKKeys)); for (int i = 0; i < enumVals.Length; i++) { try { var idx = iface.GetDirectColorCanvasIndexOfKey(enumVals[i]); colorArr[idx.Item1, idx.Item2] = GetRainbowGradient((float)i / (float)enumVals.Length); } catch (ArgumentException) { //GetMultiStaticColorDataIndexByVKCode will throw an ArgumentException for unmapped keys continue; } } iface.SendDirectColorCanvas(colorArr); }
private void button6_Click(object sender, EventArgs e) { ourKeyboard.AuraSyncModeSwitch(true); IAuraSyncProtocolKB iface = ourKeyboard as IAuraSyncProtocolKB; Color[,] colorArr = iface.GetNewDirectColorCanvas(); numericUpDown2.Maximum = colorArr.Length - 1; numericUpDown2.Value = Math.Min(numericUpDown2.Maximum, numericUpDown2.Value); int x = (int)numericUpDown2.Value / colorArr.GetLength(1); int y = (int)numericUpDown2.Value % colorArr.GetLength(1); colorArr[x, y] = Color.Red; iface.SendDirectColorCanvas(colorArr); //ourKeyboard.AuraSyncModeSwitch(false); }