"Trägheit" für Vor- und Zurück Tasten einbauen möglich?

Moin,

erst einmal Allen Frohe Weihnachten! :christmas_tree:

Unser ersten Tonuino ist nun auch fertig geworden und ist gestern verschenkt worden. Der „Würfel“ Kam ganz gut an. Stelle bei Gelegenheit auch noch ein Foto rein. Danke für dieses wundervolle Projekt und dieses 1A Forum.
Ein würde ich aber gern noch ändern. Da die Kleine ihren „Würfel“ viel durch die Gegend trägt, kommt sie oft an die Vor- und Zurückknöpfe daran die ich dummerweise an den Seiten angebracht habe.
Meine Frage ist nun: Gibt es eine Möglichkeit (für die 5-Knöpfe-Variante, DEV VErsion) für die Vor - Und Zurücktasten eine Art Trägheit einzubauen, sodass man eine Gewisse Zeit den Knopf gedrückt haben muss um das Ereignis auszulösen. Analog wie es bei der Doppelbelegung in der 3-Knopf Varianten gemacht wird. Wie kann ich das im Code realisieren.

BG, Meinereiner

Ich schiebe das mal nach oben.
Wäre schön wenn jemand einen Hinweis geben könnte wir man Longpress implementieren könnte.

Danke

Hallo,

ab Zeile 1062 musst du dafür folgende Änderungen machen. Zumindest geht’s dann bei mir:

#ifdef FIVEBUTTONS
if (buttonFour.wasReleased()) {
  if (isPlaying()) {
    if (!mySettings.invertVolumeButtons) {
      volumeUpButton();
    }
  }
  else {
    playShortCut(1);
  }
}
else if (buttonFour.pressedFor(LONG_PRESS)) {
  nextButton();
}
if (buttonFive.wasReleased()) {
  if (isPlaying()) {
    if (!mySettings.invertVolumeButtons) {
      volumeDownButton();
    }
  }
  else {
    playShortCut(2);
  }
}
else if (buttonFive.pressedFor(LONG_PRESS)) {
  previousButton();
}
#endif

Anstelle von „LONG_PRESS“ kannst du dir natürlich auch eine weitere Konstante definieren oder direkt eine Zeit (in Millisekunden) eintragen. Standard für „LONG_PRESS“ sind 1000 ms, also 1 Sekunde.

Beispiel für 5 Sekunden:

else if (buttonFour.pressedFor(5000)) {
  nextButton();
}

Was das für Auswirkungen auf Shortcuts etc. hat, kann ich dir im Moment jedoch nicht sagen. :wink:

Grüße
Matze

1 „Gefällt mir“

Hi Matze,

Danke für deine Hilfe! Ich werde den code heute Abend gleich mal einbauen

LG,
Jens