summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandinputcontext.cpp
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2019-05-07 03:01:52 +0200
committerJohan Klokkhammer Helsing <johan.helsing@qt.io>2019-05-07 12:39:12 +0200
commit17b1705ce4c8bc9ca19a6b424a00a045134b3aac (patch)
tree03e7b7d461064dd007179cd29da9c024e6c8f190 /src/client/qwaylandinputcontext.cpp
parent4ab3cbcc5c4da6384e9081993c5ba24303a382bd (diff)
parenta658a10f6a42e67bd762f87851c23cc1c1e3b141 (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Conflicts: src/client/qwaylanddisplay_p.h src/client/qwaylandwindow.cpp Change-Id: I50eb5c83a8b81e4bdb032b68d41f429b17d0a74d
Diffstat (limited to 'src/client/qwaylandinputcontext.cpp')
-rw-r--r--src/client/qwaylandinputcontext.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/client/qwaylandinputcontext.cpp b/src/client/qwaylandinputcontext.cpp
index 55e7641e5..1d34f06cc 100644
--- a/src/client/qwaylandinputcontext.cpp
+++ b/src/client/qwaylandinputcontext.cpp
@@ -50,7 +50,6 @@
#include "qwaylandinputdevice_p.h"
#include "qwaylandinputmethodeventbuilder_p.h"
#include "qwaylandwindow_p.h"
-#include "qwaylandxkb_p.h"
QT_BEGIN_NAMESPACE
@@ -315,6 +314,7 @@ void QWaylandTextInput::zwp_text_input_v2_delete_surrounding_text(uint32_t befor
void QWaylandTextInput::zwp_text_input_v2_keysym(uint32_t time, uint32_t sym, uint32_t state, uint32_t modifiers)
{
+#if QT_CONFIG(xkbcommon)
if (m_resetCallback) {
qCDebug(qLcQpaInputMethods()) << "discard keysym: reset not confirmed";
return;
@@ -325,13 +325,18 @@ void QWaylandTextInput::zwp_text_input_v2_keysym(uint32_t time, uint32_t sym, ui
Qt::KeyboardModifiers qtModifiers = modifiersToQtModifiers(modifiers);
- QEvent::Type type = QWaylandXkb::toQtEventType(state);
- QString text;
- int qtkey;
- std::tie(qtkey, text) = QWaylandXkb::keysymToQtKey(sym, qtModifiers);
+ QEvent::Type type = state == WL_KEYBOARD_KEY_STATE_PRESSED ? QEvent::KeyPress : QEvent::KeyRelease;
+ QString text = QXkbCommon::lookupStringNoKeysymTransformations(sym);
+ int qtkey = QXkbCommon::keysymToQtKey(sym, qtModifiers);
QWindowSystemInterface::handleKeyEvent(QGuiApplication::focusWindow(),
time, type, qtkey, qtModifiers, text);
+#else
+ Q_UNUSED(time);
+ Q_UNUSED(sym);
+ Q_UNUSED(state);
+ Q_UNUSED(modifiers);
+#endif
}
void QWaylandTextInput::zwp_text_input_v2_language(const QString &language)