private void OnGlobalKeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (!loaded || keybindReaderMidi.IsReading) { return; } bool isActive = IsActive; var focus = FocusManager.GetFocusedElement(this); if (focus is TextBox || focus is IntSpinner) { return; } foreach (Window window in OwnedWindows) { focus = FocusManager.GetFocusedElement(window); if (focus is TextBox || focus is IntSpinner) { return; } if (window.IsActive) { isActive = true; } } if (e.KeyCode == Keys.Enter && TerrariaWindowLocator.CheckIfFocused() && Config.DisableMountWhenTalking) { talking = !talking; checkBoxTalking.IsChecked = talking; } if (Config.HasMidi) { if (Config.Keybinds.Play.IsDown(e) && (Config.PlaybackNoFocus || isActive || TerrariaWindowLocator.CheckIfFocused())) { if (server != null) { HostStartPlay(); } else { Play(); } } else if (Config.Keybinds.Pause.IsDown(e) && (Config.PlaybackNoFocus || isActive || TerrariaWindowLocator.CheckIfFocused())) { if (server != null) { HostStop(); } else { Pause(); } } else if (Config.Keybinds.Stop.IsDown(e)) { if (server != null) { HostStop(); } else { Stop(); } } } if (Config.Keybinds.Mount.IsDown(e) && TerrariaWindowLocator.CheckIfFocused() && !talking) { mounted = !mounted; checkBoxMounted.IsChecked = mounted; } for (int i = 0; i < Config.Midis.Count; i++) { if (Config.MidiIndex != i && Config.Midis[i].Keybind.IsDown(e) && (Config.PlaybackNoFocus || isActive || TerrariaWindowLocator.CheckIfFocused())) { Stop(); loaded = false; Config.MidiIndex = i; listMidis.SelectedIndex = i; loaded = true; UpdateMidi(); } } if (Config.Keybinds.Close.IsDown(e) && (Config.CloseNoFocus || isActive || TerrariaWindowLocator.CheckIfFocused())) { Close(); } }
private void OnGlobalKeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if (!loaded || keybindReaderMidi.IsReading) { return; } if (Config.HasMidi) { if (Config.Keybinds.Play.IsDown(e) && (Config.PlaybackNoFocus || IsActive || TerrariaWindowLocator.CheckIfFocused())) { if (server != null) { HostStartPlay(); } else { Play(); } } else if (Config.Keybinds.Pause.IsDown(e) && (Config.PlaybackNoFocus || IsActive || TerrariaWindowLocator.CheckIfFocused())) { if (server != null) { HostStop(); } else { Pause(); } } else if (Config.Keybinds.Stop.IsDown(e)) { if (server != null) { HostStop(); } else { Stop(); } } } if (Config.Keybinds.Mount.IsDown(e) && TerrariaWindowLocator.CheckIfFocused()) { mounted = !mounted; checkBoxMounted.IsChecked = mounted; } for (int i = 0; i < Config.Midis.Count; i++) { if (Config.Midis[i].Keybind.IsDown(e) && (Config.PlaybackNoFocus || IsActive || TerrariaWindowLocator.CheckIfFocused())) { Stop(); loaded = false; Config.MidiIndex = i; listMidis.SelectedIndex = i; loaded = true; UpdateMidi(); } } if (Config.Keybinds.Close.IsDown(e) && (Config.CloseNoFocus || IsActive || TerrariaWindowLocator.CheckIfFocused())) { Close(); } }