_listboxOnKeyDown(ev) {
    const { key } = ev;
    switch (key) {
      case 'Escape':
        this.opened = false;
        super._listboxOnKeyDown(ev);
        this._setTextboxValue('');
        break;
      case 'Backspace':
      case 'Delete':
        if (this.requireOptionMatch) {
          super._listboxOnKeyDown(ev);
        } else {
          this.opened = false;
        }
        break;
      case 'Enter':
        if (this.opened) {
          ev.preventDefault();
        }

        if (
          !this.requireOptionMatch &&
          this.multipleChoice &&
          (!this.formElements[this.activeIndex] ||
            this.formElements[this.activeIndex].hasAttribute('aria-hidden') ||
            !this.opened)
        ) {
          this.modelValue = this.parser([...this.modelValue, this._inputNode.value]);
          this._inputNode.value = '';
          this.opened = false;
        } else {
          super._listboxOnKeyDown(ev);
          this._resetListboxOptions();
        }
        if (!this.multipleChoice) {
          this.opened = false;
        } else {
          this._inputNode.value = '';
        }
        break;
      default: {
        super._listboxOnKeyDown(ev);
        break;
      }
    }
  }
@enhance ListboxMixin
@param {KeyboardEvent} ev
@protected