diff --git a/src/core/web_event_factory.cpp b/src/core/web_event_factory.cpp
index e4525ef946fe69f5c1237f045d794e343015c406..4f502337694aaa24828c1104dfb288c60027c2ba 100644
--- a/src/core/web_event_factory.cpp
+++ b/src/core/web_event_factory.cpp
@@ -647,6 +647,9 @@ static int windowsKeyCodeForKeyEvent(unsigned int keycode, bool isKeypad)
  */
 static ui::DomKey getDomKeyFromQKeyEvent(QKeyEvent *ev)
 {
+    if (!ev->text().isEmpty())
+        return ui::DomKey::FromCharacter(ev->text().toUcs4().first());
+
     switch (ev->key()) {
     case Qt::Key_Backspace:
         return ui::DomKey::BACKSPACE;