IF Logik vereinfachen

Hey Leute,
könnte mir wer sagen oder ein Beispiel geben wie ich diese if logik vereinfachen könnte?

if (rightStateold == LOW && rightState == HIGH) { //Tab wechseln
    menu++;
    updateMenu();
  }

  if (enterStateold == LOW && enterState == HIGH && menu == 1) { //Untermenü Winkel anzeigen
    menu = 5;
    Serial.println("Untermenü Winkel");
    updateMenu();
  }

  if (enterStateold == LOW && enterState == HIGH && menu == 2) { //Untermenü Winkel anzeigen
    menu = 7;
    Serial.println("Untermenü Winkel");
    updateMenu();
  }

  if (enterStateold == LOW && enterState == HIGH && menu == 3) { //Untermenü Grenzwinkel einstellen
    menu = 9;
    Serial.println("Untermenü Grenzwinkel einstellen");
    updateMenu();
  }

  if (escStateold == LOW && escState == HIGH) { //Escape
    menu = 1;
    Grenzwinkelold = Grenzwinkel;
    updateMenu();
  }

  if (escState == LOW && enterState == LOW) { //Reset wenn Enter und Esc gedrückt wird
    ESP.restart();
  }

  if (menu == 9) {  //Verändern des Grenzwinkels wenn man im Tab 3 ist (Set Limit)

    if (upStateold == LOW && upState == HIGH) { //Inkrementieren
      Grenzwinkelold++;
      Serial.println(Grenzwinkelold);
      if (Grenzwinkelold > 90) { //Begrenzung des Grenzwinkels auf 0° bis 90°
        Grenzwinkelold = 90;
      }
      lcd.clear();
      lcd.print("Grenzwinkel:");
      lcd.setCursor(0, 1);
      lcd.print(Grenzwinkelold);
      lcd.print("\337");
    }


    if (downStateold == LOW && downState == HIGH) { //Dekrementieren
      Grenzwinkelold--;
      if (Grenzwinkelold < 0) {
        Grenzwinkelold = 0;
      }
      lcd.clear();
      lcd.print("Grenzwinkel:");
      lcd.setCursor(0, 1);
      lcd.print(Grenzwinkelold);
      lcd.print("\337");
    }


    if (upState == LOW && downState == LOW) { //Nullstand
      Grenzwinkelold = 0;
      lcd.clear();
      lcd.print("Grenzwinkel:");
      lcd.setCursor(0, 1);
      lcd.print(Grenzwinkelold);
      lcd.print("\337");
    }
    upStateold = upState;
    downStateold = downState;
  }

  if ((rightStateold == LOW && rightState == HIGH) && (menu == 9)) { //Untermenü Grenzwinkel einstellen
    Grenzwinkel = Grenzwinkelold;
    menu = 1;
    updateMenu();
  }
  escStateold = escState;
  enterStateold = enterState;
  rightStateold = rightState;

(deleted)

Die Abfrage mit == ist überflüssig

if (state == HIGH)

wird zu

if (state)
if (state == LOW)

wird zu

if (!state)

Und ein anderer weg mit if zusammenfassen geht nicht?

Ich rate aus deinem Schnipsel, dass du Tasten benutzt.

In dem Fall kann man das mit einer Library (z.B. bounce2) übersichtlicher schreiben, aus

if (rightStateold == LOW && rightState == HIGH) { //Tab wechseln

könnte so z.B.

if (rightState.rose()) { // Tab wechseln

werden.