public void keyPressed(int keyCode, int rawKeyCode) {
        if (keyCode == GameCanvas.FIRE) {
            switch (currentRow) {
                case CONFIRM_ROW:
                    applyChange();
                    changeScene(new MainMenu(engine));
                    break;
                case RESET_ROW:
                    if (isReset) {
                        if (isConfirmReset) {
                            applyReset();
                        }
                        isReset = false;
                    } else {
                        isReset = true;
                        isConfirmReset = false;
                    }
                    break;
            }
        } else if (keyCode == GameCanvas.DOWN && !isReset) {
            if (++currentRow > CONFIRM_ROW) {
                currentRow = SOUND_ROW;
            }
        } else if (keyCode == GameCanvas.UP && !isReset) {
            if (--currentRow < SOUND_ROW) {
                currentRow = CONFIRM_ROW;
            }
        } else if (keyCode == GameCanvas.RIGHT || keyCode == GameCanvas.LEFT) {
            switch (currentRow) {
                case SOUND_ROW:
                    currentSound = !currentSound;
                    break;
                case RESET_ROW:
                    if (isReset) {
                        isConfirmReset = !isConfirmReset;
                    }
                    break;
            }
        }
    }