09 August 2010

Mouse Scroll Wheel Issues With Visual Studio and Office

I encountered an old foe, on the workstation of my day job, after installing Visual Studio 2010 Premium.  Moving the mouse scroll wheel normally causes my C# code window to scroll vertically.  However, this particular computer randomly decides vertical scrolling is simply too mundane, and starts scrolling tool windows, instead.  I have experienced this problem in the past, after installing Visual Studio 2003 on a HP workstation.  The issue was resolved after I updated the mouse drivers to use the standard Microsoft Windows mouse driver.  The mouse worked beautifully!  But, what was the cause of the problem?


Regarding to VS 2010 issue, I checked the mouse drivers on the beefed-up Lenovo ThinkStation S20 workstation, in my office.  The MS Windows drivers were already in use.  I consulted the desktop support guru, who confirmed he has also seen many problems between Lenovo systems and Microsoft Office 2008 products (particularly Excel).  He indicated that even though the MS Windows mouse drivers were being used, there are also other mouse utilities installed by Lenovo.  After removing the Lenovo Mouse Suite program, the Visual Studio 2010 mouse scroll wheel problems vanished.

Lenovo Mouse Suite, as seen in the "Programs and Features" window.
(Click to enlarge.)

SYMPTOMS
Scroll wheel symptoms include: code window does not scroll vertically, or scrolls horizontally, other tool windows scroll vertically or horizontally (Solution Explorer, etc.), no windows scroll.  Other applications will function normally, including Web browser tabs withing Visual Studio. See the bug in action, in this video I recorded for the QA guys at Microsoft.

CAUSE
Several computer manufacturers install extra, "helpful" applications, usually including mouse utilities.  The utility incorrectly indexes dockable windows, and routes scroll wheel commands to the incorrect destination.  Allowing MS Windows to handle human input device (HID) messages is always best, because it always knows how to correctly route messages.

WORKAROUND
If you experience the same issues but are unable to update your mouse divers or remove programs, due to administrative or domain restrictions, this will temporarily correct the issue:
  1. Close all open documents, in Visual Studio
  2. Close Visual Studio
  3. Launch Visual Studio
After documents are re-opened, they should scroll appropriately.

Otherwise, remove any and all mouse or pointer device utilities, installed by the hardware manufacturer.  I'm talking about computer manufacturers (HP, Dell, etc.), not the manufacturer of the mouse (Logitech, etc.)  These more often than not have problems indexing tool windows properly, and loose track of which window really has focus.  As result, pointing device commands are routed to the wrong window!

See related post: Mouse Suites Aren't So Sweet

7 comments:

  1. Hi,
    I had the same problem in Windows7. Cause was the lenovo Mouse Suite 5.23. The Workround didn't work.
    My Solution: Open "Mouse Properties" dialog, select tab "Wheel" and change Wheel setting back to "Use Microsoft Office 97 Scrolling Emulation Only"

    ReplyDelete
    Replies
    1. your solution is worked perfectly. thanks

      Delete
  2. Hi,
    Same issue here in Windows 7 with Visual Studio 2010. I have Lenovo Mouse Suite 6.40.
    I changed Settings to "Use Microsoft Office 97 Scrolling Emulation Only" but it is found in tab "Lenovo", "Advanced Property" button and "Wheel" tab in the pop-up

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. Same issue here in Windows 7 with Visual Studio 2010 And 2012. I have Lenovo Mouse Suite 6.45

      Delete
  4. Same issue here in Windows 7 with Visual Studio 2010. I have Lenovo Mouse Suite 6.45

    1.Control Panel - View by : Large Icon
    2.Mouse
    3.Lenovo - Adavnce Properties
    4.Select Wheel Tab
    5.change settings to "Use Microsoft Office 97 Scrolling Emulation Only"

    Thanks To All! Its Worked !!!

    ReplyDelete

Please provide details, when posting technical comments. If you find an error in sample code or have found bad information/misinformation in a post, please e-mail me details, so I can make corrections as quickly as possible.