The previous handling was not preserving the original key events why the meta state could be lost.
The original code made some attempts for that, but the events were lost. I modified this handling, even if it probably means that my changes will be harder to merge to the original.
The initial changes was fine, but the code was too messy so I rewrote the handling again, took quite some time...
If the changes work fine for other users, I will post in the original thread again, these changes probably addresses most of the problems with unwanted changes that the module introduces.