MCPcopy Create free account
hub / github.com/WarmUpTill/SceneSwitcher / keysToOBSKeycombo

Function keysToOBSKeycombo

plugins/base/macro-action-hotkey.cpp:158–205  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156};
157
158static obs_key_combination
159keysToOBSKeycombo(const std::vector<HotkeyType> &keys)
160{
161 obs_key_combination combo{};
162 auto it = keyTable.find(keys.back());
163 if (it != keyTable.end()) {
164 combo.key = (obs_key_t)it->second;
165 }
166 if (keys.size() == 1) {
167 return combo;
168 }
169
170 for (uint32_t i = 0; i < keys.size() - 1; i++) {
171 switch (keys[i]) {
172 case HotkeyType::Key_Shift_L:
173 combo.modifiers |= INTERACT_SHIFT_KEY;
174 break;
175 case HotkeyType::Key_Shift_R:
176 combo.modifiers |= INTERACT_SHIFT_KEY;
177 break;
178 case HotkeyType::Key_Control_L:
179 combo.modifiers |= INTERACT_CONTROL_KEY;
180 break;
181 case HotkeyType::Key_Control_R:
182 combo.modifiers |= INTERACT_CONTROL_KEY;
183 break;
184 case HotkeyType::Key_Alt_L:
185 combo.modifiers |= INTERACT_ALT_KEY;
186 break;
187 case HotkeyType::Key_Alt_R:
188 combo.modifiers |= INTERACT_ALT_KEY;
189 break;
190 case HotkeyType::Key_Win_L:
191 combo.modifiers |= INTERACT_COMMAND_KEY;
192 break;
193 case HotkeyType::Key_Win_R:
194 combo.modifiers |= INTERACT_COMMAND_KEY;
195 break;
196 case HotkeyType::Key_CapsLock:
197 combo.modifiers |= INTERACT_CAPS_KEY;
198 break;
199 default:
200 break;
201 }
202 }
203
204 return combo;
205}
206
207static void InjectKeys(const std::vector<HotkeyType> &keys, int duration)
208{

Callers 1

InjectKeysFunction · 0.85

Calls 3

findMethod · 0.80
sizeMethod · 0.80
endMethod · 0.45

Tested by

no test coverage detected