Suis d'accord avec haifger ...
Tu n'entres dans l'ensemble des tests que si old_val == LOW ... Et comme dans le test imbriqué ou tu compte le temps d'appui tu testes si old_val== HIGH et qu'entre temps rien ne change old_val ... Et bien tu n'entres jamais dans le comptage de durée d'appui