Nunca he trabajado con Niple, pero se me ocurre una idea.
En lugar de hacer un retardo de 60 segundos, podrías hacer retardos más pequeños, por ejemplo, digamos de 1 segundo.
Cada vez que finaliza un retardo de 1 segundo, incrementas una variable.
Cuando la variable sea mayor ha 60, consigues el tiempo deseado.
Al momento que incrementas la variable y si es aun menor que 60, verificas la tecla "cancelar". Obviamente si está activa, haces el proceso que deseas hacer cuando esa tecla es presionada.