e->type == QEvent::KeyPress
Вы сравниваете разные типы. Попробуйте e->type() ==QWSEvent::Key
UPD: Если использовать e->type() ==QWSEvent::Key , то, судя по документации, можно определить только активность клавиш. Но разобрать, нажата или отпущена клавиша не получится.
Можно преобразовать тип QWSEvent к QEvent так: QEvent *event = (QEvent *)e;
Тогда можно сравнивать как у вас в коде, то есть можно определить момент нажатия и момент отпускания.
if(event->type() == QEvent::KeyPress)
{......и так далее
Саму клавишу можно определить аналогично:
QKeyEvent *keyEvent = (QKeyEvent *)e;
if( keyEvent->key() == Qt::Key_Return )
{... и так далее.
Сам не проверял, предполагаю исходя из доков.