@Override
  public ScreenView handleKeyPress(KeyPress keyPress) {
    switch (keyPress.getType()) {
      case Escape:
        return fieldScreenPresenter.transitionToNextScreen();

      case ArrowUp:
        fieldScreenPresenter.arrowUp();
        return this;

      case ArrowDown:
        fieldScreenPresenter.arrowDown();
        return this;

      case PageUp:
      case Home:
        fieldScreenPresenter.pageUp();
        return this;

      case PageDown:
      case End:
        fieldScreenPresenter.pageDown();
        return this;

      case ArrowRight:
        fieldScreenPresenter.turnOnMoveMode();
        return this;

      case ArrowLeft:
      case Enter:
        fieldScreenPresenter.turnOffMoveMode();
        return this;

      default:
        // Do nothing
        break;
    }

    if (keyPress.getType() != KeyPress.Type.Character) {
      return this;
    }

    assert keyPress.getCharacter() != null;
    switch (keyPress.getCharacter()) {
      case 'd':
      case ' ':
        fieldScreenPresenter.switchFieldDisplay();
        break;

      case 's':
        fieldScreenPresenter.setSortField();
        break;

      case 'q':
        return fieldScreenPresenter.transitionToNextScreen();

      default:
        // Do nothing
        break;
    }

    return this;
  }
The screen where we can change the displayed fields, the sort key and the order of the fields.
hbase-hbtop/src/main/java/org/apache/hadoop/hbase/hbtop/screen/field/FieldScreenView.java