Review Request 124238: [mousepad] Wayland implementation

Martin Gräßlin mgraesslin at kde.org
Fri Jul 3 07:47:52 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124238/
-----------------------------------------------------------

Review request for kdeconnect and Aleix Pol Gonzalez.


Repository: kdeconnect-kde


Description
-------

Please note: this currently depends on unpushed changes in KWayland and KWin. It's an early review and needs some more testing on a full Wayland session. Also key events are not yet implemented - will probably not happen in first version as my knowledge about keys on Wayland is still too limited and I don't want to get it wrong.


[mousepad] Integrate with KWayland for fake input support

KWayland provides a FakeInput interface which KWin as a compositor
supports. This can be used to fake input events on Wayland. As it's
a KWin specific interface it won't work with other Wayland compositors.

If the compositor does not support the required interface, the
module just doesn't do anything. Support in the implementation is
completely optional.

Adding fake input events circumvents the Wayland security model.
Because of that the interface is designed in a way that the security
decision can be done by the compositor and can be delegated to the
user.

On first input event kdeconnect tries to "authenticate" with the
compositor. This gives the compositor the possibility to e.g. ask
the user whether it should be allowed. It's not done on startup or
of load module as that would show such a message way to early and
the user would not be able to connect it with his action on the
smartphone.


Diffs
-----

  plugins/mousepad/CMakeLists.txt 88716c719c8c3826c74ec46973f1d3fdf2d4ef61 
  plugins/mousepad/config-mousepad.h.cmake PRE-CREATION 
  plugins/mousepad/mousepadplugin.h b1ebcaae8065870564570e396abbd326e32f0dfd 
  plugins/mousepad/mousepadplugin.cpp 3d69959afbc05e82e5a9ab26f81a5c9fb7b8fb55 

Diff: https://git.reviewboard.kde.org/r/124238/diff/


Testing
-------

I get the debug output in KWin triggered by moving the virtual touchpad on my smartphone. E.g.:

kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Button press 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Button release 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Button press 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Button release 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Pointer delta QSizeF(2.99609, 0)
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Pointer delta QSizeF(0, 0)
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Button press 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice*)>::<lambda: Button release 272
k


Thanks,

Martin Gräßlin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdeconnect/attachments/20150703/2c098e18/attachment.html>


More information about the KDEConnect mailing list