Plugin and EGLFS: OpenGL windows cannot be mixed with
I have a Platforminputcontexts plugin and want to display an On Screen Keyboard using QML. The plugin open it's own QQuickView to display the keys.
This is Working on my desktop linux but on embedded target it results in "EGLFS: OpenGL windows cannot be mixed with others."
Is it the right approach to use two plugins:
- one Qml plugin to display the On Screen Keyboard
- and another to the catch the input from screen and foreward it to my application?
Or can I get the QQuickView used by my main application anyhow?
The typical approach is to instantiate an element, representing the VKB, in the application's QML code. So instead of opening a second QQuickView, the plugin provides a reusable Quick element that apps can use. The downside is of course that the application has to be aware of this and include the necessary code.
Alternatively, "smart" solutions that try to figure out the QQuickWindow (e.g. through QGuiApplication::topLevelWindows) and dynamically inject some items may work too but might be much less flexible.