bk138 / multivnc

MultiVNC is a cross-platform Multicast-enabled VNC viewer based on LibVNCClient. The desktop client runs on Unix, Mac OS X and Windows. There also is an Android client.
GNU General Public License v3.0
460 stars 66 forks source link

mouse right click does not work properly #162

Closed bfcs closed 2 years ago

bfcs commented 3 years ago

Is your bug report about the Desktop Multivnc or the Mobile MultiVNC?

Which MultiVNC version are you using?

Describe the bug

Hi, @bk138. Thank you very much for developing such excellent software, I think this is the best VNC software in Android, but I found a problem when using it. Mouse right-click does not work properly, after a right-click, left-click will quickly auto press at somewhere. I have tried another mouse and vnc software and desktop environment, the problem is not related to the mouse or desktop environment

To Reproduce

  1. Install termux
  2. Install Mate Desktop Environment or other GUI
  3. Logon on using MultiVNC
  4. right-click
  5. See an error

Expected Behavior

Screenshots pic1

For example, when I right-click the top blank place, a menu should pop up, but in Multivnc, the menu will disappear quickly, so there is a left-click somewhere.

In web browser, when click right button, it will return last page

For the Desktop Version (please complete the following information):

For the Mobile Version (please complete the following information):

bk138 commented 3 years ago

Can you please install xev in your X environment and post its logs for right-clicking on it?

bfcs commented 3 years ago

Can you please install xev in your X environment and post its logs for right-clicking on it? Hi, @bk138. The log is here. pic3

When I right click the desktop, there is a left-click to select the first option in the menu pic4

bfcs commented 3 years ago

when I left-clicking, it has two logs, but right-clicking has four logs

bk138 commented 2 years ago

This is what I get with an Apple Bluetooth mouse right click:

ButtonPress event, serial 37, synthetic NO, window 0x1e00001,
    root 0x522, subw 0x0, time 496027714, (109,5), root:(354,663),
    state 0x0, button 3, same_screen YES

ButtonPress event, serial 37, synthetic NO, window 0x1e00001,
    root 0x522, subw 0x0, time 496027714, (109,5), root:(354,663),
    state 0x400, button 1, same_screen YES

ButtonRelease event, serial 37, synthetic NO, window 0x1e00001,
    root 0x522, subw 0x0, time 496027714, (109,5), root:(354,663),
    state 0x500, button 3, same_screen YES

ButtonRelease event, serial 37, synthetic NO, window 0x1e00001,
    root 0x522, subw 0x0, time 496027714, (109,5), root:(354,663),
    state 0x100, button 1, same_screen YES

ButtonPress event, serial 37, synthetic NO, window 0x1e00001,
    root 0x522, subw 0x0, time 496027714, (109,5), root:(354,663),
    state 0x0, button 3, same_screen YES

ButtonRelease event, serial 37, synthetic NO, window 0x1e00001,
    root 0x522, subw 0x0, time 496027808, (109,5), root:(354,663),
    state 0x400, button 3, same_screen YES

UX-related, it works (GNOME menu on the remote pops up), but the event flow certainly looks flaky. Maybe MATE interprets this differently...

bk138 commented 2 years ago

Not yet. Input handling is a rewarding topic regarding cleanups...