DEV Community 👩‍💻👨‍💻

Cover image for Ubuntu 20.04 mouse scroll wheel speed
Bavouzet Benoît
Bavouzet Benoît

Posted on • Updated on

Ubuntu 20.04 mouse scroll wheel speed

Ubuntu 20.04 mouse scroll wheel speed


I had a very slow scroll speed until I found that.

Install and run

  1. You have to install imwhell with :

    sudo apt install imwheel
    
  2. And download this bash script on http://www.nicknorton.net (thanks to him)
    You can type, as @victoor say in comments :

    You can just do bash <(curl -s http://www.nicknorton.net/mousewheel.sh) instead of copy the script manually and changing permissions. :)

    #!/bin/bash
    # Version 0.1 Tuesday, 07 May 2013
    # Comments and complaints http://www.nicknorton.net
    # GUI for mouse wheel speed using imwheel in Gnome
    # imwheel needs to be installed for this script to work
    # sudo apt-get install imwheel
    # Pretty much hard wired to only use a mouse with
    # left, right and wheel in the middle.
    # If you have a mouse with complications or special needs,
    # use the command xev to find what your wheel does.
    #
    ### see if imwheel config exists, if not create it ###
    if [ ! -f ~/.imwheelrc ]
    then
    cat >~/.imwheelrc<<EOF
    ".*"
    None,      Up,   Button4, 1
    None,      Down, Button5, 1
    Control_L, Up,   Control_L|Button4
    Control_L, Down, Control_L|Button5
    Shift_L,   Up,   Shift_L|Button4
    Shift_L,   Down, Shift_L|Button5
    EOF
    fi
    ##########################################################
    CURRENT_VALUE=$(awk -F 'Button4,' '{print $2}' ~/.imwheelrc)
    NEW_VALUE=$(zenity --scale --window-icon=info --ok-label=Apply --title="Wheelies" --text "Mouse wheel speed:" --min-value=1 --max-value=100 --value="$CURRENT_VALUE" --step 1)
    if [ "$NEW_VALUE" == "" ];
    then exit 0
    fi
    sed -i "s/\($TARGET_KEY *Button4, *\).*/\1$NEW_VALUE/" ~/.imwheelrc # find the string Button4, and write new value.
    sed -i "s/\($TARGET_KEY *Button5, *\).*/\1$NEW_VALUE/" ~/.imwheelrc # find the string Button5, and write new value.
    cat ~/.imwheelrc
    imwheel -kill
    
  3. Then set up the .sh file to executable with :

    chmod +x mousewheel.sh
    
  4. And then run script with :

    ./mousewheel.sh
    
  5. And set your mouse wheel speed in the popup by clicking on apply button. (my setting is 7) Re-run script for change.

  6. Finally add imwheel in ubuntu startup application.

If you have troubleshooting with previous and next mouse buttons :

  • Add -b "4 5" to imwhell :
imwheel -b "4 5"
Enter fullscreen mode Exit fullscreen mode

You can found others details here for setting speed by app :

Or in the man page : man imwheel

Image : Pexels

Sorry, it's my first post.
Have a nice day !

Top comments (63)

Collapse
richstoneio profile image
Rich Steinmetz

Speed 7 👍

This happened for me when I added some monitors and "Put Windows" to my setup.

Not sure whose exact fault it is in the end.

The solution works well, although the scrolling is not as smooth as I'm used to, but much better than before.

Thanks a bunch! 💚

Collapse
richstoneio profile image
Rich Steinmetz

OK, just turned it down to 3 😬

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Ok, thank you for your comment 😀😉🙏

Collapse
tamalban profile image
tamalban

If I try to run the script, it says "Value out of range.".
If I run "bash <(curl -s nicknorton.net/mousewheel.sh)" as superuser then I see the windows to adjust the speed and it works fine.
Adding it to the startup doesn't help... each time I have to run it as root.
What am I doing wrong?
Using this on Kubuntu 20.04.1 LTS and Thinkpad L380

Collapse
tamalban profile image
tamalban

nevermind, deleting ~/.imwheelrc and re-running the script fixed it.

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Ok 👍😊

Collapse
victoor profile image
Víctor Falcón

You can just do bash <(curl -s http://www.nicknorton.net/mousewheel.sh) instead of copy the script manually and changing permissions. :)

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Ok, good tip ! I will add this to post ;)
Many thanks !

Collapse
patriciomase profile image
Patricio Gabriel Maseda

Worked flawlessly in ubuntu 18 !

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Cool ! 👍
Have a nice day !

Collapse
viveknath322 profile image
Vivek Nath.R • Edited on

Hi,

When I run step 4, I'm getting this "This option is not available. Please see --help for all possible usages."

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Sorry, have you downloaded script on step 2 ? Or copy and past ?

Collapse
hoangphucitjp profile image
Kyouko__O

I got same issue. Both copy&paste and download the script produce same issue

Collapse
middienomad profile image
middieNomad

Thanks mate, this worked like a charm.

Collapse
bbavouzet profile image
Bavouzet Benoît Author

You are welcome, thanks to you and dev.to 😊

Collapse
caleb15 profile image
Caleb Collins-Parks

For those wondering how to do step 6 see io.bikegremlin.com/11541/linux-mou...

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Thank you for your link 👍

Collapse
albertzeyer profile image
Albert Zeyer

A couple of other options are listed here: askubuntu.com/questions/285689/inc...

I implemented an own simple Python script which you can simply run in the background, which implements mouse scroll wheel acceleration: github.com/albertz/mouse-scroll-wh...

Collapse
brownd profile image
Daniel Brown

Your script doesn't work for me.

Here are my revised lines that made the script work for me (line numbers included):

29  CURRENT_VALUE=$(awk -F 'Button4,' '{print $2}' ~/.imwheelrc | grep -Eo [0-9]+)
31  NEW_VALUE=$(zenity --scale --window-icon=info --ok-label=Apply --title="Wheelies" --text="Mouse wheel speed:" --min-value=1 --max-value=100 --value="$CURRENT_VALUE" --step 1)
Enter fullscreen mode Exit fullscreen mode

FYI the changes are: added grep to return the numbers only and put an equals sign in the --text option for zenity.

Collapse
alfmateos profile image
alfmateos

Thanks a lot, you solved my problem!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Thank you to dev.to community 😀
Have fun

Collapse
deiiv profile image
Deiiv

I had an issue with this script disabling my mouses back/forward buttons. To fix, add the following to the last line of the script: imwheel -kill -b "4 5"

Collapse
zenbeni profile image
Benjamin Houdu

Best tutorial on the subject so far. Quick and efficient, thank you!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Thank you for your comment 😊

Collapse
charcoalabbys profile image
charcoalAbbys

Thanks a lot :)

Collapse
bbavouzet profile image
Bavouzet Benoît Author

You are welcome 😀👍

Collapse
bogdevil13 profile image
bogdevil13

Just one thing, this is not limited to Gnome only as is commented on the top of the script, imwheel works at X windows level. It worked for me on KDE.

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Thanks for your comment ! 😀👍

Collapse
younessdotcom profile image
Youness Hassani

it works !!!! thank you so much

Collapse
bbavouzet profile image
Bavouzet Benoît Author

You're welcome 👍😉

Collapse
monishwankhade10 profile image
monishwankhade10

thanks man

Collapse
bbavouzet profile image
Bavouzet Benoît Author

You're welcome

Collapse
jasminemoreira profile image
Jasmine Moreira

Thank you a lot!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

You are welcome 😉👍

Collapse
pedrokuper profile image
Pedro

thank you!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Thank you too 👍

Collapse
hectormca profile image
Héctor Macías

That was really useful, thank you!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

You are welcome, thanks to you !

Collapse
vinimachadosantana profile image
Vinícius Machado Araújo Santana

Awesome, bro!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Thank you 🙂 👍

Collapse
ghostman80 profile image
Jared Johnson

I just wanted to let you know this worked! Thank you!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

😊👍
Thanks you too

Collapse
tancetin profile image
tancetin

Thanks.

Collapse
richtone profile image
Richard Turza

Hey, is it possible to adjust the script so that touchpad scrolling speed is not affected? Touchpad speed was just right, I only need to adjust mouse scrolling speed. Thanks!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Hey, I don't know... I'm not the script creator.
Instead of put the script in starts app, try to run it manualy when you are using mouse. Too, you can try to have two settings files.
If you found, say it to me,
Have a nice day

Collapse
dilantha111 profile image
Dilantha

wow this was really helpful !!! Thank you so much !!!!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

You are welcome 🙂 thank kou 👍

Collapse
rahulpa38 profile image
Rahul

My back button stopped working on my mouse

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Try to use imwheel -b "4 5"

Collapse
quangnhat49 profile image
Nguyễn Quang Nhật

Thanks!!!
But Mouse Back and Forward buttons not working... pls help me!!!

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Have you Tried to use imwheel -b "4 5" ?

Collapse
jonzivku profile image
jon zivku

One problem I ran into is that, if you have run imwheel already, then the above command does nothing.

I needed to "$ killall imwheel" and then run the above command, then only the scroll wheel action is captured by imwheel.

Thanks for this walkthrough

Collapse
olivaresandres profile image
Andres Olivares

Thank's work fine in ubuntu 20.04

Collapse
skogrv profile image
skogrv

Does someone know how to make these settings persistent, so it can survive reboot?

Collapse
bbavouzet profile image
Bavouzet Benoît Author • Edited on

Look here wiki.archlinux.org/index.php/IMWheel
as jon sivku say
😉

Collapse
skogrv profile image
skogrv

thanks, did that, works like a charm

Collapse
mohamedlazybob profile image
MOHAMED ZABOUB

Thank you man, it's working.
you can just do this to download the file :
~> curl nicknorton.net/mousewheel.sh -o mousewheel.sh

Collapse
bbavouzet profile image
Bavouzet Benoît Author

Ok, thank you 😉

Collapse
jawad5311 profile image
Jawad Mehmood

Whenever I restart my os the mouse speed get's back to 0 automatically. Then I have to do set it again manually using the mentioned procedure. Can you help?
OS: Ubuntu 20.04.4 LTS

🌚 Browsing with dark mode makes you a better developer.

It's a scientific fact.