_onkeydown(evt) {
      let clock;
      const toggleSpinButtonTarget = evt.target && evt.target.tagName.toLowerCase().indexOf("segmented") === -1;
      if ((0, _Keys.isEnter)(evt)) {
        // Accept the time and close the popover
        this.fireEvent("close-picker");
      } else if ((0, _Keys.isSpace)(evt) && toggleSpinButtonTarget && !this._spacePressed) {
        evt.preventDefault();
        this._spacePressed = true;
        this._keyboardBuffer = "";
        this._resetCooldown(true);
        this._switchNextClock(true);
      } else if (((0, _Keys.isUp)(evt) || (0, _Keys.isDown)(evt)) && !(0, _Keys.isUpAlt)(evt) && !(0, _Keys.isDownAlt)(evt)) {
        // Arrows up/down increase/decrease currently active clock
        clock = this._clockComponent(this._activeIndex);
        clock && !clock.disabled && clock._modifyValue((0, _Keys.isUp)(evt));
        evt.preventDefault();
      } else if ((0, _Keys.isPageUp)(evt) || (0, _Keys.isPageDown)(evt)) {
        // PageUp/PageDown increase/decrease hours clock
        clock = this._clockComponent("hours");
        if (clock && !clock.disabled) {
          this._switchTo("hours");
          clock._modifyValue((0, _Keys.isPageUp)(evt));
        }
        evt.preventDefault();
      } else if ((0, _Keys.isPageUpShift)(evt) || (0, _Keys.isPageDownShift)(evt)) {
        // Shift+PageUp/Shift+PageDown increase/decrease minutes clock
        clock = this._clockComponent("minutes");
        if (clock && !clock.disabled) {
          this._switchTo("minutes");
          clock._modifyValue((0, _Keys.isPageUpShift)(evt));
        }
        evt.preventDefault();
      } else if ((0, _Keys.isPageUpShiftCtrl)(evt) || (0, _Keys.isPageDownShiftCtrl)(evt)) {
        // Ctrl+Shift+PageUp/Ctrl+Shift+PageDown increase/decrease seconds clock
        clock = this._clockComponent("seconds");
        if (clock && !clock.disabled) {
          this._switchTo("seconds");
          clock._modifyValue((0, _Keys.isPageUpShiftCtrl)(evt));
        }
        evt.preventDefault();
      } else if ((0, _Keys.isKeyA)(evt) || (0, _Keys.isKeyP)(evt)) {
        // A/P selects AM/PM segmented button item
        const buttonAmPm = this._buttonAmPm();
        if (buttonAmPm) {
          buttonAmPm.items[0].pressed = (0, _Keys.isKeyA)(evt);
          buttonAmPm.items[1].pressed = (0, _Keys.isKeyP)(evt);
          const period = (0, _Keys.isKeyA)(evt) ? buttonAmPm.items[0].textContent : buttonAmPm.items[1].textContent;
          period && this._calculatePeriodChange(period);
        }
        evt.preventDefault();
      } else if ((0, _Keys.isColon)(evt)) {
        // Colon (:) - Switch to next clock
        this._keyboardBuffer = "";
        this._exactMatch = undefined;
        this._resetCooldown(true);
        this._switchNextClock(true);
      } else if ((0, _Keys.isNumber)(evt) && this._entities[this._activeIndex]) {
        // Direct number entry
        this._exactMatch = undefined;
        this._resetCooldown(true);
        this._numbersInput(evt);
      }
    }
keydown event handler.

@param {event} evt Event object