From b25c1250e5ed1d007e51851c40e901b3a50455f4 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Wed, 3 Jan 2024 19:19:23 +0100 Subject: [PATCH] Try adding tilde key to hotkey action --- src/hotkey.hpp | 4 +- src/linux/advanced-scene-switcher-nix.cpp | 3 + src/macro-core/macro-action-hotkey.cpp | 10 ++- src/osx/advanced-scene-switcher-osx.mm | 3 + src/win/advanced-scene-switcher-win.cpp | 77 ++++++++++++----------- 5 files changed, 56 insertions(+), 41 deletions(-) diff --git a/src/hotkey.hpp b/src/hotkey.hpp index 98ea5bd6..6d1c5a26 100644 --- a/src/hotkey.hpp +++ b/src/hotkey.hpp @@ -160,7 +160,9 @@ enum class HotkeyType { Key_NumpadMultiply, Key_NumpadDivide, Key_NumpadDecimal, - Key_NumpadEnter + Key_NumpadEnter, + + Key_Tilde, }; } // namespace advss diff --git a/src/linux/advanced-scene-switcher-nix.cpp b/src/linux/advanced-scene-switcher-nix.cpp index 323a50fe..2c7c6157 100644 --- a/src/linux/advanced-scene-switcher-nix.cpp +++ b/src/linux/advanced-scene-switcher-nix.cpp @@ -555,6 +555,9 @@ static std::unordered_map keyTable = { {HotkeyType::Key_8, XK_8}, {HotkeyType::Key_9, XK_9}, + // Other + {HotkeyType::Key_Tilde, XK_asciitilde}, + {HotkeyType::Key_F1, XK_F1}, {HotkeyType::Key_F2, XK_F2}, {HotkeyType::Key_F3, XK_F3}, diff --git a/src/macro-core/macro-action-hotkey.cpp b/src/macro-core/macro-action-hotkey.cpp index e04b74a9..d9bfa273 100644 --- a/src/macro-core/macro-action-hotkey.cpp +++ b/src/macro-core/macro-action-hotkey.cpp @@ -14,14 +14,14 @@ bool MacroActionHotkey::_registered = MacroActionFactory::Register( {MacroActionHotkey::Create, MacroActionHotkeyEdit::Create, "AdvSceneSwitcher.action.hotkey"}); -const static std::map actionTypes = { +static const std::map actionTypes = { {MacroActionHotkey::Action::OBS_HOTKEY, "AdvSceneSwitcher.action.hotkey.type.obs"}, {MacroActionHotkey::Action::CUSTOM, "AdvSceneSwitcher.action.hotkey.type.custom"}, }; -const static std::map hotkeyTypes = { +static const std::map hotkeyTypes = { {OBS_HOTKEY_REGISTERER_FRONTEND, "AdvSceneSwitcher.action.hotkey.type.obs.type.frontend"}, {OBS_HOTKEY_REGISTERER_SOURCE, @@ -34,7 +34,7 @@ const static std::map hotkeyTypes = { "AdvSceneSwitcher.action.hotkey.type.obs.type.service"}, }; -static std::unordered_map keyTable = { +static const std::unordered_map keyTable = { // Chars {HotkeyType::Key_A, OBS_KEY_A}, {HotkeyType::Key_B, OBS_KEY_B}, @@ -75,6 +75,9 @@ static std::unordered_map keyTable = { {HotkeyType::Key_8, OBS_KEY_8}, {HotkeyType::Key_9, OBS_KEY_9}, + // Other + {HotkeyType::Key_Tilde, OBS_KEY_ASCIITILDE}, + {HotkeyType::Key_F1, OBS_KEY_F1}, {HotkeyType::Key_F2, OBS_KEY_F2}, {HotkeyType::Key_F3, OBS_KEY_F3}, @@ -525,6 +528,7 @@ static inline void populateKeySelection(QComboBox *list) list->addItem("NumpadDivide"); list->addItem("NumpadDecimal"); list->addItem("NumpadEnter"); + list->addItem("Tilde"); } static void populateActionSelection(QComboBox *list) diff --git a/src/osx/advanced-scene-switcher-osx.mm b/src/osx/advanced-scene-switcher-osx.mm index 81ba6e2f..99d522dd 100644 --- a/src/osx/advanced-scene-switcher-osx.mm +++ b/src/osx/advanced-scene-switcher-osx.mm @@ -383,6 +383,9 @@ static std::map keyTable = { {HotkeyType::Key_8, kVK_ANSI_8}, {HotkeyType::Key_9, kVK_ANSI_9}, + // Other + // Not sure which key to use for tilde + {HotkeyType::Key_F1, kVK_F1}, {HotkeyType::Key_F2, kVK_F2}, {HotkeyType::Key_F3, kVK_F3}, diff --git a/src/win/advanced-scene-switcher-win.cpp b/src/win/advanced-scene-switcher-win.cpp index 8b75117e..10e97df7 100644 --- a/src/win/advanced-scene-switcher-win.cpp +++ b/src/win/advanced-scene-switcher-win.cpp @@ -435,46 +435,49 @@ bool IsInFocus(const QString &executable) return (equals || matches); } -static std::unordered_map keyTable = { +static const std::unordered_map keyTable = { // Chars - {HotkeyType::Key_A, 0x41}, - {HotkeyType::Key_B, 0x42}, - {HotkeyType::Key_C, 0x43}, - {HotkeyType::Key_D, 0x44}, - {HotkeyType::Key_E, 0x45}, - {HotkeyType::Key_F, 0x46}, - {HotkeyType::Key_G, 0x47}, - {HotkeyType::Key_H, 0x48}, - {HotkeyType::Key_I, 0x49}, - {HotkeyType::Key_J, 0x4A}, - {HotkeyType::Key_K, 0x4B}, - {HotkeyType::Key_L, 0x4C}, - {HotkeyType::Key_M, 0x4D}, - {HotkeyType::Key_N, 0x4E}, - {HotkeyType::Key_O, 0x4F}, - {HotkeyType::Key_P, 0x50}, - {HotkeyType::Key_Q, 0x51}, - {HotkeyType::Key_R, 0x52}, - {HotkeyType::Key_S, 0x53}, - {HotkeyType::Key_T, 0x54}, - {HotkeyType::Key_U, 0x55}, - {HotkeyType::Key_V, 0x56}, - {HotkeyType::Key_W, 0x57}, - {HotkeyType::Key_X, 0x58}, - {HotkeyType::Key_Y, 0x59}, - {HotkeyType::Key_Z, 0x5A}, + {HotkeyType::Key_A, 'A'}, + {HotkeyType::Key_B, 'B'}, + {HotkeyType::Key_C, 'C'}, + {HotkeyType::Key_D, 'D'}, + {HotkeyType::Key_E, 'E'}, + {HotkeyType::Key_F, 'F'}, + {HotkeyType::Key_G, 'G'}, + {HotkeyType::Key_H, 'H'}, + {HotkeyType::Key_I, 'I'}, + {HotkeyType::Key_J, 'J'}, + {HotkeyType::Key_K, 'K'}, + {HotkeyType::Key_L, 'L'}, + {HotkeyType::Key_M, 'M'}, + {HotkeyType::Key_N, 'N'}, + {HotkeyType::Key_O, 'O'}, + {HotkeyType::Key_P, 'P'}, + {HotkeyType::Key_Q, 'Q'}, + {HotkeyType::Key_R, 'R'}, + {HotkeyType::Key_S, 'S'}, + {HotkeyType::Key_T, 'T'}, + {HotkeyType::Key_U, 'U'}, + {HotkeyType::Key_V, 'V'}, + {HotkeyType::Key_W, 'W'}, + {HotkeyType::Key_X, 'X'}, + {HotkeyType::Key_Y, 'Y'}, + {HotkeyType::Key_Z, 'Z'}, // Numbers - {HotkeyType::Key_0, 0x30}, - {HotkeyType::Key_1, 0x31}, - {HotkeyType::Key_2, 0x32}, - {HotkeyType::Key_3, 0x33}, - {HotkeyType::Key_4, 0x34}, - {HotkeyType::Key_5, 0x35}, - {HotkeyType::Key_6, 0x36}, - {HotkeyType::Key_7, 0x37}, - {HotkeyType::Key_8, 0x38}, - {HotkeyType::Key_9, 0x39}, + {HotkeyType::Key_0, '0'}, + {HotkeyType::Key_1, '1'}, + {HotkeyType::Key_2, '2'}, + {HotkeyType::Key_3, '3'}, + {HotkeyType::Key_4, '4'}, + {HotkeyType::Key_5, '5'}, + {HotkeyType::Key_6, '6'}, + {HotkeyType::Key_7, '7'}, + {HotkeyType::Key_8, '8'}, + {HotkeyType::Key_9, '9'}, + + // Other + {HotkeyType::Key_Tilde, '~'}, {HotkeyType::Key_F1, VK_F1}, {HotkeyType::Key_F2, VK_F2},