Fix logical inversion bug in hotkey evaluation

This commit fixes a bug which causes the hotkey subsystem accept
successive key-presses instead of keeping keys pressed.

Target #532 and #534.