handleKeyPress(event) {
    const key = getKeyName(event);

    if (this._isIgnoringRepeatedEvent(event, key, KeyEventType.keypress)) {
      return;
    } else if (this.currentCombination.isKeyPressSimulated(key)){
      this.logger.logEventAlreadySimulated(event, key, KeyEventType.keypress);

      return;
    }

    /**
     * We first decide if the keypress event should be handled (to ensure the correct
     * order of logging statements)
     */
    const reactAppResponse = this._howReactAppRespondedTo(
      event, key, KeyEventType.keypress
    );

    /**
     * Add new key event to key combination history
     */
    if (this.currentCombination.isKeyIncluded(key)) {
      this._recordNewKeyInCombination(key, KeyEventType.keypress, stateFromEvent(event));
    }

    if (reactAppResponse === EventResponse.unseen) {
      /**
       * If the key event has not been seen by the React application, we ensure that
       * it's not still waiting for it. This occurs when action handlers bound to keydown
       * move the focus outside of the react app before it can record the keypress or
       * keyup
       */
      this.keyEventManager.closeHangingKeyCombination(key, KeyEventType.keypress);

      if (this.eventOptions.ignoreEventsCondition(event)) {
        this.logger.logEventRejectedByFilter(event, key, KeyEventType.keypress);

        return;
      }
    }

    this._callHandlerIfNeeded(reactAppResponse, event, key, KeyEventType.keypress);
  }
Records a keypress keyboard event and matches it against the list of pre-registered
event handlers, calling the first matching handler with the highest priority if
one exists.

This method is called once when a keyboard event bubbles up to document, and checks
the keymaps for all of the mounted global HotKey components.
@param {SyntheticKeyboardEvent} event - Event containing the key name and state