VMWare fusion host + vmmouse driver generates drag events on any click

Bug #366521 reported by John Dong on 2009-04-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xserver-xorg-input-vmmouse (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: xserver-xorg-input-vmmouse

I'm noticing an issue using VMWare 2.0.2 as a host and Jaunty as a guest that vmmouse likes to generate drag events overzealously. This is apparent when:

(1) Clicking in a text field with the left mouse button sometimes highlights a single character. This is extremely apparent in a gnome-terminal, when clicking in a blank past-newline area selects the rest of the line. Even if I raise my optical mouse off the table to the point where I doubt the mouse itself is sending motion events.

(2) If I right click to bring up a context menu, often times it will select the first item for me instantly.

Investigating with xev, when doing a single still mouseclick I see an event like
---
ButtonPress event, serial 30, synthetic NO, window 0x3000001,
    root 0xfc, subw 0x0, time 283641182, (79,109), root:(84,175),
    state 0x0, button 1, same_screen YES

MotionNotify event, serial 30, synthetic NO, window 0x3000001,
    root 0xfc, subw 0x0, time 283641766, (79,109), root:(84,175),
    state 0x100, is_hint 0, same_screen YES

ButtonRelease event, serial 30, synthetic NO, window 0x3000001,
    root 0xfc, subw 0x0, time 283641766, (79,109), root:(84,175),
    state 0x100, button 1, same_screen YES
---

The MotionNotify event is unusual; I don't see that with a physical mouse or a non-vmmouse mouse, it seems to notify a motion to the same spot.

This seems to cause many UI toolkits to mis-interpret what happens as a miniscule drag.

To work around this issue, I played around with a quick hack in vmmouse.c to disallow a buttonpress event from triggering a motion event too, i.e. src/vmmouse.c line 495:
---
if ((dx || dy) && (truebuttons == pMse->lastButtons))
---

This SIGNIFICANTLY helps the case with a standstill mouse, but I STILL the slightest motion of the mouse while clicking will trigger a small MotionNotify event and cause the same behavior. I find this to be an unrealistic emulation of a mouse -- with no physical Linux system and mouse combination have I had to work so hard at keeping the mouse still while clicking.

It might be a good idea to guard against miniscule motion events while dragging.

John Dong (jdong) wrote :

I updated the host to VMWare Fusion Version 2.0.4 (159196), same behavior observed. Interestingly it doesn't seem to happen in VMWare Workstation 6.5.2 on Linux?

Philip Langdale (langdalepl) wrote :

Fix is out in upstream version 12.6.4

Bryce Harrington (bryce) wrote :

Thanks Philip! I've prepared a package for Jaunty with this:

  https://edge.launchpad.net/~ubuntu-x-swat/+archive/x-updates/

We'll add to Karmic shortly.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xserver-xorg-input-vmmouse - 1:12.6.4-1ubuntu1

---------------
xserver-xorg-input-vmmouse (1:12.6.4-1ubuntu1) karmic; urgency=low

  * Merge from debian unstable.
  * New changes:
    - debian/control:
      + Add mdetect (<< 0.5.2.1ubuntu5) to Replaces: for seamless upgrade.
        This change may be removed after we drop Hardy support.
  * Fixes bugs:
    - VMWare fusion host + vmmouse driver generates drag events on
      any click (LP: #366521)

xserver-xorg-input-vmmouse (1:12.6.4-1) unstable; urgency=low

  * New upstream release.

xserver-xorg-input-vmmouse (1:12.6.3-2) unstable; urgency=low

  * Upload to unstable.

xserver-xorg-input-vmmouse (1:12.6.3-1) experimental; urgency=low

  * New upstream release.
  * Drop patch vmmouse_scale_input_data.diff, it's been fixed upstream a while
    back.
  * Run autoreconf at build time. Build-depend on automake, libtool and
    xutils-dev.
  * Handle parallel builds.
  * Install a detection program, a hal fdi file and a callout script for X
    input hotplug. This closes: #509053, since the vmmouse no longer needs to
    be configured in xorg.conf.
  * Don't override the manpage suffix, it should be vmmouse(4) not
    vmmouse(4x).
  * Build against xserver 1.6 rc1.
  * Add myself to Uploaders.
  * Add Depends on xserver-xorg-input-mouse (closes: #509458)

 -- Krzysztof Klimonda <email address hidden> Fri, 22 May 2009 15:03:55 +0200

Changed in xserver-xorg-input-vmmouse (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers