Are you starting both timers at the beginning of the scene? Also It’s not clear why you are using two timers… they both seem to be for the purpose of throttling input processing… so I would think you can just use a single timer for that.
You may want to refactor your input logic to be separate from the resulting actions.
I agree with @krunkster, I think the problem might lie in your timers. Are you starting the “controls_timer” at the beginning of the scene (or in some other way)? If not, then the sub condition will never be true and therefore the variable won’t be set to 1.
You might try moving the Reset the timer "controls_timer" action and putting it just under the Change the global variable controls: set to 0 in the previous event. That would start the timer and after 0.35 seconds the sub condition would be true and the variable will change back to 1.