<html><head></head><body><div class="gmail_quote">Le 8 août 2017 12:03:12 GMT+03:00, Steve Lhomme <robux4@gmail.com> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On Mon, Aug 7, 2017 at 5:20 PM, Rémi Denis-Courmont <remi@remlab.net> wrote:<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> Le maanantaina 7. elokuuta 2017, 14.59.29 EEST Steve Lhomme a écrit :<br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> I'm trying to understand how mouse hiding is supposed to work to fix #17819.<br /><br /> Right now it's broken on Windows and maybe OS X as well.<br /><br /> Is it always the responsibility of the vout_window_t to hide the mouse?<br /></blockquote><br /> This is the description from Thomas:<br /><br /> | core: vout: add VOUT_WINDOW_HIDE_MOUSE<br /> |<br /> | A window can now hide the mouse cursor. If this control is not implemented<br /> | by a "vout window" module, the control will be sent to the "vout display"<br /> | module.<br /><br /> I believe that it is meant to be either the window or the display, but not<br /> both. Indeed, I can´t really imagine how the responsibility could functionally<br /> be shared.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> I suppose that's why VOUT_DISPLAY_HIDE_MOUSE is deprecated ?<br /></blockquote><br /> As of last week, I think that both VOUT_DISPLAY_HIDE_MOUSE and<br /> VOUT_WINDOW_HIDE_MOUSE should be deprecated. The component tracking mouse<br /> movement is in better position to run the hiding timer than the video output<br /> core thread.<br /><br /> From the core, we only need a symbolic constant, probably in <vlc_mouse.h>, to<br /> convey a shared timeout value.<br /></blockquote><br />How is this supposed to work with libvlc usage. Do we want to hide the<br />mouse for host apps as well ?<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> Right now it's not being called even though needs_hide_mouse is set because<br /> vout_HideWindowMouse() is successful.<br /></blockquote><br /> According to my interpretation of Thomas´ commit message, this is intended.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> In the Qt interface MainInterface::setHideMouse() is called properly<br /> with show/hide but it has absolutely zero impact. Is it the same on<br /> other platform than Windows?<br /></blockquote><br /> It works fine on X11. I have not tested on Wayland.<br /><br /> But in those two windowing systems, the vout display plugins do not perform<br /> any mouse handling, or in fact any input device handling at all.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> Maybe a regression of Qt 5 ? I could<br /> call win32 ShowCursor() in there and it works but it seems dirty.<br /></blockquote><br /> I don´t know that it would be a regression. The code was added in 3.0 cycle.<br /><br /> The most obvious potential culprit to me would be -interference with- the<br /> common code in Win32 display plugins.<br /></blockquote><br />That might be. stackCentralW->setCursor( Qt::BlankCursor ) works on<br />Windows but not videoWidget->setCursor( Qt::BlankCursor ) so there<br />must be something else at play.<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> --<br /> 雷米‧德尼-库尔蒙<br /> <a href="https://www.remlab.net">https://www.remlab.net</a>/<br /><br /><hr /><br /> vlc-devel mailing list<br /> To unsubscribe or modify your subscription options:<br /> <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br /></blockquote><hr /><br />vlc-devel mailing list<br />To unsubscribe or modify your subscription options:<br /><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre></blockquote></div><br clear="all">IMO, cursor hiding should be done iff mouse events are enabled in LibVLC. LibVLC cannot hide/show the cursor if it does not know when the mouse moves.<br>
<br>
It's a different problem though.<br>
-- <br>
Rémi Denis-Courmont<br>
Typed on an inconvenient virtual keyboard</body></html>