code: protected void setupKeying() {
  		setOnKeyPressed(event -> {
  			switch (event.getCode()) {
  			case LEFT:
  				moveLeft(event.isShiftDown(), event.isControlDown(), false);
  				event.consume();
  				break;
  			case RIGHT:
  				moveRight(event.isShiftDown(), event.isControlDown(), false);
  				event.consume();
  				break;
  			case UP:
  				if (event.isAltDown()) {
  					zoomIn();
  				} else {
  					moveUp(event.isShiftDown(), event.isControlDown(), false);
  				}
  				event.consume();
  				break;
  			case DOWN:
  				if (event.isAltDown()) {
  					zoomOut();
  				} else {
  					moveDown(event.isShiftDown(), event.isControlDown(), false);
  				}
  				event.consume();
  				break;
  			case PAGE_UP:
  				if (event.isControlDown()) {
  					moveLeft(false, false, true);
  				} else {
  					moveUp(false, false, true);
  				}
  				event.consume();
  				break;
  			case PAGE_DOWN:
  				if (event.isControlDown()) {
  					moveRight(false, false, true);
  				} else {
  					moveDown(false, false, true);
  				}
  				event.consume();
  				break;
  				//$CASES-OMITTED$
  			default:
  			}
  		});
  	}
docs: Setup the response of the pane to key events.