diff options
Diffstat (limited to 'src/plugins/platforms/eglfs/api/qeglfsintegration.cpp')
-rw-r--r-- | src/plugins/platforms/eglfs/api/qeglfsintegration.cpp | 13 |
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 72420199e3..8ccb0ef2cd 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) |