void GLWidget::keyReleaseEvent (QKeyEvent* event) { if (event->isAutoRepeat()) event->ignore(); Editor* editor = dynamic_cast<Editor*>(parent()); switch(event->key()) { case Qt::Key_Left: case Qt::Key_Right: editor->MoveHorizontal(0); break; case Qt::Key_Up: case Qt::Key_Down: editor->MoveVertical(0); break; case Qt::Key_Control: editor->SetAppendMode(false); break; case Qt::Key_Shift: editor->SetRemoveMode(false); break; default: event->ignore(); break; } }