| Summary: | Disable touchpad button only works one way on Acer Timeline 4810T | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | NickG <exosyst> | ||||||||||||
| Component: | gnome-settings-daemon | Assignee: | Bastien Nocera <bnocera> | ||||||||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||||
| Severity: | medium | Docs Contact: | |||||||||||||
| Priority: | unspecified | ||||||||||||||
| Version: | rawhide | CC: | acc-bugz-redhat, bnocera, dennis, jfeeney, joalonsof, mcepl, peter.hutterer, rstrode | ||||||||||||
| Target Milestone: | --- | Keywords: | Triaged | ||||||||||||
| Target Release: | --- | ||||||||||||||
| Hardware: | Unspecified | ||||||||||||||
| OS: | Unspecified | ||||||||||||||
| Whiteboard: | [cat:noinput] | ||||||||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||||||||
| Doc Text: | Story Points: | --- | |||||||||||||
| Clone Of: | Environment: | ||||||||||||||
| Last Closed: | 2011-11-29 04:09:13 UTC | Type: | --- | ||||||||||||
| Regression: | --- | Mount Type: | --- | ||||||||||||
| Documentation: | --- | CRM: | |||||||||||||
| Verified Versions: | Category: | --- | |||||||||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
NickG
2011-05-04 21:48:12 UTC
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. |