<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/124238/">https://git.reviewboard.kde.org/r/124238/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>
 <br />









<p>- Albert Vaca Cintora</p>


<br />
<p>On July 3rd, 2015, 12:47 a.m. PDT, Martin Gräßlin wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for kdeconnect and Aleix Pol Gonzalez.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated July 3, 2015, 12:47 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdeconnect-kde
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">[mousepad] Integrate with KWayland for fake input support</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If the compositor does not support the required interface, the
module just doesn't do anything. Support in the implementation is
completely optional.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I get the debug output in KWin triggered by moving the virtual touchpad on my smartphone. E.g.:</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">)>::<lambda: Button press 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice</em>)>::<lambda: Button release 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">)>::<lambda: Button press 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice</em>)>::<lambda: Button release 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">)>::<lambda: Pointer delta QSizeF(2.99609, 0)
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice</em>)>::<lambda: Pointer delta QSizeF(0, 0)
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice<em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">)>::<lambda: Button press 272
kwin(11793)/(kwin_core) KWin::InputRedirection::setupWorkspace()::<lambda(KWayland::Server::FakeInputDevice</em>)>::<lambda: Button release 272
k</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>plugins/mousepad/CMakeLists.txt <span style="color: grey">(88716c719c8c3826c74ec46973f1d3fdf2d4ef61)</span></li>

 <li>plugins/mousepad/config-mousepad.h.cmake <span style="color: grey">(PRE-CREATION)</span></li>

 <li>plugins/mousepad/mousepadplugin.h <span style="color: grey">(b1ebcaae8065870564570e396abbd326e32f0dfd)</span></li>

 <li>plugins/mousepad/mousepadplugin.cpp <span style="color: grey">(3d69959afbc05e82e5a9ab26f81a5c9fb7b8fb55)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/124238/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>