diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp index f54ca6a77d4..2b06e985a7b 100644 --- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp +++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp @@ -202,7 +202,7 @@ void QEvdevKeyboardHandler::processKeyEvent(int nativecode, int unicode, int qtc Qt::KeyboardModifiers modifiers, bool isPress, bool autoRepeat) { if (!autoRepeat) - QGuiApplicationPrivate::inputDeviceManager()->setKeyboardModifiers(QEvdevKeyboardHandler::toQtModifiers(m_modifiers)); + QGuiApplicationPrivate::inputDeviceManager()->setKeyboardModifiers(QEvdevKeyboardMap::toQtModifiers(m_modifiers)); QWindow *window = nullptr; #ifdef Q_OS_WEBOS @@ -336,7 +336,7 @@ QEvdevKeyboardHandler::KeycodeAction QEvdevKeyboardHandler::processKeycode(quint // so just report the plain mapping with additional modifiers. if ((it == map_plain && it != map_withmod) || (map_withmod && !(map_withmod->qtcode & modmask))) { - qtcode |= QEvdevKeyboardHandler::toQtModifiers(modifiers); + qtcode |= QEvdevKeyboardMap::toQtModifiers(modifiers); } if (m_composing == 2 && first_press && !(it->flags & QEvdevKeyboardMap::IsModifier)) { diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h index b071e3983c2..feb4fd0cf35 100644 --- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h +++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler_p.h @@ -78,6 +78,21 @@ namespace QEvdevKeyboardMap { ModCtrlR = 0x80 // ModCapsShift = 0x100, // not supported! }; + + inline Qt::KeyboardModifiers toQtModifiers(quint8 mod) + { + Qt::KeyboardModifiers qtmod = Qt::NoModifier; + + if (mod & (ModShift | ModShiftL | ModShiftR)) + qtmod |= Qt::ShiftModifier; + if (mod & (ModControl | ModCtrlL | ModCtrlR)) + qtmod |= Qt::ControlModifier; + if (mod & ModAlt) + qtmod |= Qt::AltModifier; + + return qtmod; + } + } inline QDataStream &operator>>(QDataStream &ds, QEvdevKeyboardMap::Mapping &m) @@ -129,20 +144,6 @@ public: const QString &specification, const QString &defaultKeymapFile = QString()); - static Qt::KeyboardModifiers toQtModifiers(quint8 mod) - { - Qt::KeyboardModifiers qtmod = Qt::NoModifier; - - if (mod & (QEvdevKeyboardMap::ModShift | QEvdevKeyboardMap::ModShiftL | QEvdevKeyboardMap::ModShiftR)) - qtmod |= Qt::ShiftModifier; - if (mod & (QEvdevKeyboardMap::ModControl | QEvdevKeyboardMap::ModCtrlL | QEvdevKeyboardMap::ModCtrlR)) - qtmod |= Qt::ControlModifier; - if (mod & QEvdevKeyboardMap::ModAlt) - qtmod |= Qt::AltModifier; - - return qtmod; - } - bool loadKeymap(const QString &file); void unloadKeymap();