Description of problem: Scrolling does not work on my Dell Vostro 1400 laptop, which uses an ALPS laptop. Scrolling has worked fine in this laptop always. If I go to GNOME control center -> Mouse & Touchpad and turn on "Edge Scrolling", it seems to turn on but it does not work, not even on the "Test your settings" window. If I get out of "Mouse & Touchpad" and get back in, the option is turned off again. This is how dmesg sees my touchpad: [root@starscream ~]# dmesg | grep -i alps [ 1.857986] input: AlpsPS/2 ALPS GlidePoint as /devices/platform/i8042/serio1/input/input5 [root@starscream ~]# Version-Release number of selected component (if applicable): libinput-1.6.0-2.fc25.x86_64 How reproducible: Always Steps to Reproduce: 1. Start the laptop 2. Try to enable Edge scrolling 3. Tes it. It does not work and it gets turned off again. Actual results: It does not work Expected results: It should work. Additional info:
Found the problem. It just happened that under GNOME on Wayland, the settings had enabled "Two-finger scrolling". This setting does not show under GNOME on Xorg (which is what I use). Login-in to GONME on Wayland, disabling two-finger scrolling and enabling Edge scrolling did the trick for me. There is still a bug somewhere, because this should just not happen, it should just enable the edge-scrolling and disable the two-finger scrolling, but it seems the bug is not on libinpput. Thanks!
Which versions of mutter and control-center packages do you have installed? Can you still reproduce the problem with the latest versions in f25?
AFAIK, I have the latest versions: [gpulido@starscream ~]$ rpm -q mutter mutter-3.22.2-3.fc25.x86_64 [gpulido@starscream ~]$ rpm -q control-center control-center-3.22.1-2.fc25.x86_64 [gpulido@starscream ~]$
Ok. Please use xinput on a terminal and find out this device's id. Then, grab the output of 'xinput list-props ID' both before and after doing the change in the control center that's supposed to work but doesn't and post it all here.
or run xinput watch-props "AlpsPS/2 ALPS GlidePoint" while you're toggling the settings. That should show if the property changes (and which ones do).
I tested and got the following results: - Running "xinput" under Wayland: [gpulido@starscream ~]$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ xwayland-pointer:13 id=6 [slave pointer (2)] ⎜ ↳ xwayland-relative-pointer:13 id=7 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ xwayland-keyboard:13 id=8 [slave keyboard (3)] [gpulido@starscream ~]$ - Running "xinput" under Xorg: [gpulido@starscream ~]$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ AlpsPS/2 ALPS GlidePoint id=11 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Video Bus id=6 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ Laptop Integrated Webcam id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)] ↳ Dell WMI hotkeys id=12 [slave keyboard (3)] [gpulido@starscream ~]$ As you can see, it shows completely different devices. Tried running "xinput watch-props "AlpsPS/2 ALPS GlidePoint"" as Peter suggested. It only worked under Xorg (Wayland does not have that device). and while running, I switched Edge Scrolling on and off, I got this: [gpulido@starscream ~]$ xinput watch-props "AlpsPS/2 ALPS GlidePoint" Device 'AlpsPS/2 ALPS GlidePoint': Device Enabled (150): 1 Coordinate Transformation Matrix (152): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Tapping Enabled (287): 0 libinput Tapping Enabled Default (288): 0 libinput Tapping Drag Enabled (289): 1 libinput Tapping Drag Enabled Default (290): 1 libinput Tapping Drag Lock Enabled (291): 0 libinput Tapping Drag Lock Enabled Default (292): 0 libinput Tapping Button Mapping Enabled (293): 1, 0 libinput Tapping Button Mapping Default (294): 1, 0 libinput Accel Speed (295): 1.000000 libinput Accel Speed Default (296): 0.000000 libinput Natural Scrolling Enabled (297): 0 libinput Natural Scrolling Enabled Default (298): 0 libinput Send Events Modes Available (272): 1, 1 libinput Send Events Mode Enabled (273): 0, 0 libinput Send Events Mode Enabled Default (274): 0, 0 libinput Left Handed Enabled (299): 0 libinput Left Handed Enabled Default (300): 0 libinput Scroll Methods Available (301): 0, 1, 0 libinput Scroll Method Enabled (302): 0, 1, 0 libinput Scroll Method Enabled Default (303): 0, 1, 0 libinput Disable While Typing Enabled (304): 1 libinput Disable While Typing Enabled Default (305): 1 Device Node (275): "/dev/input/event4" Device Product ID (276): 2, 8 libinput Drag Lock Buttons (306): <no items> libinput Horizontal Scroll Enabled (307): 1 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 1, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 1, 0 ^C [gpulido@starscream ~]$ So, the property gets changed and it gets correctly disabled. This was done while two-finger scrolling was disabled. Then I went to GNOME on Wayland, enabled "Two-finger-scrolling", which disabled "Edge scrolling" and I returned to GNOME on Xorg. Ran the same command again, got this: [gpulido@starscream ~]$ xinput watch-props "AlpsPS/2 ALPS GlidePoint" Device 'AlpsPS/2 ALPS GlidePoint': Device Enabled (150): 1 Coordinate Transformation Matrix (152): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Tapping Enabled (287): 0 libinput Tapping Enabled Default (288): 0 libinput Tapping Drag Enabled (289): 1 libinput Tapping Drag Enabled Default (290): 1 libinput Tapping Drag Lock Enabled (291): 0 libinput Tapping Drag Lock Enabled Default (292): 0 libinput Tapping Button Mapping Enabled (293): 1, 0 libinput Tapping Button Mapping Default (294): 1, 0 libinput Accel Speed (295): 1.000000 libinput Accel Speed Default (296): 0.000000 libinput Natural Scrolling Enabled (297): 0 libinput Natural Scrolling Enabled Default (298): 0 libinput Send Events Modes Available (272): 1, 1 libinput Send Events Mode Enabled (273): 0, 0 libinput Send Events Mode Enabled Default (274): 0, 0 libinput Left Handed Enabled (299): 0 libinput Left Handed Enabled Default (300): 0 libinput Scroll Methods Available (301): 0, 1, 0 libinput Scroll Method Enabled (302): 0, 0, 0 libinput Scroll Method Enabled Default (303): 0, 1, 0 libinput Disable While Typing Enabled (304): 1 libinput Disable While Typing Enabled Default (305): 1 Device Node (275): "/dev/input/event4" Device Product ID (276): 2, 8 libinput Drag Lock Buttons (306): <no items> libinput Horizontal Scroll Enabled (307): 1 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 Property 'libinput Scroll Method Enabled' changed. libinput Scroll Method Enabled (302): 0, 0, 0 ^C [gpulido@starscream ~]$ What I see is that the property gets also changed, but the change will not stick (as the original bug explains). Then I went to Wayland, disabled the two-finger scrolling, returned to Xorg and the Edge-scrolling can be enabled/disabled properly again. Additional information: I think it's useful knowing that the touchpad in this laptop does NOT support two-finger scrolling, so I do not even know why Wayland shows the option to enable/disable it. For reference, I did this same test on a Lenovo T440s, whose touchpad does support two-finger srolling, and it does not happen, however on that laptop, Xorg also shows the option to enable/disable 2-finger-scrolling (which IMO is the reason why it works) whereas on the original Dell laptop, Xorg does not show the option of 2FS (which is correct for that laptop's hardware). I hope having being clear, any more help I can provide, I'd be happy to. Thanks!!
So, it seems I missed the part where in one case, the property gets changed (0 to 1) but in the second case, it gets all the time set to 0 (does not change). Sorry about that guys.
note that xinput watch-props works in a loop, waiting for a "property changed" notify, then querying the value of the property. So if something changes the property and immediately resets it, you won't see the change. that seems to be what's happening here. sounds like https://bugzilla.gnome.org/show_bug.cgi?id=771744, I think there was a fedora bug for it already but I can't find it right now.
This is a mutter bug, patch upstream.