We don't know what cause the mouse moves. We can just get the 'updated' mouse position in server side and call x11_shadow_pointer_position_update to update the new position to client if it is different from what we recorded. However we actually do this:1. If we receive a mouse update from rdp client, we update the server side mouse position (dummy mouse event)2. At each frame when we detect the 'real' mouse position, if it is different from the mouse position we recorded, we calls x11_shadow_pointer_position_update (see x11_shadow_query_cursor). So, maybe you can try to record the position we received from client side in step#1 (in x11_shadow_input_mouse_event) and record it, and if next time the server side position is the position we just recorded, it would not call x11_shadow_pointer_position_update. But this breaks the original design. I think the original idea is to always update the server side mouse position to client side, so that it's 'synced': when you watch the mouse position, it's always at the position where it really exists.
Petr Sumbera <sumb...@volny.cz> 于 2015年5月22日, 星期五, 上午 3:43 写道: Isn't there a way to identify movement which come outside of FreeRDP client and for such call x11_shadow_pointer_position_update? Petr On 05/21/15 04:49 AM, Zihao Jiang wrote: > Yeah you find the correct line of code you may want to comment out. > The x11_shadow_pointer_position_update is exactly the function which > send the 'updated' mouse position (x,y) to client side. > > For the case that you 'worked in vncviewer at same time': when you move > mouse in vncviewer, the mouse position on server side is changed. The > change will be 'updated' to client side in > x11_shadow_pointer_position_update when image frame is updated. That's > why you see the mouse 'jumpped' in your rdp client. > > So if you comment out x11_shadow_pointer_position_update, the server > side mouse position would never be sent to client side. Then the client > side mouse would always be tracked at client side and never be impacted > by the 'actual' position tracked at server side. Therefore the mouse > looks 'smoothly'. > > > > > Petr Sumbera <sumb...@volny.cz> 于 2015年5月20日, 星期三, 上午 5:05 写道: > > > Interesting enough I have just realized that it behaves much better when > I comment out the only call to x11_shadow_pointer_position_update in > server/shadow/X11/x11_shadow.c. > > I don't see any obvious problem now. > > Any comment to this? > > Petr > > On 04/25/15 10:30 AM, Zihao Jiang wrote: > > The shadow-server would send back the real position of the cursor. So if > > the network is very unstable, the server side cursor may not be able to > > stand at the point where the client side cursor exists at next frame, > > therefore the cursor looks ‘drawed back’. > > > > > > > > Petr Sumbera <sumb...@volny.cz <mailto:sumb...@volny.cz>> 于 2015年4 > 月24日, 星期五, 上午 4:25 写道: > > > > > > > > > > Hi, > > > > I'm using recent development version and I'm seeing problems with mouse > > pointer. When moving move from one side of screen to another it looks > > like it's skipping back. > > > > Any idea? > > > > Server is Solaris (vncserver + freerdp-shadow) > > Client is Linux. > > > > Thanks, > > > > Petr > > > > > > > ------------------------------------------------------------------------------ > > One dashboard for servers and applications across Physical-Virtual-Cloud > > Widest out-of-the-box monitoring support with 50+ applications > > Performance metrics, stats and reports that give you Actionable Insights > > Deep dive visibility with transaction tracing using APM Insight. > > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > _______________________________________________ > > FreeRDP-devel mailing list > > FreeRDP-devel@lists.sourceforge.net > <mailto:FreeRDP-devel@lists.sourceforge.net> > > <mailto:FreeRDP-devel@lists.sourceforge.net > <mailto:FreeRDP-devel@lists.sourceforge.net>> > > > https://lists.sourceforge.net/lists/listinfo/freerdp-devel > > > > > > > ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ FreeRDP-devel mailing list FreeRDP-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel