Review Request 128858: [frameworks] Hide cursor when tablet pen leaves proximity of the screen

Albert Astals Cid aacid at kde.org
Thu Oct 6 22:25:25 UTC 2016



> On Oct. 4, 2016, 9:21 p.m., Albert Astals Cid wrote:
> > > I had to add code to the mouseMoveEvent class, to make the arrow cursor appear when the mouse is moved.
> > > Otherwise, after a TabletLeaveProximity event causes the cursor to disappear, moving the mouse will
> > > ot make it reappear.  I don't think my solution is very elegant.  Do you guys know a better way
> > 
> > You're changing the cursor behinds KCursor back, i guess it doesn't like it
> > 
> > try doing
> > KCursor::setAutoHideCursor( this, false );
> > 
> > when setting the cursor to cross and then
> > 
> > KCursor::setHideCursorDelay( 0 );
> > KCursor::setAutoHideCursor( this, true );
> > KCursor::setHideCursorDelay( 3000 );
> > 
> > or some variant of that
> 
> Oliver Sander wrote:
>     I tried that, and a few variants, but no luck so far.

You can try compiling kwidgetaddons and putting some debugs in kcursor.cpp to see why it's not working, reading the code it seems like it should.


- Albert


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


On Oct. 5, 2016, 4:20 p.m., Oliver Sander wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128858/
> -----------------------------------------------------------
> 
> (Updated Oct. 5, 2016, 4:20 p.m.)
> 
> 
> Review request for Okular.
> 
> 
> Repository: okular
> 
> 
> Description
> -------
> 
> I am trying to fix the following papercut:  I regularly write on pdf files in presentation mode, using the pen that comes with my Lenovo ThinkPad Yoga.  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, because I do this in front of an audience, and a lot of it is math (where every detail matters).
> 
> Ideally, the cursor would auto-hide when I lift the pen off the screen.  Luckily, Qt has an event for this: QEvent::TabletLeaveProximity.  Unluckily, the documentation says (http://doc.qt.io/qt-5/qtabletevent.html):
> 
> "TabletEnterProximity and TabletLeaveProximity events [...] are only sent to QApplication"
> 
> Therefore, this patch introduces a new class TabletApplication, which inherits from QApplication, and is used in main.cpp instead of QApplication.  The proximity events are really caught, and each time a short note is printed on the console.
> 
> Unfortunately, at this point I am stuck and need some help.  Apparently, I cannot control the cursor from a QApplication.  How do I get the information that a TabletProximity has been caught to the presentation widget? Maybe the answer is trivial, but I have very little Qt programming experience.  Thanks for your help!
> 
> 
> Diffs
> -----
> 
>   ui/presentationwidget.h 69574d2 
>   ui/presentationwidget.cpp c16d616 
> 
> Diff: https://git.reviewboard.kde.org/r/128858/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Oliver Sander
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20161006/dd837d96/attachment-0001.html>


More information about the Okular-devel mailing list