Miew.prototype._onKeyDown = function()

in packages/miew/src/Miew.js [2855:2925]


Miew.prototype._onKeyDown = function (event) {
  if (!this._running || !this._hotKeysEnabled) {
    return;
  }

  // editing keys
  if (settings.now.editing) {
    switch (event.code) {
      case 'KeyC':
        this._enterComponentEditMode();
        break;
      case 'KeyF':
        this._enterFragmentEditMode();
        break;
      case 'KeyA':
        switch (this._editMode) {
          case EDIT_MODE.COMPONENT:
            this._applyComponentEdit();
            break;
          case EDIT_MODE.FRAGMENT:
            this._applyFragmentEdit();
            break;
          default:
            break;
        }
        break;
      case 'KeyD':
        switch (this._editMode) {
          case EDIT_MODE.COMPONENT:
            this._discardComponentEdit();
            break;
          case EDIT_MODE.FRAGMENT:
            this._discardFragmentEdit();
            break;
          default:
            break;
        }
        break;
      default:
    }
  }

  // other keys
  switch (event.code) {
    case 'NumpadAdd':
      if (event.altKey) {
        event.preventDefault();
        event.stopPropagation();
        this._forEachComplexVisual((visual) => {
          visual.expandSelection();
          visual.rebuildSelectionGeometry();
        });
        this._updateInfoPanel();
        this._needRender = true;
      }
      break;
    case 'NumpadSubtract':
      if (event.altKey) {
        event.preventDefault();
        event.stopPropagation();
        this._forEachComplexVisual((visual) => {
          visual.shrinkSelection();
          visual.rebuildSelectionGeometry();
        });
        this._updateInfoPanel();
        this._needRender = true;
      }
      break;
    default:
  }
};