When I notice that a Hotkey doesn't work anymore, every other hotkey I have stays usable ONCE.
Ooo! THAT'S a good detail to include! It's not a complete solution of course, or a direct pointer to the problem, but it starts to suggest what the problem might be under the hood. That's FAR better than just, "it doesn't work." Thank you!
To me, it suggests that there's supposed to be an "edge detector" somewhere that for some reason stops (accurately) recording the previous state. Something like:
C-like:
if (status && !status_prev)
{
do_something();
}
status_prev = status;
That's supposed to
do_something()
only when status *becomes* true, and not constantly while it's true. And as-written here, it usually does. It might be tempting though, to write it like this, which *almost* works:
C-like:
if (status && !status_prev)
{
status_prev = status;
do_something();
}
See if you can figure out how it breaks, or how the first one might break. And how you might fix either one and how that fix might break. Also consider the addition of other logic into the same
if(...)
, which is normally in a state that has no effect on the condition shown here, but sometimes it changes to the other state...
Based on just your description, I suspect that something along those lines is happening *somewhere*. It could be in OBS, or it could be in the OS somewhere, with the way it handles keystrokes.