The issue is simply that the OnKeyDown keeps firing (which it should!).
The solution is simply to connect to OnKeyUp!!!!
I have explained that many times before....And fires only once, which is what you want.
Alternatively - if it is the only use - set OnKeyDown to nil in the event itself. Then it also fires just once.)bad practice, but possible)