/resetmsmice

Fixes scroll wheel issues with certain Wireless Microsoft mice in X.org (includes KDE & Gnome applications), where the vertical wheel scrolls abnormally fast.

Primary LanguageCOtherNOASSERTION

Greetings!!!

------------------------------------------------------------------------------
About this package
------------------------------------------------------------------------------
***RECENT UPDATE***: some recent linux distributions that have Wayland or Xorg 
 that use libinput have this glitch fixed, so you might not need this 
 utility. I have heard conflicting reports, so your mileage may vary.

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 Mouse 1000
    Microsoft Wireless Optical Desktop 3000
    Microsoft Wireless Mobile Mouse 3500
    Microsoft Wireless Mobile Mouse 4000
    Microsoft Comfort Mouse 4500
    Microsoft Wireless Mouse 5000
    Microsoft Sculpt Mouse
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-2021 Paul F. Richards (paulrichards321@gmail.com)
 
This code is under the GNU GPL v2 license. See below for full license! 

------------------------------------------------------------------------------
Software dependacies to compile on Ubuntu, Kubuntu, Mint Linux and the other 
Debian or Ubuntu derivatives
------------------------------------------------------------------------------
# One liner to grab all the package requirements for Ubuntu, Kubuntu, etc:
sudo apt install build-essential pkg-config libusb-1.0-0-dev 

# if building with gui program:
sudo apt install libgtk-3-dev libglib2.0-dev

------------------------------------------------------------------------------
Software dependacies to compile on Redhat, Suse, or other RPM based distros 
------------------------------------------------------------------------------
# One liner to grab all the package requirements for Redhat and other RPM
# based distributions:
sudo yum groupinstall "Development Tools"
sudo yum install libusbx-devel 

# if building with gui program:
sudo yum install gtk3-devel glib2-devel
 
------------------------------------------------------------------------------
Compiling and installing this package on Linux:
------------------------------------------------------------------------------
Open a command line, and cd into the directory you untarred this package then 
type:
autoreconf -i .

# if building with gui program:
./configure

# if building WITHOUT gui program:
./configure --disable-gui

# The rest for either
make
sudo make install

------------------------------------------------------------------------------
To configure the system through the graphical interface after install
------------------------------------------------------------------------------
If you have a Gnome, KDE, or Unity desktop, go to the Settings submenu and 
you will see an icon there for 'Microsoft Mouse Settings' for launching 
the program.

To launch it from the command line run (with gui):
resetmsmice-gui

To launch it from the command line (without gui):
resetmsmice

From the graphical interface you can enable/disable the mouse to be reset on boot or reset right now. 

------------------------------------------------------------------------------
To have the package run on system bootup on the command line
------------------------------------------------------------------------------
By default the make install script sets up the package to run on boot, but if
you disable it and ever need to enable it manually again run as root:
sudo resetmsmice-enable-boot --enable

------------------------------------------------------------------------------
To disable resetmsmice from starting on bootup on the command line
------------------------------------------------------------------------------
as root type: 
sudo resetmsmice-enable-boot --disable

This will stop resetmsmice from running on bootup.

------------------------------------------------------------------------------
License: GPL 2 or above
------------------------------------------------------------------------------
Copyright (C) 2011-2021  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.

------------------------------------------------------------------------------
Appendix A: Description of each package required (Ubuntu/Debian flavors)
------------------------------------------------------------------------------
 build-essential:
     The development and build essentials such as the C/C++ compilers and 
     standard development libraries

 cmake:
     Modern cross-platform build utility (optional)

 pkg-config:
     Helper tool for compiling applications and libraries
     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 package 
     manager doesn't have the package.

 libusb-1.0-0-dev:
     Lib usb development files

     If you can't seem to find this package in your 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.

 libgtk-3-dev:
     Gtk graphical toolkit development files and associated dependencies

 libglib-2.0-dev:
     Glib library for starting programs and handling messages between
     programs.