Listen to press event instead.
Do not allow deny of release states.
Send modifiers before keys.
Keep track of keys and reset keyboard when keybind is invoked.