Hide Forgot
Description of problem: Touchpad disable button doesn't allow reenabling Version-Release number of selected component (if applicable): Unknown, Happy to find out under guidance How reproducible: Everytime Steps to Reproduce: 1. Press physical button to disable trackpad - observe illumination of button and onscreen overlay to include operation has disabled trackpad. 2. Press physical button to reenable trackpad - button goes dark and onscreen overlay shows trackpad has been enabled. 3. Try moving the mouse/clicking the buttons Actual results: Trackpad and mouse buttons are disabled after first press, never reenabled Expected results: Trackpad and mouse buttons are enabled/disabled in step with overlay/physical button. Additional info: To reenable the trackpad, I tried to do what worked on my previous Ubuntu system which was: # sudo modprobe -r psmouse && sudo modprobe psmouse but this yields the message: # FATAL: Module psmouse is builtin It's worth noting that suspending and resuming the laptop reenables the trackpads functionality. I am happy to reproduce under instruction.
Moving to a somewhat more appropriate component. (May end up moving again to the kernel.)
what's the synclient -l output before and after enabling/disabling. does it show whether it's enabled now? what's the output of gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled, again before and after?
Start state (Enabled): [nick@zeus ~]$ synclient -l Parameter settings: LeftEdge = 1765 RightEdge = 5367 TopEdge = 1645 BottomEdge = 4563 FingerLow = 24 FingerHigh = 29 FingerPress = 255 MaxTapTime = 180 MaxTapMove = 237 MaxDoubleTapTime = 180 SingleTapTimeout = 180 ClickTime = 100 FastTaps = 0 EmulateMidButtonTime = 75 EmulateTwoFingerMinZ = 280 EmulateTwoFingerMinW = 6 VertScrollDelta = 107 HorizScrollDelta = 107 VertEdgeScroll = 1 HorizEdgeScroll = 0 CornerCoasting = 0 VertTwoFingerScroll = 0 HorizTwoFingerScroll = 0 MinSpeed = 1 MaxSpeed = 1.75 AccelFactor = 0.0371126 TrackstickSpeed = 40 EdgeMotionMinZ = 29 EdgeMotionMaxZ = 159 EdgeMotionMinSpeed = 1 EdgeMotionMaxSpeed = 431 EdgeMotionUseAlways = 0 TouchpadOff = 0 LockedDrags = 0 LockedDragTimeout = 5000 RTCornerButton = 0 RBCornerButton = 0 LTCornerButton = 0 LBCornerButton = 0 TapButton1 = 1 TapButton2 = 3 TapButton3 = 2 ClickFinger1 = 1 ClickFinger2 = 1 ClickFinger3 = 1 CircularScrolling = 0 CircScrollDelta = 0.1 CircScrollTrigger = 0 CircularPad = 0 PalmDetect = 0 PalmMinWidth = 9 PalmMinZ = 199 CoastingSpeed = 20 CoastingFriction = 50 PressureMotionMinZ = 29 PressureMotionMaxZ = 159 PressureMotionMinFactor = 1 PressureMotionMaxFactor = 1 GrabEventDevice = 1 TapAndDragGesture = 1 AreaLeftEdge = 0 AreaRightEdge = 0 AreaTopEdge = 0 AreaBottomEdge = 0 [nick@zeus ~]$ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true After Button press (Disabled): [nick@zeus ~]$ synclient -l Parameter settings: LeftEdge = 1765 RightEdge = 5367 TopEdge = 1645 BottomEdge = 4563 FingerLow = 24 FingerHigh = 29 FingerPress = 255 MaxTapTime = 180 MaxTapMove = 237 MaxDoubleTapTime = 180 SingleTapTimeout = 180 ClickTime = 100 FastTaps = 0 EmulateMidButtonTime = 75 EmulateTwoFingerMinZ = 280 EmulateTwoFingerMinW = 6 VertScrollDelta = 107 HorizScrollDelta = 107 VertEdgeScroll = 1 HorizEdgeScroll = 0 CornerCoasting = 0 VertTwoFingerScroll = 0 HorizTwoFingerScroll = 0 MinSpeed = 1 MaxSpeed = 1.75 AccelFactor = 0.0371126 TrackstickSpeed = 40 EdgeMotionMinZ = 29 EdgeMotionMaxZ = 159 EdgeMotionMinSpeed = 1 EdgeMotionMaxSpeed = 431 EdgeMotionUseAlways = 0 TouchpadOff = 0 LockedDrags = 0 LockedDragTimeout = 5000 RTCornerButton = 0 RBCornerButton = 0 LTCornerButton = 0 LBCornerButton = 0 TapButton1 = 1 TapButton2 = 3 TapButton3 = 2 ClickFinger1 = 1 ClickFinger2 = 1 ClickFinger3 = 1 CircularScrolling = 0 CircScrollDelta = 0.1 CircScrollTrigger = 0 CircularPad = 0 PalmDetect = 0 PalmMinWidth = 9 PalmMinZ = 199 CoastingSpeed = 20 CoastingFriction = 50 PressureMotionMinZ = 29 PressureMotionMaxZ = 159 PressureMotionMinFactor = 1 PressureMotionMaxFactor = 1 GrabEventDevice = 1 TapAndDragGesture = 1 AreaLeftEdge = 0 AreaRightEdge = 0 AreaTopEdge = 0 AreaBottomEdge = 0 [nick@zeus ~]$ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true After retouching button to reenable: [nick@zeus ~]$ synclient -l Parameter settings: LeftEdge = 1765 RightEdge = 5367 TopEdge = 1645 BottomEdge = 4563 FingerLow = 24 FingerHigh = 29 FingerPress = 255 MaxTapTime = 180 MaxTapMove = 237 MaxDoubleTapTime = 180 SingleTapTimeout = 180 ClickTime = 100 FastTaps = 0 EmulateMidButtonTime = 75 EmulateTwoFingerMinZ = 280 EmulateTwoFingerMinW = 6 VertScrollDelta = 107 HorizScrollDelta = 107 VertEdgeScroll = 1 HorizEdgeScroll = 0 CornerCoasting = 0 VertTwoFingerScroll = 0 HorizTwoFingerScroll = 0 MinSpeed = 1 MaxSpeed = 1.75 AccelFactor = 0.0371126 TrackstickSpeed = 40 EdgeMotionMinZ = 29 EdgeMotionMaxZ = 159 EdgeMotionMinSpeed = 1 EdgeMotionMaxSpeed = 431 EdgeMotionUseAlways = 0 TouchpadOff = 0 LockedDrags = 0 LockedDragTimeout = 5000 RTCornerButton = 0 RBCornerButton = 0 LTCornerButton = 0 LBCornerButton = 0 TapButton1 = 1 TapButton2 = 3 TapButton3 = 2 ClickFinger1 = 1 ClickFinger2 = 1 ClickFinger3 = 1 CircularScrolling = 0 CircScrollDelta = 0.1 CircScrollTrigger = 0 CircularPad = 0 PalmDetect = 0 PalmMinWidth = 9 PalmMinZ = 199 CoastingSpeed = 20 CoastingFriction = 50 PressureMotionMinZ = 29 PressureMotionMaxZ = 159 PressureMotionMinFactor = 1 PressureMotionMaxFactor = 1 GrabEventDevice = 1 TapAndDragGesture = 1 AreaLeftEdge = 0 AreaRightEdge = 0 AreaTopEdge = 0 AreaBottomEdge = 0 [nick@zeus ~]$ gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
Thanks for the bug report. We have reviewed the information you have provided above, and there is some additional information we require that will be helpful in our diagnosis of this issue. Please add drm.debug=0x04 to the kernel command line, restart computer, and attach * your X server config file (/etc/X11/xorg.conf and /etc/X11/xorg.conf.d/* files, if available), * X server log file (/var/log/Xorg.*.log) * output of the dmesg command, and * system log (/var/log/messages) to the bug report as individual uncompressed file attachments using the bugzilla file attachment link above. We will review this issue again once you've had a chance to attach this information. Thanks in advance.
Created attachment 497436 [details] Only file in xorg.conf.d
Created attachment 497437 [details] dmesg output
Created attachment 497439 [details] /var/log/messages
Created attachment 497440 [details] Current xorg log
hmm, honestly, I don't know. synclient and gsettings both don't change, suggesting that the change is done in hardware. There's nothing in the logs to indicate that the device is lost to the server (or even disabled).
I have the same problem with a touchpad (Dell laptop). The enable/disable touchpad was working correctly on F14 and is not working on F15 (using gsettings or dconf-editor). I think this problem is with all touchpads on F15. Using xinput you can enable and disable correctly the touchpad - xinput list ... SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)] ... xinput list-props 14 | grep "Device Enabled" Device Enabled (125): 1 <----- ENABLED to disable: xinput set-int-prop 14 "Device Enabled" 8 0 to enable: xinput set-int-prop 14 "Device Enabled" 8 1 The problem occurs if you do - gsettings set org.gnome.settings-daemon.peripherals.touchpad \ touchpad-enabled false turns correctly the "Device Enabled (125): 0" but, after this, you can't enable the touchpad using: gsettings set org.gnome.settings-daemon.peripherals.touchpad \ touchpad-enabled true or xinput set-int-prop 14 "Device Enabled" 8 1 To restore the touchpad - gsettings set org.gnome.settings-daemon.peripherals.touchpad \ touchpad-enabled true do a user logout and a new login and the touchpad is working. (suspending and resuming the laptop also works)
Hi, The enable/disable of the touchpad is made in gnome-settings-daemon. The code first call gdk_device_manager_list_devices() for a list of the GdkDevice's. When a device is "disabled", sometimes, the touchpad device disappers of the list (GdkDevice). Then is not possible to enable it again. The real "bug" is why the device disappears of this list. But the device is accessible to Xorg, and enabling it using other "code" works (the code of gnome-settings-daemon 2). Then I made a patch that do a "work around" to enable it. With this patch is also a trivial patch that make it possible the XF86TouchpadToggle works for me. version: gnome-settings-daemon-3.0.1-6.fc15 patch status: works for me.
Created attachment 511085 [details] patch to enable touchpad and use of XF86TouchpadToggle
Confirmed, this is a bug. I think this was introduced upstream by 3549f9bdc9941c1ebfd2ec35bf7a267a77632af5. Problem as Jose rightly discovered is that once the touchpad is enabled, it doesn't show up in the list anymore. This is the wrong approach, since toggling that property means the device is _really_ disabled in X, not just disabled the way syndaemon disables it (which simply discards events in-driver). Disabling the device through the Device Enabled prop is mostly the same as actually unplugging it. Suggested solutions: either use the Synaptics Off property (which requires some synchronization with "disable touchpad while typing") or run through all X devices when enabling the touchpad. My rough guess why this broke: a disabled device counts as floating, so i guess gdk_device_manager_list_devices won't list it.
Still not fixed? I have the same problem on a ThinkPad T400s.
Just wanted to tell, that this vanished for me (on ThinkPad T400s) after installing Fedora 16 (x86_64). Everything is working fine now.
Looks like upstream commit GNOME_SETTINGS_DAEMON_3_1_91-9-g1d29d29, see also https://bugzilla.gnome.org/show_bug.cgi?id=656397. Ships with F16 and current rawhide, closing bug. Thanks for the reminder.