diff options
author | Michael Brasser <mbrasser@ford.com> | 2018-01-16 11:44:37 -0600 |
---|---|---|
committer | Michael Brasser <michael.brasser@live.com> | 2018-01-17 15:39:56 +0000 |
commit | 235150a1909b9d666acbdb541c665a19cc474c01 (patch) | |
tree | e429a0bffc2c2b2f98e1fcc3a211761906b4911c | |
parent | be486076d4c6afdeae655ef66a2d007bed1cbbb2 (diff) |
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.cpp | 7 | ||||
-rw-r--r-- | src/plugins/platforms/webgl/qwebglwebsocketserver.cpp | 37 | ||||
-rw-r--r-- | src/plugins/platforms/webgl/webqt.jsx | 2 |
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); |