Try adding tilde key to hotkey action

This commit is contained in:
WarmUpTill 2024-01-03 19:19:23 +01:00
parent 98f3f51ba9
commit b25c1250e5
5 changed files with 56 additions and 41 deletions

View File

@ -160,7 +160,9 @@ enum class HotkeyType {
Key_NumpadMultiply,
Key_NumpadDivide,
Key_NumpadDecimal,
Key_NumpadEnter
Key_NumpadEnter,
Key_Tilde,
};
} // namespace advss

View File

@ -555,6 +555,9 @@ static std::unordered_map<HotkeyType, long> 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},

View File

@ -14,14 +14,14 @@ bool MacroActionHotkey::_registered = MacroActionFactory::Register(
{MacroActionHotkey::Create, MacroActionHotkeyEdit::Create,
"AdvSceneSwitcher.action.hotkey"});
const static std::map<MacroActionHotkey::Action, std::string> actionTypes = {
static const std::map<MacroActionHotkey::Action, std::string> actionTypes = {
{MacroActionHotkey::Action::OBS_HOTKEY,
"AdvSceneSwitcher.action.hotkey.type.obs"},
{MacroActionHotkey::Action::CUSTOM,
"AdvSceneSwitcher.action.hotkey.type.custom"},
};
const static std::map<obs_hotkey_registerer_type, std::string> hotkeyTypes = {
static const std::map<obs_hotkey_registerer_type, std::string> hotkeyTypes = {
{OBS_HOTKEY_REGISTERER_FRONTEND,
"AdvSceneSwitcher.action.hotkey.type.obs.type.frontend"},
{OBS_HOTKEY_REGISTERER_SOURCE,
@ -34,7 +34,7 @@ const static std::map<obs_hotkey_registerer_type, std::string> hotkeyTypes = {
"AdvSceneSwitcher.action.hotkey.type.obs.type.service"},
};
static std::unordered_map<HotkeyType, long> keyTable = {
static const std::unordered_map<HotkeyType, long> keyTable = {
// Chars
{HotkeyType::Key_A, OBS_KEY_A},
{HotkeyType::Key_B, OBS_KEY_B},
@ -75,6 +75,9 @@ static std::unordered_map<HotkeyType, long> 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)

View File

@ -383,6 +383,9 @@ static std::map<HotkeyType, CGKeyCode> 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},

View File

@ -435,46 +435,49 @@ bool IsInFocus(const QString &executable)
return (equals || matches);
}
static std::unordered_map<HotkeyType, long> keyTable = {
static const std::unordered_map<HotkeyType, long> 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},