Alt-tabbing or focusing an EditBox frame while holding a key will cause unwanted behavior. There is no way to solve this 100% of the time, but these are a few situations in which it can be mitigated:
If no event has been fired for over .5 seconds, or .1 seconds if the second event was already fired, then the key has been released. This time may vary with ping.
If the game loses focus, then the key has been released.
If an EditBox frame gains focus, then the key has been released.
These cases should be handled.
[x] The first case should be handled internally by OSKeyLib.
[x] Create a public resetKeys(pId) static method which will set all keys as not pressed. This should be called when:
[x] An EditBox frame gains focus. Create a library to register editboxes and handle this.
[x] Handle Decoration Browser EditBox.
[x] Handle Terrain Editor EditBox for plateau height.
[x] When a player presses enter, they will use either the normal chat box or adv chat box. In both cases, keys should be reset.
Alt-tabbing or focusing an EditBox frame while holding a key will cause unwanted behavior. There is no way to solve this 100% of the time, but these are a few situations in which it can be mitigated:
These cases should be handled.