private void handleOtherKeyEvents(int keyCode) {
		if(keyCode == KeyEvent.VK_S) {
			if(model.getShop().getBounds().contains(model.getRobotLocation())) {
				model.getShop().showDialog();
				model.LOCKED = true;
				view.refreshView();
			} else if(model.getPortal().getBounds().contains(model.getRobotLocation())) {
				model.getPortal().setDialogVisible(true);
				model.LOCKED = true;
				view.refreshView();
			}
		} else if(keyCode == KeyEvent.VK_J) {
			view.getPanel().scroll(Direction.DOWN, GameModel.UNIT);
		} else if(keyCode == KeyEvent.VK_M) {
			view.getPanel().scroll(Direction.UP, GameModel.UNIT);
		} else if((keyCode == KeyEvent.VK_R) && (model.getRobot().getReserves() >= 1)) {
			if(model.getRobot().getFuelTank().isFull()) {
				view.addFlyUp("Tank is already full!");
			} else {
				model.getRobot().useReserve();
				model.getRobot().getFuelTank().setFuelLevel(
						model.getRobot().getFuelTank().getFuelCapacity());
				view.addFlyUp("Used reserve fuel tank");
			}
		} else if(keyCode == KeyEvent.VK_D) {
			if(model.getRobotLocation().y <= GameModel.GROUND_LEVEL) {
				view.addFlyUp("Can't use dynamite aboveground!");
			} else if(model.getRobot().getDynamite() <= 0) {
				view.addFlyUp("You don't have any dynamite!");
			} else {
				if(!model.isInfiniteDynamite()) model.getRobot().useDynamite();
				for(Point point:Helper.getBlastRadius(model.getRobotLocation(),
						GameModel.UNIT, model.getRobot().getDynamiteTier())) {
					model.addHole(point);
					if(model.getRocks().contains(new Rectangle(point.x,
							point.y, GameModel.UNIT, GameModel.UNIT))) {
						model.getRocks().remove(new Rectangle(point.x,
								point.y, GameModel.UNIT, GameModel.UNIT));
					}
				}
				view.addFlyUp("Used dynamite");
			}
		} else if((keyCode == KeyEvent.VK_ENTER) && (model.getRobot().isDead())) {
			view.setVisible(false);
			Yamg controller = model.getController();
			controller.runApplication();
		}
	}