/// <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; }
/// <summary> /// Converts the <see cref="ConsoleKeyStateEnum"/> to <see cref="KeyboardEventFlags"/> /// </summary> public static KeyboardEventFlags Convert(ConsoleKeyStateEnum state) { switch (state) { case ConsoleKeyStateEnum.NONE: return(KeyboardEventFlags.NONE); case ConsoleKeyStateEnum.PRESSED: return(KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY); case ConsoleKeyStateEnum.RELEASED: return(KeyboardEventFlags.KEYEVENTF_KEYUP); default: return(KeyboardEventFlags.NONE); } }