<table><tr><td style="">sander created this revision.<br />sander added a reviewer: Okular.<br />Herald added a project: Okular.<br />Herald added a subscriber: okular-devel.<br />sander requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D17929">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This patch fixes the following papercut:  I regularly write on pdf files in presentation mode, using the styles that comes with my laptop.  When I approach the screen with the pen, the cursor appears, and it follows the pen tip during writing.  When I lift off the pen, the cursor stays on, and auto-hides only a few seconds later (because of Okular::Settings::EnumSlidesCursor::HiddenDelay).  As a consequence, the cursor frequently hides the last bits of what I have just written.  This is a nuisance.</p>

<p>With this patch, Okular catches the TabletEnterProximity and TabletLeaveProximity events.  The former will make the cursor turn into a cross-hair; the latter will make it disappear directly, unless the cursor mode is 'always visible'.</p>

<p>There is one drawback to this patch. With the cursor mode HiddenDelay, the cursor disappears after a short time, and should reappear at the next mouse move.  This does not work if the cursor has been hidden by TabletLeaveProximity, and I don't understand why. The patch therefore currently adds code to mouseMoveEvent that explicitly brings the cursor back. Any help on how to debug this (or an explanation of why it is necessary) is much appreciated.</p></div></div><br /><div><strong>TEST PLAN</strong><div><ul class="remarkup-list">
<li class="remarkup-list-item">Enter presentation mode</li>
<li class="remarkup-list-item">Approach the screen with a stylus. The cursor (appears if it was invisible before and) turns into a cross hair, before the stylus even actually touches the screen.</li>
<li class="remarkup-list-item">Remove the stylus again: if the cursor mode is Visible, the cursor turns into an arrow, otherwise it is hidden.</li>
</ul></div></div><br /><div><strong>REPOSITORY</strong><div><div>R223 Okular</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D17929">https://phabricator.kde.org/D17929</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>ui/presentationwidget.cpp<br />
ui/presentationwidget.h</div></div></div><br /><div><strong>To: </strong>sander, Okular<br /><strong>Cc: </strong>okular-devel, ngraham, darcyshen, aacid<br /></div>