I don't know if this is the right place for this issue.
Anyway.
It seems that Macro in current KLL spec treat the modifier key as the plain keys .
- If I pressed one modifier key, let's say
RShift, then trigger a macro with a LShift in it's result.
- Do not release the
RShift key.
- at the end of macro it will send a
LShift release event to host, which cause the "shift" flag changed on host. But the 'RShift' is still pressed.
The ideal way should be before macro execute, check the current modifier key status, if it's result contains a modifier key and that key has already active, than ignore the modifier key in result. let's user to release that modifier key manually.
I think this way is better.
I don't know if this is the right place for this issue.
Anyway.
It seems that Macro in current KLL spec treat the modifier key as the plain keys .
RShift, then trigger a macro with aLShiftin it's result.RShiftkey.LShiftrelease event to host, which cause the "shift" flag changed on host. But the 'RShift' is still pressed.The ideal way should be before macro execute, check the current modifier key status, if it's result contains a modifier key and that key has already active, than ignore the modifier key in result. let's user to release that modifier key manually.
I think this way is better.