Ubuntu – 18.04 broke natural scrolling

18.04mousetouchpad

A couple of months ago I upgraded from Ubuntu 16.04 to 18.04 as one of many steps in attempting to fix my wireless drivers.

Ever since the upgrade, however, natural scrolling has been broken. Rather, it's been stuck on.

When I go to Settings > Devices > Mouse & Touchpad it doesn't matter if I set Natural Scrolling to on or off, it's always on. When I two-finger scroll up, the page goes down. When I two-finger scroll down, the page goes up.

What makes this even more confusing is that natural scrolling doesn't affect horizontal scrolling. So a two-finger scroll right will move the page right and a two-finger scroll left will move the page left. This discrepancy between vertical and horizontal behavior has made it impossible for me to just adapt and get used to the new mouse mechanics.

I tried uninstalling xserver-xorg-input-synaptics (per Ubuntu 17.10 natural scrolling) however this did not change anything (other than free up 180 MB of disk space)

Minor Update

Uninstalling the Synaptics drivers may have had some affect – but not a positive one. I've started to notice that scrolling will randomly stop working entirely in certain apps or on certain web pages until I restart the app. Natural scrolling is still stuck on, but it goes from being annoying to being outright nonfunctional as the trackpad doesn't scroll at all after some time.

I'm reinstalling the Synaptics driver and we'll see if my scrolling remains consistent.

Output of xinput

{9:04}|~ >xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS DualPoint TouchPad          id=13   [slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS DualPoint Stick             id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=10   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ DELL Wireless hotkeys                     id=15   [slave  keyboard (3)]

Output of xinput list-props 13

{9:37}|~ >xinput list-props 13
Device 'AlpsPS/2 ALPS DualPoint TouchPad':
        Device Enabled (142):   1
        Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (269):     1
        Device Accel Constant Deceleration (270):       2.500000
        Device Accel Adaptive Deceleration (271):       1.000000
        Device Accel Velocity Scaling (272):    12.500000
        Synaptics Edges (273):  441, 2503, 230, 1306
        Synaptics Finger (274): 12, 15, 0
        Synaptics Tap Time (275):       0
        Synaptics Tap Move (276):       146
        Synaptics Tap Durations (277):  180, 180, 100
        Synaptics ClickPad (278):       0
        Synaptics Middle Button Timeout (279):  75
        Synaptics Two-Finger Pressure (280):    141
        Synaptics Two-Finger Width (281):       7
        Synaptics Scrolling Distance (282):     66, 66
        Synaptics Edge Scrolling (283): 0, 0, 0
        Synaptics Two-Finger Scrolling (284):   1, 1
        Synaptics Move Speed (285):     1.000000, 1.750000, 0.060241, 0.000000
        Synaptics Off (286):    0
        Synaptics Locked Drags (287):   0
        Synaptics Locked Drags Timeout (288):   5000
        Synaptics Tap Action (289):     0, 0, 0, 0, 1, 3, 2
        Synaptics Click Action (290):   1, 3, 2
        Synaptics Circular Scrolling (291):     0
        Synaptics Circular Scrolling Distance (292):    0.100000
        Synaptics Circular Scrolling Trigger (293):     0
        Synaptics Circular Pad (294):   0
        Synaptics Palm Detection (295): 1
        Synaptics Palm Dimensions (296):        10, 100
        Synaptics Coasting Speed (297): 20.000000, 50.000000
        Synaptics Pressure Motion (298):        15, 80
        Synaptics Pressure Motion Factor (299): 1.000000, 1.000000
        Synaptics Resolution Detect (300):      1
        Synaptics Grab Event Device (301):      0
        Synaptics Gestures (302):       1
        Synaptics Capabilities (303):   1, 1, 1, 1, 1, 1, 0
        Synaptics Pad Resolution (304): 31, 31
        Synaptics Area (305):   0, 0, 0, 0
        Synaptics Noise Cancellation (306):     16, 16
        Device Product ID (266):        2, 8
        Device Node (265):      "/dev/input/event7"

Best Answer

So after re-installing the Synaptics driver I took another look at my settings and now I feel really stupid. I figured it out.

enter image description here

I don't recall there being separate options in 16.04 for "mouse" and "touchpad", or if there were then I properly set my mouse up so long ago, that when I updated to 18.04 (and it reverted my touchpad settings) I had completely forgotten.

Toggling the appropriate setting worked as expected