fixed keyListener, but does not repaint