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.


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 Ergenomic 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.

  • 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 – loganfromlogan May 3 '19 at 15:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.