|
@@ -1194,9 +1194,10 @@ static inline bool modifiers_match(obs_hotkey_binding_t *binding,
|
|
|
uint32_t modifiers_, bool strict_modifiers)
|
|
|
{
|
|
|
uint32_t modifiers = binding->key.modifiers;
|
|
|
- return !modifiers ||
|
|
|
- (!strict_modifiers && (modifiers & modifiers_) == modifiers) ||
|
|
|
- (strict_modifiers && modifiers == modifiers_);
|
|
|
+ if (!strict_modifiers)
|
|
|
+ return (modifiers & modifiers_) == modifiers;
|
|
|
+ else
|
|
|
+ return modifiers == modifiers_;
|
|
|
}
|
|
|
|
|
|
static inline bool is_pressed(obs_key_t key)
|
|
@@ -1243,7 +1244,7 @@ static inline void handle_binding(obs_hotkey_binding_t *binding,
|
|
|
modifiers_match(binding, modifiers, strict_modifiers);
|
|
|
bool modifiers_only = binding->key.key == OBS_KEY_NONE;
|
|
|
|
|
|
- if (!binding->key.modifiers)
|
|
|
+ if (!strict_modifiers && !binding->key.modifiers)
|
|
|
binding->modifiers_match = true;
|
|
|
|
|
|
if (modifiers_only)
|