This has been fixed in trunk and branches/1.2.x, and there's a new 
stable build up at http://virtualgl.sourceforge.net/vnc.nightly/ that 
incorporates the fix.  I would ask Brian to review my patch (r5841 in 
trunk or r5842 in the 1.2.x branch -- 
http://virtualgl.svn.sourceforge.net/viewvc/virtualgl/vnc/trunk/java/com/turbovnc/vncviewer/CConn.java?r1=5841&r2=5840&pathrev=5841)
 
  It is based on the logic from the 1.1 Java viewer.  The basic problem 
involved the fact that the RFB protocol doesn't have button press or 
release events per se.  It has one PointerEvent, which is used for 
motion as well as button presses/releases.  The server monitors the 
button mask in each successive PointerEvent, and if it notices that the 
mask changes, it issues the appropriate button press or release events 
to the X server.

The 1.2 Java viewer had flawed logic.  It was always setting the button 
mask to 0 whenever a mouse button was released, so it didn't save the 
state of the previous button press.  Thus, the server interpreted that 
PointerEvent as "release all buttons."

I found a similar problem that would occur if you held down a button and 
then activated the scroll wheel.  That has also been fixed by the same 
patch.


On 9/26/13 2:59 PM, Rafael Guimaraes wrote:
> Hi DRC,
>
> I have just detected a strange behavior when using TurboVNC 1.2 client
> as an applet. When I hold two mouse buttons simultaneously it doesn't
> work as expected...
> By using xev, I have checked that if I press and hold button 1, it
> generates the correct ButtonPress event then, if I keep button 1 pressed
> and press button 2, it generates a ButtonRelease for button 1 and a
> ButtonPress for button 2. I have done the same on TurboVNC 1.1 client
> (the applet, as well) and it behaves correctly (no ButtonRelease between
> the two ButtonPress events). The same happens if I press and hold button
> 2 and then button 1.

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
_______________________________________________
VirtualGL-Users mailing list
VirtualGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to