@Override
        public void keyPressed(KeyEvent e)
        {
            map.keyPressed(e);
            switch (e.getKeyCode())
            {
                // Floor changes. Not handled here, but tracked for re-painting:
                case KeyEvent.VK_PAGE_UP:
                case KeyEvent.VK_PAGE_DOWN:
                    break;
                // Plus (or equals without shift) will zoom in
                case KeyEvent.VK_PLUS:
                case KeyEvent.VK_EQUALS:
                case KeyEvent.VK_ADD:
                    if (scale < 64)
                    {
                        scale = scale * 2;
                        load_and_scale_images();
                    }
                    break;

                // Minus will zoom out
                case KeyEvent.VK_MINUS:
                case KeyEvent.VK_SUBTRACT:
                    if (scale > 8)
                    {
                        scale = scale / 2;
                        load_and_scale_images();
                    }
                    break;

                // All other keys do not have global drawing effects
                default:
                    fullPaint = false;
            }

            repaint();
        }