Multifunktionstaster - Abfrage eines Status für eine Bestimmte Zeit?!

Okay... hier meine Lösung zu dem Problem (falls jemand Anderes mal danach sucht):

int tastehoch = 2;
int tastehochState = 0;
int druckzeit = 2000; //zeit die es brauch damit taster anspricht
unsigned long aktuellezeit;
long vorherigezeit;
int a = 0;

void setup()
{
  pinMode(tastehoch, INPUT);
  pinMode(13, OUTPUT);
}

void loop()
{  
  tastehochState = digitalRead(tasterhoch);
  if (tastehochState == HIGH)
  {
    if (a == 0)
    {
      vorherigezeit = millis();
      a = 1;
    }
    aktuellezeit = millis();
    if (aktuellezeit - vorherigezeit >= druckzeit)
    {
      digitalWrite(13, HIGH);
    }
  }
  else
  {
    digitalWrite(13, LOW);
    a = 0;
  }
}

vielen Dank nochmal für den Hinweis!
gute Nacht
Paul