Write-up for GSoC Project- Plasma Mobile Emulator

Hello everyone,

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 {
text: “Hello world”
height: 600
width: 800
KWinQml {
id: kwin
anchors.fill: parent
socketName: “kwin-plasma-emulator-0”
focus: true
Timer {
interval: 5000
repeat: false
running: true
onTriggered: kwin.start()

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. 🙂


One thought on “Write-up for GSoC Project- Plasma Mobile Emulator

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s