lo mejor que puedes hacer es poner un bucle en el cual recibas la entrada del boton, con un sleep muy pequeño (echale un 1) lo justo para evitar que el consumo se suba a 100%. Para poder continuar, lo que haces es esperar un evento de Timer (en windows).
Postee en este foro como usar un timer, dale a buscar.
Entonces, si recibes el boton, actuas y paras el timer, si no esperas y reaccionas al evento de timer para decidir actuar
suerte