/// <summary> /// Converts the <see cref="GenericKeyNameEnum"/> to <see cref="KeyboardKeyCodes"/> /// from <see cref="SelectedNESKeys"/> /// </summary> public static KeyboardKeyCodes Convert(GenericKeyNameEnum keyName) { switch (keyName) { case GenericKeyNameEnum.LEFTARROW: return(SelectedNESKeys.LEFTARROW); case GenericKeyNameEnum.RIGHTARROW: return(SelectedNESKeys.RIGHTARROW); case GenericKeyNameEnum.UPARROW: return(SelectedNESKeys.UPARROW); case GenericKeyNameEnum.DOWNARROW: return(SelectedNESKeys.DOWNARROW); case GenericKeyNameEnum.SELECT: return(SelectedNESKeys.SELECT); case GenericKeyNameEnum.START: return(SelectedNESKeys.START); case GenericKeyNameEnum.A: return(SelectedNESKeys.A); case GenericKeyNameEnum.B: return(SelectedNESKeys.B); default: throw new ArgumentException("Not a valid key for conversion!"); } }
/// <summary> /// Handles NES key event /// </summary> /// <param name="key">The button pressed</param> /// <param name="state">The state of the button</param> public static void NESKeyEvent(GenericKeyNameEnum key, ConsoleKeyStateEnum state) { var kbKey = GenericKeyNameToKeyCodeFromSelectedNESKeysConverter.Convert(key); var kbState = ConsoleKeyStateEnumToKeyboardEventFlagConverter.Convert(state); AutoSharpUI.KeyboardEvent(kbKey, 0, kbState); }
/// <summary> /// Default constructor /// </summary> /// <param name="consoleName">The name of the console this button is from</param> /// <param name="keyName">The name of this button</param> /// <param name="keyState">The state of this button</param> public GenericConsoleButton(ConsoleNameEnum consoleName = ConsoleNameEnum.NONE, GenericKeyNameEnum keyName = GenericKeyNameEnum.NONE, ConsoleKeyStateEnum keyState = ConsoleKeyStateEnum.NONE) { this.ConsoleName = consoleName; this.KeyName = keyName; this.KeyState = keyState; }