         digitalWrite(LED_BUILTIN, LOW);
         backlightTimeout = millis() + BACKLIGHT_PERIODS;
         autoOffBacklight = true;
+        if (isCompleted)
+          return;
     }
   }
 }

            break;
          case KEY_D:
            strBuffer[chrCtr] = 0;
            return;
          default:
            chr = alphaMode ? getAlphabet(key.character, key.tapCounter) : key.character;
        }
        if (!upperCaseMode && chr >= 'A')
          chr += 32; // makes lower case
        if (key.state == MULTI_TAP && alphaMode && key.character >= '1' && key.character <= '9') {

  setCursorPos();
  chrCtr = 0;
  displayInputMode();
  boolean isCompleted = false;
  while (true) {
    key = kpd.getKey();
    switch (key.state) {
