diff options
author | Paul Wicking <paul.wicking@qt.io> | 2019-02-01 13:33:25 +0100 |
---|---|---|
committer | Paul Wicking <paul.wicking@qt.io> | 2019-02-01 13:33:26 +0100 |
commit | 2bc362c9fa37455afbeb56e5f1852188ede3eab4 (patch) | |
tree | b89e3c2c082a0285e8cd91733ddbc772fe4362a5 /src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp | |
parent | 5de981d3bc3df874f9df35a6899345f4f61fa951 (diff) | |
parent | 481db443d502c8ebc169b7256cb696428cf02199 (diff) |
Merge dev into 5.13
Change-Id: I8113c6d8735a151bd152e6096f8c8b8e63a05474
Diffstat (limited to 'src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp')
-rw-r--r-- | src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp index b21d5d9ef5..ad134a825f 100644 --- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp +++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp @@ -76,7 +76,7 @@ void QFdContainer::reset() Q_DECL_NOTHROW QEvdevKeyboardHandler::QEvdevKeyboardHandler(const QString &device, QFdContainer &fd, bool disableZap, bool enableCompose, const QString &keymapFile) : m_device(device), m_fd(fd.release()), m_notify(nullptr), m_modifiers(0), m_composing(0), m_dead_unicode(0xffff), - m_no_zap(disableZap), m_do_compose(enableCompose), + m_langLock(0), m_no_zap(disableZap), m_do_compose(enableCompose), m_keymap(0), m_keymap_size(0), m_keycompose(0), m_keycompose_size(0) { qCDebug(qLcEvdevKey) << "Create keyboard handler with for device" << device; @@ -253,6 +253,8 @@ QEvdevKeyboardHandler::KeycodeAction QEvdevKeyboardHandler::processKeycode(quint quint8 testmods = m_modifiers; if (m_locks[0] /*CapsLock*/ && (m->flags & QEvdevKeyboardMap::IsLetter)) testmods ^= QEvdevKeyboardMap::ModShift; + if (m_langLock) + testmods ^= QEvdevKeyboardMap::ModAltGr; if (m->modifiers == testmods) map_withmod = m; } @@ -509,6 +511,8 @@ void QEvdevKeyboardHandler::unloadKeymap() m_locks[2] = 1; qCDebug(qLcEvdevKey, "numlock=%d , capslock=%d, scrolllock=%d", m_locks[1], m_locks[0], m_locks[2]); } + + m_langLock = 0; } bool QEvdevKeyboardHandler::loadKeymap(const QString &file) @@ -570,4 +574,9 @@ bool QEvdevKeyboardHandler::loadKeymap(const QString &file) return true; } +void QEvdevKeyboardHandler::switchLang() +{ + m_langLock ^= 1; +} + QT_END_NAMESPACE |