summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
diff options
context:
space:
mode:
authorPaul Wicking <paul.wicking@qt.io>2019-02-01 13:33:25 +0100
committerPaul Wicking <paul.wicking@qt.io>2019-02-01 13:33:26 +0100
commit2bc362c9fa37455afbeb56e5f1852188ede3eab4 (patch)
treeb89e3c2c082a0285e8cd91733ddbc772fe4362a5 /src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
parent5de981d3bc3df874f9df35a6899345f4f61fa951 (diff)
parent481db443d502c8ebc169b7256cb696428cf02199 (diff)
Merge dev into 5.13
Diffstat (limited to 'src/plugins/platforms/eglfs/api/qeglfsintegration.cpp')
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfsintegration.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
index 72420199e3d..8ccb0ef2cd0 100644
--- a/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
+++ b/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp
@@ -429,6 +429,8 @@ QFunctionPointer QEglFSIntegration::platformFunction(const QByteArray &function)
#if QT_CONFIG(evdev)
if (function == QEglFSFunctions::loadKeymapTypeIdentifier())
return QFunctionPointer(loadKeymapStatic);
+ else if (function == QEglFSFunctions::switchLangTypeIdentifier())
+ return QFunctionPointer(switchLangStatic);
#endif
return qt_egl_device_integration()->platformFunction(function);
@@ -447,6 +449,17 @@ void QEglFSIntegration::loadKeymapStatic(const QString &filename)
#endif
}
+void QEglFSIntegration::switchLangStatic()
+{
+#if QT_CONFIG(evdev)
+ QEglFSIntegration *self = static_cast<QEglFSIntegration *>(QGuiApplicationPrivate::platformIntegration());
+ if (self->m_kbdMgr)
+ self->m_kbdMgr->switchLang();
+ else
+ qWarning("QEglFSIntegration: Cannot switch language, no keyboard handler found");
+#endif
+}
+
void QEglFSIntegration::createInputHandlers()
{
#if QT_CONFIG(libinput)