|Project:||The Open Toolkit library|
Each separate keypress should generate one KeyUp KeyboardEvent when the key is first pressed and one KeyDown event when it's the key's released. This seems to work fine in XP/.NET, but in Ubuntu the events are called in time with a delayed repeat (ie. like holding down a letterrrrrrrrrrrrrrr in a text editor), with each KeyUp event immediately preceding a KeyDown event.
This means that what appears to be one sustained keypress actually manifests as a repeated set of KeyDown/KeyUp events. This causes confusion for game or application events which require keys to be double-tapped or pressed in combination.
See the attached solution for a demo.