resetmsmice Code
Fixes Abnormal Scroll Wheel Problems with Certain Microsoft Mice
Brought to you by:
paulrichards321
Greetings!!! ------------------------------------------------------------------------------ About this package ------------------------------------------------------------------------------ This package, resetmsmice, fixes scroll wheel issues with certain Wireless Microsoft mice in X.org (includes KDE & Gnome applications), where the vertical wheel scrolls abnormally fast. Only needed if you dual boot between Microsoft Windows and some linux distro. Known to fix the vertical scroll wheel issue with the following models (and others related): Microsoft Wireless Mobile Mouse 3500 Microsoft Wireless Mouse 5000 Microsoft Wireless Optical Desktop 3000 Microsoft Comfort Mouse 4500 This program basically just resets a setting in the mouse through usb communications and then exits. Please let me know if this works for your mouse not listed above!!! Copyright (C) 2011,2012 Paul F. Richards (paulrichards321@gmail.com) This code is under the GNU GPL v2 license. See below for full license! ------------------------------------------------------------------------------ Software requirements to compile 'resetmsmice': ------------------------------------------------------------------------------ 1) pkg-config In Ubuntu, Kubuntu, or Mint Linux this package is called: pkg-config You can get it through synaptic, or on the command line as root type this: sudo apt-get install pkg-config In Fedora, and probably Centos and Redhat as well, as root, type this on the command line: yum install pkgconfig If you are on another distro and can't seem to find a package for pkgconfig, grab it here: http://www.freedesktop.org/wiki/Software/pkg-config You will need to compile pkg-config and install it if your distro doesn't have a package. 2) pthread runtime and development libraries Most linux boxes should have the runtime library already installed, the exception would be maybe some embedded devices that run a very stripped down kernel and distro. The pthread development headers and library are usually already in your distro's gcc/glibc development library packages. 3) libusb-1.0 development files In Ubuntu, Kubuntu, or Mint Linux this package is called: libusb-1.0-0-dev You can get it through synaptic if you have it installed or on the command line: sudo apt-get install libusb-1.0-0-dev In Fedora, Centos, or Redhat, type the following as root: yum install libusb1-devel If you can't seem to find this package in your distro's package manager, you can grab the tarball here: http://sourceforge.net/projects/libusb/files/libusb-1.0/ I use libusb-1.0.8, but anything after that should work as well. ------------------------------------------------------------------------------ Compiling and installing this package: ------------------------------------------------------------------------------ Open a command line, and cd into the directory you untarred this package then type: ./configure make make install If configure or make error out, make sure you have the software requirements above. The make install command will need to be run with the root account, in Ubuntu, sudo make install ------------------------------------------------------------------------------ To have the package run on system bootup ------------------------------------------------------------------------------ First you will need to compile the package and install it, as shown above. To enable resetmsmice to run on boot, please run 'resetmsmice-enable-boot.sh' with one of the following options: If you run a recent version of Ubuntu, Kubuntu, Mint Linux, or any other Linux distro that runs upstart: resetmsmice-enable-boot.sh --upstart If you run a recent version Fedora or OpenSUSE or any other Linux distro that uses systemd and want systemd to launch resetmsmice automatically on bootup run: resetmsmice-enable-boot.sh --systemd If you run Debian, Redhat, or any other distro that uses System V style startup scripts and launch resetmsmice automatically on bootup run: resetmsmice-enable-boot.sh --sysv Don't know what option to use!!!!? System V startup scripts are fairly common and a lot of distros still keep it for backwards compatitibility so if you don't know what type of startup scripts your system uses, as root, try running: resetmsmice-enable-boot.sh --sysv ------------------------------------------------------------------------------ To disable resetmsmice from starting on bootup ------------------------------------------------------------------------------ On the command line: resetmsmice-enable-boot.sh --disable This will stop resetmsmice from running on bootup. ------------------------------------------------------------------------------ Optional linux kernel patch included ------------------------------------------------------------------------------ If you know how to compile your own kernel, I included a kernel patch for the 3.3.0 series kernel. It is in this tarball in a directory: optional-kernel-patch/msresetmouse-3.3.0.patch The userland program will be enough, but hopefully someday the patch will make it into the kernel after the userland program has tested the usb code enough! ------------------------------------------------------------------------------ License ------------------------------------------------------------------------------ Copyright (C) 2011,2012 Paul F. Richards (paulrichards321@gmail.com) Large parts of the code included in this package was taken from the Linux kernel, and the below license applies to that as well. See each file for more details. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.