_bindKeys()

in viewer/src/controller/KeyController.js [61:122]


  _bindKeys() {
    window.document.addEventListener('keydown', event => {
      if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {
        return;
      }

      const key = event.key;
      if (!this._has(key)) {
        return;
      }
      const customCommands = this._customCommands;
      if (key in customCommands) {
        customCommands[key]();
        return;
      }

      const emitter = this._emitter;
      const command = this._commands[key];
      const type = this._eventTypes[command.value];
      switch (key) {
        case 'c':
        case 'd':
        case 'e':
        case 'f':
        case 'm':
        case 'r':
        case 't':
        case 'v':
        case 'y':
          const visible = this._toggle(command.value);
          emitter.fire(type, {type, visible});
          break;
        case 'l':
          emitter.fire(type, {type});
          break;

        case '1':
          const cvm = this._rotateCvm();
          emitter.fire(type, {type, mode: cvm});
          break;
        case '2':
          const opm = this._rotateOpm();
          emitter.fire(type, {type, mode: opm});
          break;
        case '3':
          const ccm = this._rotateCcm();
          emitter.fire(type, {type, mode: ccm});
          break;
        case 'a':
        case 'q':
        case 's':
        case 'w':
        case 'x':
        case 'z':
          const size = this._changeSize(command.value, command.coeff);
          emitter.fire(type, {size, type});
          break;
        default:
          break;
      }
    });
  }