4 Bit Display, Rotary und USB HID (Arduino Uno), Menü auswählen und USB HID senden

Ich komme einfach nicht mit, meinst Du so:

  {
    lastReportedPos = encoderPos;
    vorhin = jetzt; // Monoflop retriggern
    displayOn = true;
    lcd.setCursor(0, 0);
    lcd.print("12345678901234567890");
    //    lcd.setCursor(6, 1);
    //    lcd.print("                    ");
    lcd.setCursor(6, 1);
    if (encoderPos < 0 && lastMutePos == 0) encoderPos = 0;
    if (encoderPos <= 3 && lastMutePos == 1) encoderPos = 4;                
    if (encoderPos > 4) encoderPos = 4;
    if (lastMutePos == 0)
    lcd.print(text[encoderPos]);
    neuePosition = true;
    if (encoderPos >3 && lastMutePos == 1)
    {
    lcd.print("  Mute*  ");
    }
  }
  {
    if (displayOn && encoderPos <= 3 && lastMutePos == 0 && neuePosition && !digitalRead(encoderPinSW)) // nur beim Tastendruck des Encoders werden die Zeichen verschickt
    displayOn = true;
    neuePosition = false;
    Serial.write(code[encoderPos], 8);
    releaseKey();

Auch hier werden immer sofort eeeeeeeeeeee ausgegeben, ohne Tastendruck.
Irgendwie habe ich mit dem einfügen von dem

displayOn = true;

den Tastendruck ausgehebelt, komme aber nicht drauf wie.

Es wird immer das erste Zeichen sofort ausgegeben eeeeeeeeeeeeeeeeeeeeeeeeeeee usw.