PixelMonkey but the problem with the simulate control is when you hold the key with the simulate control, the character keep jumping instead of stopping
I use a workaround myself involving custom controls. I have an <Input>Pressed boolean that turns false at the end of each tick after all other events have run in that tick (so it only registers true once) and an <Input>Held variable that adds 1*dt to itself depending upon how long the control is held. Then I use the "on floor" and "is jumping" conditionals of the Sonic Physics in the Player object for further control.
Works really well, not a whole ton of set up.