private void numericUpDownDelay_ValueChanged(object sender, EventArgs e) { var zIODefinition = new IODefinition( (byte)IODefinition.IOFlags.Delay, (byte)numericUpDownDelay.Value); var zDisplay = txtKeyOut; zDisplay.Text = zIODefinition.GetDescription(); zDisplay.Tag = zIODefinition; }
private void textBox_KeyDown(object sender, KeyEventArgs e) { var zDisplay = (TextBox)sender; // Console.Out.WriteLine("Key Input: {0} 0x{1}".FormatString(e.KeyCode, e.KeyCode.ToString("x"))); #warning not so sure how non-english keyboards are going to handle the limitation/cast to a byte here. This should probably be an int32 (this could be one of many problems...) var zIODef = new IODefinition(0x00, (byte)e.KeyCode, e); zDisplay.Text = zIODef.GetDescription(); e.Handled = true; zDisplay.Tag = zIODef; }
private void comboBoxSpecialOut_SelectedIndexChanged(object sender, EventArgs e) { if (0 != comboBoxMouseOut.SelectedIndex) // the first entry does nothing { var zIODefinition = new IODefinition( (byte)IODefinition.IOFlags.MouseOut, (byte)(IODefinition.MouseButton)comboBoxMouseOut.SelectedItem); var zDisplay = txtKeyOut; zDisplay.Text = zIODefinition.GetDescription(); zDisplay.Tag = zIODefinition; } }
private IODefinition getCurrentOutputDefinition() { var zOutput = (IODefinition)txtKeyOut.Tag; if (zOutput == null) { return(null); } if (checkOutputNone.Checked) // if output is set to none change zOutput keyarg { zOutput = new IODefinition((byte)IODefinition.IOFlags.DoNothing, 0x00); } else { zOutput.Flags = GetFlags(zOutput, FlagsFromEnum.Output); } return(zOutput); }
/// <summary> /// Gets the flags byte based on the definition and the type of input/output /// </summary> /// <param name="zIODef">the io definition</param> /// <param name="eFlag">the type of io</param> /// <returns>New flags value based on the settings of the ui (any prior flags are lost)</returns> private byte GetFlags(IODefinition zIODef, FlagsFromEnum eFlag) { // get the flags from the check boxes (always, both mouse and keyboard support them in some fashion) var bAlt = false; var bControl = false; var bShift = false; var bNone = false; var bToggle = false; switch (eFlag) { case FlagsFromEnum.Input: bAlt = checkInputAlt.Checked; bControl = checkInputControl.Checked; bShift = checkInputShift.Checked; break; case FlagsFromEnum.Output: bAlt = checkOutputAlt.Checked; bControl = checkOutputControl.Checked; bShift = checkOutputShift.Checked; bNone = checkOutputNone.Checked; bToggle = checkOutputToggle.Checked; break; } byte byFlags = 0; byFlags = UpdateFlag(byFlags, bAlt, (byte)IODefinition.IOFlags.Alt); byFlags = UpdateFlag(byFlags, bControl, (byte)IODefinition.IOFlags.Control); byFlags = UpdateFlag(byFlags, bShift, (byte)IODefinition.IOFlags.Shift); byFlags = UpdateFlag(byFlags, bNone, (byte)IODefinition.IOFlags.DoNothing); byFlags = UpdateFlag(byFlags, bToggle, (byte)IODefinition.IOFlags.Toggle); byFlags = UpdateFlag(byFlags, zIODef.IsFlaggedAs(IODefinition.IOFlags.MouseOut), (byte)IODefinition.IOFlags.MouseOut); byFlags = UpdateFlag(byFlags, zIODef.IsFlaggedAs(IODefinition.IOFlags.Delay), (byte)IODefinition.IOFlags.Delay); return(byFlags); }