From c8b3a1285653deb6156acd63f45179b13e07c549 Mon Sep 17 00:00:00 2001 From: german77 Date: Sat, 15 Jan 2022 13:44:18 -0600 Subject: [PATCH] yuzu: Add volume up/down hotkeys --- src/yuzu/configuration/config.cpp | 6 ++++-- src/yuzu/configuration/config.h | 2 +- src/yuzu/main.cpp | 12 +++++++++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 87a4b5c78..34329970e 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -65,7 +65,10 @@ const std::array Config::default_stick_mod = { // This must be in alphabetical order according to action name as it must have the same order as // UISetting::values.shortcuts, which is alphabetically ordered. // clang-format off -const std::array Config::default_hotkeys{{ +const std::array Config::default_hotkeys{{ + {QStringLiteral("Audio Mute/Unmute"), QStringLiteral("Main Window"), {QStringLiteral("Ctrl+M"), QStringLiteral("Home+Dpad_Right"), Qt::WindowShortcut}}, + {QStringLiteral("Audio Volume Down"), QStringLiteral("Main Window"), {QStringLiteral("-"), QStringLiteral("Home+Dpad_Down"), Qt::ApplicationShortcut}}, + {QStringLiteral("Audio Volume Up"), QStringLiteral("Main Window"), {QStringLiteral("+"), QStringLiteral("Home+Dpad_Up"), Qt::ApplicationShortcut}}, {QStringLiteral("Capture Screenshot"), QStringLiteral("Main Window"), {QStringLiteral("Ctrl+P"), QStringLiteral("Screenshot"), Qt::WidgetWithChildrenShortcut}}, {QStringLiteral("Change Docked Mode"), QStringLiteral("Main Window"), {QStringLiteral("F10"), QStringLiteral("Home+X"), Qt::ApplicationShortcut}}, {QStringLiteral("Continue/Pause Emulation"), QStringLiteral("Main Window"), {QStringLiteral("F4"), QStringLiteral("Home+Plus"), Qt::WindowShortcut}}, @@ -74,7 +77,6 @@ const std::array Config::default_hotkeys{{ {QStringLiteral("Fullscreen"), QStringLiteral("Main Window"), {QStringLiteral("F11"), QStringLiteral("Home+B"), Qt::WindowShortcut}}, {QStringLiteral("Load Amiibo"), QStringLiteral("Main Window"), {QStringLiteral("F2"), QStringLiteral("Home+A"), Qt::WidgetWithChildrenShortcut}}, {QStringLiteral("Load File"), QStringLiteral("Main Window"), {QStringLiteral("Ctrl+O"), QStringLiteral(""), Qt::WidgetWithChildrenShortcut}}, - {QStringLiteral("Mute Audio"), QStringLiteral("Main Window"), {QStringLiteral("Ctrl+M"), QStringLiteral(""), Qt::WindowShortcut}}, {QStringLiteral("Restart Emulation"), QStringLiteral("Main Window"), {QStringLiteral("F6"), QStringLiteral(""), Qt::WindowShortcut}}, {QStringLiteral("Stop Emulation"), QStringLiteral("Main Window"), {QStringLiteral("F5"), QStringLiteral(""), Qt::WindowShortcut}}, {QStringLiteral("TAS Start/Stop"), QStringLiteral("Main Window"), {QStringLiteral("Ctrl+F5"), QStringLiteral(""), Qt::ApplicationShortcut}}, diff --git a/src/yuzu/configuration/config.h b/src/yuzu/configuration/config.h index 2e377d63b..22f27d80d 100644 --- a/src/yuzu/configuration/config.h +++ b/src/yuzu/configuration/config.h @@ -46,7 +46,7 @@ public: default_mouse_buttons; static const std::array default_keyboard_keys; static const std::array default_keyboard_mods; - static const std::array default_hotkeys; + static const std::array default_hotkeys; private: void Initialize(const std::string& config_name); diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index b3ad89281..d9e689d14 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -1014,8 +1014,18 @@ void GMainWindow::InitializeHotkeys() { Settings::values.use_docked_mode.GetValue(), *system); dock_status_button->setChecked(Settings::values.use_docked_mode.GetValue()); }); - connect_shortcut(QStringLiteral("Mute Audio"), + connect_shortcut(QStringLiteral("Audio Mute/Unmute"), [] { Settings::values.audio_muted = !Settings::values.audio_muted; }); + connect_shortcut(QStringLiteral("Audio Volume Down"), [] { + const auto current_volume = static_cast(Settings::values.volume.GetValue()); + const auto new_volume = std::max(current_volume - 5, 0); + Settings::values.volume.SetValue(static_cast(new_volume)); + }); + connect_shortcut(QStringLiteral("Audio Volume Up"), [] { + const auto current_volume = static_cast(Settings::values.volume.GetValue()); + const auto new_volume = std::min(current_volume + 5, 100); + Settings::values.volume.SetValue(static_cast(new_volume)); + }); connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [] { Settings::values.disable_fps_limit.SetValue(!Settings::values.disable_fps_limit.GetValue()); });