GNOME Bugzilla – Bug 764257
Can't disable touchpad in 3.20
Last modified: 2016-04-13 17:01:21 UTC
Hi, The option specifying that the touchpad should be disabled is no longer respected in Gnome 3.20 on my laptop. I try to disable the trackpad via gnome-control-center. It used to be able to disable the trackpad in v3.18. I have tested with a newly created account as well as my standard account. My hardware is a Thinkpad W530 with a trackpoint and a touchpad. My distro is Archlinux and I guess there's a chance that it's a bug in how they build Gnome... I don't know if I can provide more useful information. Running gnome-control-center from the terminal didn't reveal anything useful. Thanks,
Created attachment 324834 [details] screenshot Doesn't the first switch (shown in the screenshot attached) work for you?
Created attachment 324835 [details] screenshot of rasmus' settings No, but I would want it to work. That was the intended signal of the bug report.
Same here with AOSC OS. We build our GNOME packages from source just like Arch. Build configuration can be obtained here: https://github.com/AOSC-Dev/aosc-os-abbs/tree/staging/extra-gnome/gnome-control-center Just built it this afternoon (here in MDT). Find it annoying as well (ThinkPad user who never uses touchpad).
Is this an X or wayland session? Please paste the output of running "sudo libinput-list-devices" and if this is an X session paste the output of running "xinput" as well.
(In reply to Rui Matos from comment #4) > Is this an X or wayland session? Please paste the output of running "sudo > libinput-list-devices" and if this is an X session paste the output of > running "xinput" as well. This is an X11 GNOME session. jeffbai [ ~ ] $ sudo libinput-list-devices [sudo] jeffbai 的密码: Device: Power Button Kernel: /dev/input/event2 Group: 1 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Device: Video Bus Kernel: /dev/input/event4 Group: 2 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Device: Sleep Button Kernel: /dev/input/event1 Group: 3 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Device: Integrated Camera Kernel: /dev/input/event16 Group: 4 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Device: AT Translated Set 2 keyboard Kernel: /dev/input/event3 Group: 5 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a Device: SynPS/2 Synaptics TouchPad Kernel: /dev/input/event14 Group: 6 Seat: seat0, default Size: 84.53x50.77mm Capabilities: pointer Tap-to-click: disabled Tap-and-drag: enabled Tap drag lock: disabled Left-handed: disabled Nat.scrolling: disabled Middle emulation: n/a Calibration: n/a Scroll methods: *two-finger edge Click methods: *button-areas clickfinger Disable-w-typing: enabled Accel profiles: none Device: TPPS/2 IBM TrackPoint Kernel: /dev/input/event15 Group: 7 Seat: seat0, default Capabilities: pointer Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: disabled Nat.scrolling: disabled Middle emulation: disabled Calibration: n/a Scroll methods: *button Click methods: none Disable-w-typing: n/a Accel profiles: flat*adaptive Device: ThinkPad Extra Buttons Kernel: /dev/input/event5 Group: 8 Seat: seat0, default Capabilities: keyboard Tap-to-click: n/a Tap-and-drag: n/a Tap drag lock: n/a Left-handed: n/a Nat.scrolling: n/a Middle emulation: n/a Calibration: n/a Scroll methods: none Click methods: none Disable-w-typing: n/a Accel profiles: n/a And xinput as follows... jeffbai [ ~ ] $ LANG=C xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=12 [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)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ Integrated Camera id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)] The X11 server is using xf86-input-libinput at the moment, FYI.
P.S. xorg-server version 1.18.1 libinput version 1.2.2 xf86-input-libinput version 0.17.0
So it seems like xf86-input-synaptics is causing the issue here, removing that package solved my issue. xf86-input-synaptics includes a xorg.conf.d configuration file as follows. # Example xorg.conf.d snippet that assigns the touchpad driver # to all touchpads. See xorg.conf.d(5) for more information on # InputClass. # DO NOT EDIT THIS FILE, your distribution will likely overwrite # it when updating. Copy (and rename) this file into # /etc/X11/xorg.conf.d first. # Additional options may be added in the form of # Option "OptionName" "value" # Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" # This option is recommend on all Linux systems using evdev, but cannot be # enabled by default. See the following link for details: # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html MatchDevicePath "/dev/input/event*" EndSection Section "InputClass" Identifier "touchpad ignore duplicates" MatchIsTouchpad "on" MatchOS "Linux" MatchDevicePath "/dev/input/mouse*" Option "Ignore" "on" EndSection # This option enables the bottom right corner to be a right button on clickpads # and the right and middle top areas to be right / middle buttons on clickpads # with a top button area. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Default clickpad buttons" MatchDriver "synaptics" Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%" EndSection # This option disables software buttons on Apple touchpads. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Disable clickpad buttons on Apple touchpads" MatchProduct "Apple|bcm5974" MatchDriver "synaptics" Option "SoftButtonAreas" "0 0 0 0 0 0 0 0" EndSection Is there anything that's potentially problematic in here? Well, this portion maybe? Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on"
Yeah, we don't support synaptics anymore. Unsure what/if we could do better to communicate this to end users?
(In reply to Rui Matos from comment #8) > Yeah, we don't support synaptics anymore. Unsure what/if we could do better > to communicate this to end users? Keep in mind though, the same configuration did not lead to the issue described in this bug. It's fine if you say "synaptics xf86 input driver will no longer be supported by GNOME", Fedora, as we speak, is using the same configuration. What if a Fedora user installs xf86-input-synaptics (or whatever package name they use)? I don't think throwing a "tough luck" will be enough. In addition to that, synaptics xf86 driver is far from being deprecated at this point. Can someone point out the commit that caused this issue?
(In reply to Jeff Bai from comment #9) > Keep in mind though, the same configuration did not lead to the issue > described in this bug. I don't follow. What do you mean exactly?
(In reply to Rui Matos from comment #10) > (In reply to Jeff Bai from comment #9) > > Keep in mind though, the same configuration did not lead to the issue > > described in this bug. > > I don't follow. What do you mean exactly? Given the same configuration (with xf86-input-synaptics installed), 3.18 did not has this issue.
(In reply to Jeff Bai from comment #11) > Given the same configuration (with xf86-input-synaptics installed), 3.18 did > not has this issue. Right, because support for detecting and configuring input devices driven by the synaptics X driver was removed during development for 3.20 . It was removed because the synaptics X driver isn't developed anymore. libinput has essentially replaced it upstream. The question now is if and what should we do to make users who upgrade their systems and where their distro doesn't take care of that issue, aware of this.
Created attachment 325370 [details] [review] mouse: Fix initial widget visibility We're showing all widgets on panel start up instead of selectively hiding non-relevant widgets since the gtk_widget_show_all() on the stack after creating the panel widget and adding it to the stack overrides the visibility decisions done while constructing the panel.
Created attachment 325371 [details] [review] mouse: Drop unused synaptics capabilities check We don't support synaptics anymore so checking for this is useless.
Created attachment 325372 [details] [review] mouse: Consolidate touchpad section visibility code Do it all in a single place. No functional changes.
Created attachment 325374 [details] [review] mouse: Detect and warn if we're running on the synaptics driver Since we don't support the synaptics driver anymore we shouldn't show the touchpad section in that case. In addition, emit a warning so that this system mis-configuration is easier to diagnose. -- Couldn't come up with a way to display this on the UI that wouldn't suck so I just made it hide the touchpad section and emit a warning. At least this way we don't need to break UI freeze on the stable branch and still get something on we can look for in logs. Comments welcome
Review of attachment 325370 [details] [review]: Looks fine.
Review of attachment 325371 [details] [review]: Would be nice if you could change the function name separately from removing the synaptics-specific code. Otherwise looks good.
Review of attachment 325372 [details] [review]: Sure.
Review of attachment 325374 [details] [review]: ::: panels/mouse/cc-mouse-caps-helper.c @@ +123,3 @@ + + gdk_error_trap_push (); + XDevice *device = XOpenDevice (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), Please, no XOpenDevice. Use XIGetProperty() instead. @@ +130,3 @@ + gdk_error_trap_push (); + + /* xorg-x11-drv-libinput */ Hmm?
Created attachment 325443 [details] [review] mouse: Drop unused synaptics capabilities check We don't support synaptics anymore so checking for this is useless.
Created attachment 325444 [details] [review] mouse: Rename touchpad capabilities check API It's not about synaptics anymore.
Created attachment 325445 [details] [review] mouse: Use Gdk instead of Xlib for touchpad capabilities check Just use X API where needed.
Created attachment 325446 [details] [review] mouse: Detect and warn if we're running on the synaptics driver Since we don't support the synaptics driver anymore we shouldn't show the touchpad section in that case. In addition, emit a warning so that this system mis-configuration is easier to diagnose.
Review of attachment 325443 [details] [review]: Yep.
Review of attachment 325444 [details] [review]: Looks good.
Review of attachment 325445 [details] [review]: Looks good.
Review of attachment 325446 [details] [review]: Sure.
28c54f3..ce48b5c gnome-3-20 -> gnome-3-20 73dcc0f..a7da5a2 master -> master Attachment 325370 [details] pushed as d325240 - mouse: Fix initial widget visibility Attachment 325372 [details] pushed as 0bc4b21 - mouse: Consolidate touchpad section visibility code Attachment 325443 [details] pushed as 6a86c7e - mouse: Drop unused synaptics capabilities check Attachment 325444 [details] pushed as 8f7e99a - mouse: Rename touchpad capabilities check API Attachment 325445 [details] pushed as 727d228 - mouse: Use Gdk instead of Xlib for touchpad capabilities check Attachment 325446 [details] pushed as a7da5a2 - mouse: Detect and warn if we're running on the synaptics driver
*** Bug 764819 has been marked as a duplicate of this bug. ***
*** Bug 764826 has been marked as a duplicate of this bug. ***
*** Bug 764997 has been marked as a duplicate of this bug. ***