It has been pretty a while, i haven’t posted anything regarding the progress in my project. So my project is “Plasma Mobile Emulator”- A solution for developing, testing and accessing plasma mobile system without having to install on real phone.
So far i have worked on the following:
As mentioned in previous blog post, earlier I added support for touch events in the KWayland fakeinput_interface, after that this was integrated in kwin_wayland.
kwin_wayland nested in QQuickItem
In Plasma Mobile emulator, KWin would need to be child of the emulator window, to achive this Martin Graesslin suggested to use a declartive plugin which would create the anonymous wayland server which in turn would get the nested kwin_wayland started.
Typical definition for such QML item would look like:
import QtQuick 2.0
import org.kde.kwin.qml 1.0
text: “Hello world”
Rendering the kwin_wayland on QML
After I got kwin_wayland running in headless mode inside QQuickItem, next task was to render its contents, for that I triggered repaint of the QQuickItem when damaged signal of SurfaceInterface was triggered.
Input in QQuickItem
Once rendering was working, next task was to use QQuick input events and pass them to anonymous wayland server using seat_interface.
a. Mouse Hover Events – to set the pointer position.
b. Mouse Press/Release Events – to send the pointer button events.
c. KeyPress events- to send keys.
Changes mentioned above are under review on phabricator. I will further update you on the progress of my project.
Thank you. 🙂