I've just bought a 3M Ergonomic Mouse, model EM500GPL, and for pointer movement and left/right click it works fine. But I'd like to know if it's possible to configure the third button to behave the way the makers intended.

Holding the third button down and then moving the mouse up should cause a scroll-up action in the target window; holding the third button down and then moving the mouse down should cause a scroll-down action.

I'm using OpenSUSE 12.3 with KDE 4.10.5. I suspect the desired behaviour is not something that can be achieved easily, but I'd be very happy to be proved wrong.


2 Answers 2


Thanks to Adam's comment pointing me to Gilles' answer, I finally achieved the effect I wanted with the 3M Ergonomic Mouse. I'm now using KDE Plasma 5, but I suspect the following works for most modern X.Org systems.

According to the command:

xinput --list

The 3M Ergonomic Mouse is labelled "PixArt USB Optical Mouse" on my system, and the command

xinput --list-props 'PixArt USB Optical Mouse'

confirmed that the evdev wheel emulation properties exist for this device.

The evdev man page confirms the xorg.conf Option name for each of these properties.

So I created a directory called /etc/X11/xorg.conf.d/ and then created a file in this directory called mousewheel-emulation.conf which contained the following:

# Enable scroll-wheel emulation on the 3M Ergonomic Mouse.
Section "InputClass"
    Identifier "3M Ergonomic Mouse Wheel Emulation"
    Driver "evdev"
    MatchProduct "PixArt USB Optical Mouse"
    Option "EmulateWheel" "on"
    Option "EmulateWheelButton" "2"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"

After rebooting the machine I found that holding the third button (the one which runs up the grip) and moving the mouse up/down now emulates vertical scroll wheel movement, whilst holding the third button and moving the mouse left/right emulates horizontal scroll wheel movement. Very pleasing after so long without the ability to scroll in all applications.

As a note of warning: backup your entire system before you make these changes. When I tried to use the configuration exactly as shown in Gilles' answer, it caused my system to boot to a black screen and wouldn't allow me to switch to a non-graphical terminal. After several reboots I was able to switch to a non-graphical terminal (by holding Ctrl+Alt+F1), then login and remove the new configuration file, which removed the problem. But it's best to backup your files just in case.

  • 2
    I was able to get this to work within Pop!_OS 18.04 (Ubuntu based) by putting xinput set-prop 'PixArt USB Optical Mouse' 'libinput Scroll Method Enabled' {0,0,1} in ~/.xsessionrc May 3, 2019 at 15:49

Yes! For me on CentOS 7 this can be enabled on the command line:

xinput --set-prop 'PixArt USB Optical Mouse' 'Evdev Wheel Emulation' 1
xinput --set-prop 'PixArt USB Optical Mouse' 'Evdev Wheel Emulation Button' 2
xinput --set-prop 'PixArt USB Optical Mouse' 'Evdev Wheel Emulation Axes' {6,7,4,5}

along the lines in the orginal thread.

  • Do you have to run these commands after each reboot/login in order to get the desired effect, or do they remain permanent? Does creating a .conf file in the xorg.conf.d directory not work on CentOS?
    – Arkanon
    Dec 27, 2021 at 14:06
  • Hi @Arkanon I put these in my shell startup script (.cshrc/.bashrc). I'm sure the xorg.conf.d directory approach would work too.
    – bosmith
    Dec 29, 2021 at 9:11

You must log in to answer this question.

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