I'm running on Arch Linux, Xfce 4.12.

My mouse wheel scrolls too slowly, so I want to increase the number of lines for each scroll "tick". I read that this is possible by setting the Evdev Scrolling Distance with xinput, however, I am using libinput and I do not see anything related to scrolling distance.

Output of xinput list-props on my mouse:

Device Enabled (139):   1                                                                                                       
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (275): -0.640000                                                                                           
libinput Accel Speed Default (276): 0.000000                                                                                    
libinput Accel Profiles Available (277):    1, 1                                                                                
libinput Accel Profile Enabled (278):   1, 0                                                                                    
libinput Accel Profile Enabled Default (279):   1, 0                                                                            
libinput Natural Scrolling Enabled (280):   0                                                                                   
libinput Natural Scrolling Enabled Default (281):   0                                                                           
libinput Send Events Modes Available (259): 1, 0                                                                                
libinput Send Events Mode Enabled (260):    0, 0                                                                                
libinput Send Events Mode Enabled Default (261):    0, 0                                                                        
libinput Left Handed Enabled (282): 0                                                                                           
libinput Left Handed Enabled Default (283): 0                                                                                   
libinput Scroll Methods Available (284):    0, 0, 1                                                                             
libinput Scroll Method Enabled (285):   0, 0, 0                                                                                 
libinput Scroll Method Enabled Default (286):   0, 0, 0                                                                         
libinput Button Scrolling Button (287): 2                                                                                       
libinput Button Scrolling Button Default (288): 274                                                                             
libinput Middle Emulation Enabled (289):    0                                                                                   
libinput Middle Emulation Enabled Default (290):    0                                                                           
Device Node (262):  "/dev/input/event1"                                                                                         
Device Product ID (263):    1133, 50487                                                                                         
libinput Drag Lock Buttons (291):   <no items>                                                                                  
libinput Horizonal Scroll Enabled (264):    1                                                  

How can I change my scrolling speed?


3 Answers 3


Libinput does not have any kind of "for every wheel scroll, do n lines/degrees" concept as a common party, the setting seems to be device-specific for now, as some Logitech has the parameter Evdev Scrolling Distance (278) that possibly came with the "old" Evdev driver includes.

This will be considered an regression for the user experience on my opinion, where at first, the inclusion of a configurable mouse scroll sensitivity into the common toolkit (libinput), was refused, it is now part of a pull request to be in future versions – possibly the function calls will have to be implemented in every Desktop Environment.

There are many possibilities to fix such issue, but depends on the Linux distribution.

  1. Be lucky and have driver-specific scroll sensitivity – check by doing a search for all inputs with scroll variables:

    xinput list | cut -f2 | cut -f2 -d'=' | \
                xargs -d $'\n' -I'{}' sh -c "xinput list-props '{}' | grep -iq scroll  &&  \
                                        (echo Listing dev id '{}'; xinput list-props '{}')"
    and setting the specific variable by xinput --set-prop <ID> <SUB-ID> <values>, where <ID> can be the device name and <SUB-ID> can be the setting name.

  2. A general fix is repatching the libinput code and rebuilding.

  3. You can try to rollback to udevadm/evdev interfaces with X11, and then try the X11 variable MOUSE_WHEEL_CLICK_ANGLE.

  4. From reference of last item, its possible to use imwheel to emulate mouse scroll clicks in multiply value.

    # Should use imwheel --kill --buttons "4 5" to restart imwheel,
    # if the mouse has back/forward buttons, otherwhise imwheel --kill is enough.
    # imwheel must be set to autostart in your DE tools.
    #Edit ~/.imwheelrc to include, where '3' is a multiplier
    None,      Up,   Button4, 3
    None,      Down, Button5, 3
    Control_L, Up,   Control_L|Button4
    Control_L, Down, Control_L|Button5
    Shift_L,   Up,   Shift_L|Button4
    Shift_L,   Down, Shift_L|Button5
  5. There are specific application settings for mouse wheel sensitivity, like Chrome SmoothScroll and Firefox SmoothWheel ref.

  • 3
    Libinput transition has been a UX regression in many ways, almost all of which come down to user control of their hardware's behavior... Which is unfortunate given the platform this is occurring on. Jan 14, 2020 at 21:45
  • Nothing worked for me, I just installed Chrome extension.
    – Salem F
    Jan 12, 2023 at 10:58

There is no current api for changing the scroll speed for libinput devices, but this blog explains how mouse wheel clicks correspond to an angle of movement that you can change per mouse in systemd's udev configuration file /usr/lib/udev/hwdb.d/70-mouse.hwdb. Read the comments about MOUSE_WHEEL_CLICK_ANGLE at the start of this file.

To make a local change, create a new file


and add your overriding rule. For example if you have the ImExPS/2 mouse you can double the default 15 degree per click to 30 degrees with

# ImExPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:

Reload the udev database

 sudo udevadm hwdb --update
 sudo udevadm trigger /dev/input/event1
  • 1
    There is no current api for changing the scroll speed for libinput devices: has this changed since then?
    – orschiro
    Jun 25, 2017 at 10:51
  • 2
    @orschiro I get the impression that an api is not the intention. The hope would be that all devices get properly identified and configured in udev and there is then no need for user configuration. Check out all the libinput blogs. In particular 1.4 corresponds to finishing the initial TODO list for libinput.
    – meuh
    Jun 25, 2017 at 12:23
  • 7
    in Ubuntu 16.10 the system udev conf is in /lib/udev/hwdb.d/70-mouse.hwdb Jul 10, 2017 at 10:48
  • 2
    anyway to do the same with a touchpad ?
    – Francesco
    Feb 5, 2018 at 21:00
  • 3
    @daboross The consensus seems to be that most user-configurable settings are a bad thing, which makes no sense to me as it is just making Linux less approachable and user friendly/accessible for people moving from mac or windows. The whole libinput thing, by itself, is making me reconsider my switch since I have an RSI, and fine-tuning my mice is crucial for me.... Dec 21, 2018 at 4:49

You can make the "steps" of the scrolling smaller therefore making the scroll overall slower with:

xinput --set-prop "YOUR TOUCHPAD" "libinput Scrolling Pixel Distance" YOUR_SPEED

Add Option "ScrollPixelDistance" "YOUR_SPEED" to your xorg conf of the Trackpad to make it permanent.

Heres the docs for some more info:


  • 1
    This took me way too many hours to find out and i hope i can help someone else with this
    – GMON
    Dec 7, 2021 at 22:49
  • how do i add the Option ro xorg conf?
    – dodohjk
    Feb 15 at 14:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .