6

I am using GNOME Shell 3.22.0 on nixos, and trying to enable natural scrolling for my mouse's scroll wheel.

Under settings, there is a 'natural scrolling' option, as shown in this screenshot

gnome settings' natural scrolling button

My mouse wheel scrolls in the same (non-natural) direction whether natural scrolling here is selected to be on or off.

How can I enable natural scrolling? Do I need to report this to gnome (or nixos) somehow as a bug?

6
  • 1
    I don't think you understand natural scrolling. It doesn't disable your scroll wheel it just changes the direction in which it scrolls. It's also a stupid term because "Natural scrolling" is very unnatural to any normal human being.
    – jesse_b
    Jul 13, 2017 at 21:35
  • 1
    fwiw, it works fine here (archlinux) so prolly a bug in your implementation (ubuntu has it too...) Jul 13, 2017 at 21:53
  • 1
    How is your scroll wheel currently working? Do move the wheel away from you to scroll up and towards you to scroll down?
    – jesse_b
    Jul 13, 2017 at 22:24
  • @Jesse_b Yes that's right -- rolling it away from me and screen scrolls up, towards me and the screen scrolls down. And that direction is the same whether the 'Natural Scrolling' button is 'on' or not.
    – mherzl
    Jul 13, 2017 at 22:28
  • 1
    I think it may be related to your touchpad drivers, which may not support the natural scrolling feature. Try looking at some of these articles: askubuntu.com/questions/907279/… . bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/…
    – jesse_b
    Jul 13, 2017 at 22:30

5 Answers 5

8

I faced the same issue. I had xserver-xorg-input-synaptics installed. I uninstalled it and the problem was solved. After uninstalling, the natural scrolling button works properly.

3
  • Thanks for the answer! Searching for available packages by running nix-env -qaP '*' I do not see the xserver-xorg-input-synaptics package available for install. Did you happen to install it from somewhere other than the standard nixpkgs package set?
    – mherzl
    Jul 30, 2017 at 21:11
  • Wow. Everything was working fine for me until I upgraded to Ubuntu 22.04 today. Removing xserver-xorg-input-synaptics fixed the problem for me too.
    – Radu C
    Apr 24, 2022 at 15:15
  • Thank you, worked for me as well. Jul 26, 2022 at 11:02
2

In addition to @Dr. Pro answer, this did the trick for me:

dnf remove *synaptics*
dnf install xorg-x11-drv-libinput
reboot

After this the touchpad is working as usual and natural scrolling works fine again.

2

I don't know how well this applies to nixos specifically, but another approach I've used successfully is to set the appropriate settings in xinput. You wont have to remove the synaptics driver either.

First, you'll need to find the name of the input method that corresponds to your touchpad by running

xinput --list

You'll get list of all your input devices. Look for the device that corresponds to your touchpad. In my case, the name for my touchpad was "SynPS/2 Synaptics TouchPad".

The second step is to get a list of all device properties that can be set through xinput:

xinput --list-props 'TRACKPAD NAME'

If the property name 'libinput Natural Scrolling Enabled', then you're in luck! Just set the property by running:

xinput set-prop 'TRACKPAD NAME' 'libinput Natural Scrolling Enabled' 1

and you're set.

As a bonus, it seems that libinput(1) is a drop-in replacement for xinput that works with Wayland, so this method should work for wayland users as well.

Finally, you can also control other properties of the trackpad this way. I've used it to disable tap clicks.

1
  • Thanks man! it already listed the prop as set to 1 but setting it again still did the trick. It was driving me crazy! :)
    – tpei
    Dec 10, 2020 at 16:29
1

Had the exact same issue. I looked up for synaptic packages on my machine using sudo apt list --installed | grep synaptic

There was one xserver-xorg-input-synaptics.

So now run sudo apt autoremove xserver-xorg-input-synaptics to remove it, and restart your computer. Should resolve your issue.

0

Instead of writing the name, simply choose the ID. Easier, faster.

From this:

xinput --list-props 'TRACKPAD NAME'

To that:

xinput --list-props 8 
1
  • 3
    Using the name had the advantage that the command will work regardless of enumeration order. Aug 22, 2019 at 7:22

You must log in to answer this question.

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