diff options
author | Giulio Camuffo <giulio.camuffo@kdab.com> | 2017-03-01 12:12:55 +0100 |
---|---|---|
committer | Giulio Camuffo <giulio.camuffo@kdab.com> | 2017-03-08 17:00:54 +0000 |
commit | 3d8b3113c2349b5e002ece39ff20118b471aac6e (patch) | |
tree | 7c00902e9c8b96c362a79c10835eea4b119ec47b /src/shared | |
parent | 7d527c1914710a511c06713bbda1572b767cea34 (diff) |
Fix build when xkbcommon is disabled
Change-Id: I0ec7a5aa8300e796b015c0d995e71ebf77727bbd
Task-number: QTBUG-58839
Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com>
Reviewed-by: Yong Bakos <junk@humanoriented.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/qwaylandxkb.cpp | 18 | ||||
-rw-r--r-- | src/shared/qwaylandxkb_p.h | 7 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/shared/qwaylandxkb.cpp b/src/shared/qwaylandxkb.cpp index 3e04467de..a0e388a1c 100644 --- a/src/shared/qwaylandxkb.cpp +++ b/src/shared/qwaylandxkb.cpp @@ -43,10 +43,13 @@ #include <QKeyEvent> #include <QString> +#if QT_CONFIG(xkbcommon_evdev) #include <xkbcommon/xkbcommon-keysyms.h> +#endif QT_BEGIN_NAMESPACE +#if QT_CONFIG(xkbcommon_evdev) static const uint32_t KeyTbl[] = { XKB_KEY_Escape, Qt::Key_Escape, XKB_KEY_Tab, Qt::Key_Tab, @@ -290,9 +293,11 @@ static xkb_keysym_t toKeysymFromTable(uint32_t key) return 0; } +#endif std::pair<int, QString> QWaylandXkb::keysymToQtKey(xkb_keysym_t keysym, Qt::KeyboardModifiers &modifiers) { +#if QT_CONFIG(xkbcommon_evdev) QString text; uint utf32 = xkb_keysym_to_utf32(keysym); if (utf32) @@ -326,10 +331,15 @@ std::pair<int, QString> QWaylandXkb::keysymToQtKey(xkb_keysym_t keysym, Qt::Keyb } return { code, text }; +#else + Q_UNUSED(modifiers) + return { keysym, "" }; +#endif } Qt::KeyboardModifiers QWaylandXkb::modifiers(struct xkb_state *state) { +#if QT_CONFIG(xkbcommon_evdev) Qt::KeyboardModifiers modifiers = Qt::NoModifier; xkb_state_component cstate = static_cast<xkb_state_component>(XKB_STATE_DEPRESSED | XKB_STATE_LATCHED | XKB_STATE_LOCKED); @@ -344,6 +354,10 @@ Qt::KeyboardModifiers QWaylandXkb::modifiers(struct xkb_state *state) modifiers |= Qt::MetaModifier; return modifiers; +#else + Q_UNUSED(state) + return Qt::NoModifier; +#endif } QEvent::Type QWaylandXkb::toQtEventType(uint32_t state) @@ -353,6 +367,7 @@ QEvent::Type QWaylandXkb::toQtEventType(uint32_t state) QVector<xkb_keysym_t> QWaylandXkb::toKeysym(QKeyEvent *event) { +#if QT_CONFIG(xkbcommon_evdev) QVector<xkb_keysym_t> keysyms; if (event->key() >= Qt::Key_F1 && event->key() <= Qt::Key_F35) { keysyms.append(XKB_KEY_F1 + (event->key() - Qt::Key_F1)); @@ -372,6 +387,9 @@ QVector<xkb_keysym_t> QWaylandXkb::toKeysym(QKeyEvent *event) keysyms.append(toKeysymFromTable(event->key())); } return keysyms; +#else + return QVector<xkb_keysym_t>() << event->nativeScanCode(); +#endif } QT_END_NAMESPACE diff --git a/src/shared/qwaylandxkb_p.h b/src/shared/qwaylandxkb_p.h index 230159fbb..6fa1ea45b 100644 --- a/src/shared/qwaylandxkb_p.h +++ b/src/shared/qwaylandxkb_p.h @@ -41,9 +41,16 @@ #ifndef QWAYLANDXKB_H #define QWAYLANDXKB_H +#include <QtGui/private/qtguiglobal_p.h> #include <Qt> #include <QEvent> + +#if QT_CONFIG(xkbcommon_evdev) #include <xkbcommon/xkbcommon.h> +#else +typedef quint32 xkb_keysym_t; +struct xkb_state; +#endif #include <utility> |