previously worked
echo "pointer = 1 2 3 5 4 7 6 8 9 10 11 12" > ~/.Xmodmap && xmodmap ~/.Xmodmap
didn't work
In my case, there was no need to remove any package. The only line which was missing in /usr/share/X11/xorg.conf.d/40-libinput.conf
was:
Option "NaturalScrolling" "on"
so the whole section looked as the following:
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Option "NaturalScrolling" "on"
Driver "libinput"
EndSection
After restart of X session my mouse worked correctly.
For me, the solution was to leave xserver-xorg-input-libinput
installed, and instead remove xserver-xorg-input-synaptics
, then reboot. It seems as if the upgrade installed both and was choosing synaptic by default, which doesn't seem to have a natural scrolling option.
(I'm running Ubuntu Gnome 17.04 on a Dell XPS 15 9530, btw)
xserver-xorg-input-synaptics
I just upgraded from Ubuntu 16.10 to 17.04 and several things are broken, including natural mouse scrolling. note - I have a regular mouse (Evoluent) on a desktop, not a trackpad. I previously used this solution for Ubuntu 16: Reverse two finger scroll direction (natural scrolling)?, but this did NOT work in Ubuntu 17. Here is what worked for me in Ubuntu 17.04:
first, delete xserver-xorg-input-libinput
package:
sudo apt remove xserver-xorg-input-libinput
then create file /usr/share/X11/xorg.conf.d/20-natural-scrolling-mouses.conf
with this content:
Section "InputClass"
Identifier "Natural Scrolling Mouses"
MatchIsPointer "on"
MatchIsTouchpad "off"
MatchDevicePath "/dev/input/event*"
Option "VertScrollDelta" "-1"
Option "HorizScrollDelta" "-1"
Option "DialDelta" "-1"
EndSection
then restart your computer.
xserver-xorg-input-libinput
I could not use my mouse and my keyboard anymore, so I could not log in. I had to boot with live cd and chroot to my broken OS, reinstall it to fix this. pretty annoying.
The xinput command can be used to change this also. Put it in your .profile so it's executed on every startup. Here's what I put in mine:
#
# Set natural scrolling with apple mouse
# for usage information, type xinput by itself. Other useful commands are
# xinput list-props 10 -- to find out settable property numbers (275)
# xinput list -- to find out that 10 is the device ID of the mouse
#
xinput set-prop 10 275 -1 1 1
10
and 275
in your case. As you said, these are specific to your setup and drivers and that other users might need different ones. You can also enter text instead of the ids, but these can also be specific. You can consider my answer on U&L for more details.
In Ubuntu 18 the xinput
properties for Kensington Trackball changed. Now to reverse the scroll ring direction you can use:
xinput set-prop 'Primax Kensington Eagle Trackball' 303 1
Not entirely sure this will translate from Ubuntu 16.04(LTS) to 17.04 and beyond, but it's a different solution than any of the other suggestions. It seems worth mentioning:
Find the setting: org.gnome.desktop.peripherals.mouse and check the box for "natural-scroll". The default is unchecked (false).
Not all options provided in dconf schemas are exposed in the UI. My guess is an attempt to keep the UI simple, which is IMO a worthy endeavor.
NOTE: It's unclear to me how dconf will interact with a previously configured xinput. Is dconf twiddling the same xinput settings? Is dconf an actual layer on top of xinput such that if you changed the setting in both places it would be effectively undone? It only matters if you forget and try both things...
gsettings set org.gnome.desktop.peripherals.mouse natural-scroll true
Dec 3, 2019 at 18:40
In newer versions of Ubuntu (Ubuntu 21.04, for instance), you can change this setting like this:
xmodmap -e 'pointer = 1 2 3 5 4'
then, that works for me.