C'est plus simple alors... Tu créées une variable qui contient un temps. Dans ton code, un appui sur "1" met 300 dans la variable temps, un appui sur "2" met 400, etc....
Et toujours à la suite, si appui sur A, tu colles le relais 1, avec une tempo de "temps" secondes, bouton B, relais 2, tempo de XX secondes....
Pas difficile !
-----






et la arduino n'est pas multitâche... Une méthode pourrait consister à découper tes tempos en toutes petites tempos (au lieu de faire une fois 300 ms, faire 10* 30 ms par exemple) et lire le clavier entre les deux. mais bof... Car ta fonction de lecture du clavier possède elle aussi son temps d’exécution...