First you need to solve the issue with the doube tap. This generally is done by using a global variable, ex: tapped set to 1 when the key is pressed, and it is set back to 0 in, say, 2 seconds. If you press the same key again when the tapped variable is 1, then you achieve a double tap. You should probably tie the "double tap timer" variable to a global variable as well, so that you can fine tune it.
İf you wish to keep dashing as long as the key is pressed, this means dash is like a state, you will probably want to make another variable like IsDashing, and set it to 1 when the double tap is complete, set it back to 0 at each key release. (You must store the dash-starting key in another variable as well, because maybe the player can dash to right and left, maybe even up and down)
Below subject has some examples to double-touch event, you could improvise them to suit your needs I think. It would also be a good exercise:
Welcome to C2 and hope you find it to your liking.