Monoflop in Statemaschine mit Interrupts?

ich plane eine Ablaufsteuerung mit verschiedenen Zuständen.
Bei jeder Zustandsänderung soll für ca. eine Sekunde ein Ausgang auf HIGH gehen, zwei
andere Ausgänge bleiben in dem gesetzten Status.
Gleichzeitig sollen mehrere Taster abgefragt werden welche die Zustandsänderung auslösen.
Bei meiner jetzigen Methode fragt der Arduino ja in der 1sek nicht die Taster ab.
Gibt es eine gute Lösung mit Interrupts?
Jetziger Zustand
case 1:
digitalWrite(led_rot, HIGH);
digitalWrite(led_gelb, HIGH);
digitalWrite(led_gruen, HIGH);
delay(1000);
digitalWrite(led_gruen, LOW);
zustand = 1;
break;
case 2:
digitalWrite(led_rot, HIGH);
digitalWrite(led_gelb, HIGH);
break;

Weshalb sollte man das über Interrupts machen? Tastendrücke kannst du in der loop() auch pollen, selbst die Anzeigedauer "ca. eine Sekunde" gibt keinen Hinweis darauf, dass das irgendwie zeitkritisch wäre.

[edit] Als "Pollen" (aus dem Englischen "to poll" - abfragen) bezeichnet man die permanente Abfrage des Zustandes eines Pins, meist innerhalb der Hauptroutine, bei uns also die loop()-Funktion. Hier muss man selbstverständlich darauf achten, dass diese auch ohne Unterbrechungen durchläuft, eine delay() innerhalb der loop wäre hier kontraproduktiv, weil ein kurzer Tastendruck während dieser Pause nicht ausgewertet werden könnte.

Dein Kodestückchen sagt nichts aus. Daraus läßt sich bem besten willen keine Hilfe geben. Ansonsten stimme ich mit sth77 überein.
Grüße Uwe