putting delay on reload button?

(in a swep) How would I go about setting a delay on the reload button so that it starts the function, but the function ends on the first frame (so holding reload =/= reload function happening every frame)?