summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brasser <mbrasser@ford.com>2018-01-16 11:44:37 -0600
committerMichael Brasser <michael.brasser@live.com>2018-01-17 15:39:56 +0000
commit235150a1909b9d666acbdb541c665a19cc474c01 (patch)
treee429a0bffc2c2b2f98e1fcc3a211761906b4911c
parentbe486076d4c6afdeae655ef66a2d007bed1cbbb2 (diff)
Fix key mapping of Enterv5.10.15.10.15.10
Qt's other platform plugins differentiate Key_Enter and Key_Return. Update the webgl plugin to do the same. Also remove unused code related to key mapping. Task-number: QTBUG-65686 Change-Id: I9e65b9413828f713f56d4942531f120b7d9cc6d7 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io>
-rw-r--r--src/plugins/platforms/webgl/qwebglintegration.cpp7
-rw-r--r--src/plugins/platforms/webgl/qwebglwebsocketserver.cpp37
-rw-r--r--src/plugins/platforms/webgl/webqt.jsx2
3 files changed, 8 insertions, 38 deletions
diff --git a/src/plugins/platforms/webgl/qwebglintegration.cpp b/src/plugins/platforms/webgl/qwebglintegration.cpp
index 8c17190..4305253 100644
--- a/src/plugins/platforms/webgl/qwebglintegration.cpp
+++ b/src/plugins/platforms/webgl/qwebglintegration.cpp
@@ -628,6 +628,13 @@ void QWebGLIntegrationPrivate::handleKeyboard(const ClientData &clientData,
if (specialKey != keyMap.end()) {
key = *specialKey;
string.clear();
+
+ // special case: match Qt's behavior on other platforms and differentiate:
+ // * "Enter": Qt::Key_Return
+ // * "NumpadEnter": Qt::Key_Enter
+ // TODO: consider whether "code" could be used rather than "keyName" above
+ if (key == Qt::Key_Enter && object.value("code").toString() == QStringLiteral("Enter"))
+ key = Qt::Key_Return;
}
const auto window = clientData.platformWindows.last()->window();
diff --git a/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp b/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp
index da8867f..959287d 100644
--- a/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp
+++ b/src/plugins/platforms/webgl/qwebglwebsocketserver.cpp
@@ -55,43 +55,6 @@ QT_BEGIN_NAMESPACE
static Q_LOGGING_CATEGORY(lc, "qt.qpa.webgl.websocketserver")
-const QHash<QString, Qt::Key> keyMap {
- { "Alt", Qt::Key_Alt },
- { "ArrowDown", Qt::Key_Down },
- { "ArrowLeft", Qt::Key_Left },
- { "ArrowRight", Qt::Key_Right },
- { "ArrowUp", Qt::Key_Up },
- { "Backspace", Qt::Key_Backspace },
- { "Control", Qt::Key_Control },
- { "Delete", Qt::Key_Delete },
- { "End", Qt::Key_End },
- { "Enter", Qt::Key_Enter },
- { "F1", Qt::Key_F1 },
- { "F2", Qt::Key_F2 },
- { "F3", Qt::Key_F3 },
- { "F4", Qt::Key_F4 },
- { "F5", Qt::Key_F5 },
- { "F6", Qt::Key_F6 },
- { "F7", Qt::Key_F7 },
- { "F8", Qt::Key_F8 },
- { "F9", Qt::Key_F9 },
- { "F10", Qt::Key_F10 },
- { "F11", Qt::Key_F11 },
- { "F12", Qt::Key_F12 },
- { "Escape", Qt::Key_Escape },
- { "Home", Qt::Key_Home },
- { "Insert", Qt::Key_Insert },
- { "Meta", Qt::Key_Meta },
- { "PageDown", Qt::Key_PageDown },
- { "PageUp", Qt::Key_PageUp },
- { "Shift", Qt::Key_Shift },
- { "Space", Qt::Key_Space },
- { "AltGraph", Qt::Key_AltGr },
- { "Tab", Qt::Key_Tab },
- { "Unidentified", Qt::Key_F },
- { "OS", Qt::Key_Super_L }
-};
-
inline QWebGLIntegration *webGLIntegration()
{
#ifdef QT_DEBUG
diff --git a/src/plugins/platforms/webgl/webqt.jsx b/src/plugins/platforms/webgl/webqt.jsx
index ec9c084..e3a2f29 100644
--- a/src/plugins/platforms/webgl/webqt.jsx
+++ b/src/plugins/platforms/webgl/webqt.jsx
@@ -1172,7 +1172,7 @@ window.onload = function () {
"metaKey" : event.metaKey,
"string" : String.fromCharCode(event.which ||
event.keyCode),
- "keyCode" : event.keyCode, "charCode" : event.charCode,
+ "keyCode" : event.keyCode, "charCode" : event.charCode, "code" : event.code,
"time" : new Date().getTime(),
};
sendObject(object);