From 3d8b3113c2349b5e002ece39ff20118b471aac6e Mon Sep 17 00:00:00 2001 From: Giulio Camuffo Date: Wed, 1 Mar 2017 12:12:55 +0100 Subject: Fix build when xkbcommon is disabled Change-Id: I0ec7a5aa8300e796b015c0d995e71ebf77727bbd Task-number: QTBUG-58839 Reviewed-by: Jan Arne Petersen Reviewed-by: Yong Bakos Reviewed-by: Paul Olav Tvete --- src/shared/qwaylandxkb.cpp | 18 ++++++++++++++++++ src/shared/qwaylandxkb_p.h | 7 +++++++ 2 files changed, 25 insertions(+) (limited to 'src/shared') 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 #include +#if QT_CONFIG(xkbcommon_evdev) #include +#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 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 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_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 QWaylandXkb::toKeysym(QKeyEvent *event) { +#if QT_CONFIG(xkbcommon_evdev) QVector 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 QWaylandXkb::toKeysym(QKeyEvent *event) keysyms.append(toKeysymFromTable(event->key())); } return keysyms; +#else + return QVector() << 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 #include #include + +#if QT_CONFIG(xkbcommon_evdev) #include +#else +typedef quint32 xkb_keysym_t; +struct xkb_state; +#endif #include -- cgit v1.2.3