Another option is an FSM which uses the "wait" function to essentially do the same function as the helper FSM posted above:
State 1: On click/key press, move to a new state named state2
State 2: On click/key press, transition to state that activates run. Also add a "wait" action to this state, where after X amount of time, it sends an event which returns the FSM to state 1. The X time is the time between clicks, or "double click" speed. You would want this number to be pretty small, maybe try .25 as a starting point.
This way, if the player presses the run key once, but not again after a short time, the FSM won't activate the run state.