As the title says, I want to increase the number of rows that are passed when I use the mouse wheel for scrolling. I know that there exists ways to do that for Firefox and Chromium, although I want something for the entire system, mainly because of the PDF reader.
I am on a Desktop and use a Microsoft Wireless Mouse 5000.
Beforehand
With the currently used input driver system it is not possible to change the scroll speed of your mouse, at least not without drawbacks. You are able to adjust the scroll speed for Qt-Applications using a KDE Settings but the only current way to change the scrolling in a generic fashion is by using
imwheel
which seems to be problematic in many ways (see comments). In the future this will be fixed withlibinput
and the systemd hardware database.Current Way
Install
imwheel
with the following command or from the Software Center:Create (if necessary) and edit the configfile
~/.imwheelrc
with an editor of your choice (e.g.gedit
). Fill in the following for increasing the scroll speed for every Command. NB: This configuration file will apply these new scroll settings to all programs, (including the terminal, which may not be what you want).If you want to only apply these settings to
Chrome
, for instance, use these settings instead:The
3
is a scroll multiplier to increase the effectiveness of the scroll wheel. In the README of the project it is called "REPS". The readme states:In other words, it is a scroll multiplier. If
REPS
is set to3
, that means that when your mouse wheel commands one scroll command, the software intercepts this command and sends 3 commands to the PC instead of 1, thereby making it scroll 3 times farther, or "faster".For more information also take a look at the manpage:
or refer to the README of the project.
You can start
imwheel
by typing:Be sure that you don't start the imwheel twice! That's a known bug, but you can stop imwheel with the command:
To get
imwheel
to automatically start every time your computer boots, you must add it to the startup menu AFTER an x-window is loaded. IMPORTANT: since imwheel relies on an x-window to already be running, it will NOT work if you add it to crontab, /etc/init.d, or /etc/rc.local. That means you must do it this way instead:Ubuntu:
Use the "Startup Applications" GUI editor to Add
imwheel
as a Startup Program: https://askubuntu.com/a/48327/327339Xubuntu:
Use the "Session and Startup" GUI editor --> Application Autostart --> Add to add
imwheel
as a startup program.More screenshots here: https://askubuntu.com/a/369443/327339.
Future
This tutorial is currently under development.
libinput
seems to be included with Wily Werewolf (15.10) where you need to install the packagexserver-xorg-input-libinput
. After you installedlibinput
withit should be used for every input after you restarted the Xorg (logout would be sufficient). Now that you are using
libinput
you are able to adjust the settings of your mouse. You can find a full tutorial in the file /lib/udev/hwdb.d/70-mouse.hwdb. Let me cover here only the basics.The following steps are need to be done as
root
. Because of that I am friendliy reminding you that everything you do you need to take responibility.First get the vendor id
<vid>
and the product id<pid>
usinglsusb
. Here with a MX 518 Logitech Mouse as example. If you have the following line in the output oflsusb
.The
<vid>
is046d
and the<pid>
isc051
.Then create a File that looks like the following with
gksudo gedit /etc/udev/hwdb.d/71-mouse-local.hwdb
For example this file for the Logitech MX 518 example above:
This file sets the mouse wheel click angle to 30° (default is usually 15). To use this setting, update the hwdb with the following commands:
One can figure out the
${id}
usingxinput
(look out for the id of your mouse) and then runxinput list-props ${xinput_id}
.Note that using the
~/.imwheelrc
recommended in the accepted answer does not actually increase the scroll wheel speed. Rather, it replaces scrolling with multiple arrow key strokes. This has the disadvantage of not being able to scroll a window until you change focus to it, not the default behavior. This answer aims to provide an alternative that behaves more closely to the native behavior.To provide a concise answer for Ubuntu >14.04 (combining the answers from @tvm and @redanimalwar with the comment from @aroll605), it seems the best option to actually increase the scroll wheel speed is to install
imwheel
and configure it by following these steps:Install
imwheel
by running:(replace
apt
withapt-get
depending on your system)Edit
~/.imwheelrc
:and paste:
You should try different values for
#
in the lines:To test the settings use the command:
Open Startup Applications and add:
Note that using the option
-b "4 5"
restrictsimwheel
to only affect the scroll wheel, discussed here.// Edit
As this gets some upvotes from time to time: I not use this anymore (out of laziness after reinstalls) and I now think this script the slider and stuff is too much overhead. Also people have pointed out issues with this over time. So as a minimalistic guy I now created the config myself. Its probably a one time thing for most people.
I have edited this to be a 4 step guide with everything you need.
And another update: Since I switched to KDE, that actually has a setting for this and a million others things Gnome does not (Not even realized how much i missed KDE). The issue is that KDE mouse settings have actually have no effect on Firefox (and other GTK apps I assume) but since my main purpose for this was actually web browsing I now found out that you can actually tweak how much the mouse scrolls in Firefox itself.
I set it to 600 and its perfect for me
// End Edit
The accepted answer has a config that for whatever reason maps the scrolling to UP and DOWN on the keyboard. Makes no sense to me.
I have found a perfect script that actually maps to the mouse and adds a GUI to set up the mouse speed.
There is also a video where it is introduced. I have not even finished watching this because I got it running in no time. The following would install the required packages, download the script and execute it for us:
Set the wheel speed on a nice slider and be happy. Later just change with
set-mousewheel
command.Not sure if imweel is automatically started after install, else we need to add it to startup applications.
My two cents: my Microsoft Sculpt Ergonomic mouse was scrolling about half a page at a time on Ubuntu 15.04 (Lenovo ThinkPad x220), which was really annoying me. I tried various solutions, but ended up having the idea of disconnecting the mouse from the USB port (the wireless dongle thing) and reconnecting it. Voila!..."normal" scrolling speeds ensued :). Hope that helps somebody.
While the above
imwheel
suggestions helped a bit, I found that removing the mechanical scroll-clicking mechanism made my mouse wheel much more pleasant to use -- not only removing the click, but making it faster and more precise to control!And it only took 3 minutes - check out these instructions:
http://www.instructables.com/id/Making-a-mouse-wheel-not-click./
In a nutshell, you're removing this left spring (be careful to get the right spring back in place exactly):
Note: I have a standard, cheap mouse - a Logitech B100, others report success on similar models. Your mileage may vary.
imwheel
will emit double scroll events in chrome, which is annoyingFor
i3wm
andlibinput
users, I suggest libinput_patch, which gives an entry to change scroll delta in real time, and is much better in my use caseI also wanted to increase the mouse scroll wheel acceleration, and not just the absolute speed. This is a feature in MacOSX but not builtin for Xorg (also Wayland) yet.
I implemented such a feature in user space here (mouse-scroll-wheel-acceleration-userspace). This will increase the scroll speed, or accelerate the scroll speed. You would just run this in the background, with your preferred options. The code is quite simple Python code, and should be easy to modify as well.
Installation:
I just searched for this problem, because after a reboot my mouse wheel got really slow. After trying to solve it with different applications (imwheel, ...) I just unplugged it and plugged it in again and it worked like before. So if the speed changed between restarts without you doing anything, this might be worth trying.
I modified mousewheel.sh in order to include horizontal scroll speed adjustment:
Added 3rd and 2nd last lines in order to kill and restart imwheel process on manjaro/arch, remove them if they cause bugs on ubuntu.