summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-20 22:47:06 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-20 22:47:06 +0100
commit76e27b8f62afba31a2c675eba4445308eaf47df2 (patch)
tree2cbac1a8dc79abebc6e76f6a18c82d2fef32313a
parent6035467b37bc71b0ea25155fa70f85bee054d1a3 (diff)
parent235150a1909b9d666acbdb541c665a19cc474c01 (diff)
Merge remote-tracking branch 'origin/5.10' into dev
-rw-r--r--src/plugins/platforms/webgl/qwebglintegration.cpp7
-rw-r--r--src/plugins/platforms/webgl/qwebglwebsocketserver.cpp48
-rw-r--r--src/plugins/platforms/webgl/webqt.jsx6
3 files changed, 17 insertions, 44 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 ab90950..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
@@ -145,10 +108,13 @@ void QWebGLWebSocketServer::create()
{
Q_D(QWebGLWebSocketServer);
d->server = new QWebSocketServer(QLatin1String("qtwebgl"), QWebSocketServer::NonSecureMode);
- bool ok = d->server->listen(QHostAddress::Any);
- if (ok)
- connect(d->server, &QWebSocketServer::newConnection, this,
- &QWebGLWebSocketServer::onNewConnection);
+ if (d->server->listen(QHostAddress::Any)) {
+ connect(d->server, &QWebSocketServer::newConnection,
+ this, &QWebGLWebSocketServer::onNewConnection);
+ } else {
+ qCCritical(lc, "The WebSocket Server cannot start: %s",
+ qPrintable(d->server->errorString()));
+ }
QMutexLocker lock(&QWebGLIntegrationPrivate::instance()->waitMutex);
QWebGLIntegrationPrivate::instance()->waitCondition.wakeAll();
diff --git a/src/plugins/platforms/webgl/webqt.jsx b/src/plugins/platforms/webgl/webqt.jsx
index 53158b1..e3a2f29 100644
--- a/src/plugins/platforms/webgl/webqt.jsx
+++ b/src/plugins/platforms/webgl/webqt.jsx
@@ -454,7 +454,7 @@ window.onload = function () {
gl.deleteBuffer(d.bufferMap[arguments[1 +i]]);
};
- gl.deleteFramebuffers = function(n) {
+ gl.deleteFramebuffers = function(framebuffers) {
var d = contextData[currentContext];
for (var i in framebuffers)
gl.deleteFramebuffer(d.framebufferMap[framebuffers[i]]);
@@ -466,7 +466,7 @@ window.onload = function () {
gl._deleteProgram(d.programMap[program]);
};
- gl.deleteRenderbuffers = function() {
+ gl.deleteRenderbuffers = function(renderbuffers) {
var d = contextData[currentContext];
for (var i in renderbuffers)
gl.deleteRenderbuffer(d.renderbufferMap[renderbuffers[i]]);
@@ -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);