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

Bug #366521 reported by John Dong
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
xserver-xorg-input-vmmouse (Ubuntu)
Fix Released
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.

Revision history for this message
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?

Revision history for this message
Philip Langdale (langdalepl) wrote :

Fix is out in upstream version 12.6.4

Revision history for this message
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.

Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.