paulrichards321 / resetmsmice

Fixes scroll wheel issues with certain Wireless Microsoft mice in X.org (includes KDE & Gnome applications), where the vertical wheel scrolls abnormally fast.
Other
47 stars 5 forks source link

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.