After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 656397 - Touchpad cannot be unlocked once locked
Touchpad cannot be unlocked once locked
Status: RESOLVED FIXED
Product: gnome-settings-daemon
Classification: Core
Component: mouse
3.0.x
Other Linux
: Normal major
: ---
Assigned To: gnome-settings-daemon-maint
gnome-settings-daemon-maint
: 658204 (view as bug list)
Depends on: 658379
Blocks:
 
 
Reported: 2011-08-12 12:40 UTC by delcypher
Modified: 2011-09-06 19:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Xorg log file (41.04 KB, text/plain)
2011-08-12 12:40 UTC, delcypher
Details
Debug output from gnome-settings-daemon when it gave a segfault (23.19 KB, text/plain)
2011-08-12 14:46 UTC, delcypher
Details
Debug output from gnome-settings-daemon (20.71 KB, text/plain)
2011-08-12 14:47 UTC, delcypher
Details

Description delcypher 2011-08-12 12:40:41 UTC
Created attachment 193690 [details]
Xorg log file

OS: Arch Linux i686
Kernel: 3.0-ARCH #1 SMP PREEMPT
X.Org : X.Org X Server 1.10.3.901 (1.10.4 RC 1) 
Gnome version: 3.0.2
Device : Asus Eee PC 1005HA
X.Org mouse module : synaptic

Steps to reproduce:
1. Press one of the two "trackpad lock" buttons on/near my keyboard. On my device that is Fn-F3 or the dedicated silver key above ESC. A rounded square box appears that indicates that the touchpad has been disabled (picture of a touchpad with a red cross). The touchpad is now locked.
2. Press any one of the two "trackpad lock" buttons again and a rounded square box appears that indicates that the touchpad has been re-enabled (picture of a touchpad without a red cross). However the touchpad is STILL DISABLED.

What should happen:
When the touchpad has been locked (by pressing a "trackpad lock" button) it should be unlocked by pressing the "trackpad lock" button again.

Temporary fix:
To re-enable the touchpad once its been disabled, from a running terminal
$ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1

Additional Notes:
Running the following command allows me to see that the touchpad gets disabled but it never get enabled.
$ xinput watch-props "SynPS/2 Synaptics TouchPad"
...
## Now I press the "touchpad lock" button
Property 'Device Enabled' changed.
	Device Enabled (135):	0
Property 'Device Enabled' changed.
	Device Enabled (135):	0
## Now I press the "touchpad lock" button. Nothing happens...

Interestingly the touchpad gets disabled twice when the "touchpad lock" button is pressed.

I've attached an Xorg.log file.
Comment 1 Rui Matos 2011-08-12 13:21:00 UTC
If anything this is a gnome-settings-daemon bug, or the driver even. Re-assigning.

Does this happen if you only use a simple window manager (such as twm) instead of a full gnome session ?
Comment 2 delcypher 2011-08-12 13:31:53 UTC
Sorry I'm not that familiar with gnome so I didn't know which part of the GNOME suite handled keyboard behaviour.

I tried using xorg-twm (very ugly looking). The "touchpad lock" button makes the cursor "blink" briefly when pressed but the touchpad never gets locked leading me to believe that it is GNOME that is doing the "touchpad locking".

In the past when I used xfce4 I had to use acpid and setup scripts to handle keyboard events to do this. With GNOME3 I have not installed acpid so GNOME must be handling the key press.
Comment 3 Rui Matos 2011-08-12 14:17:36 UTC
Ok, can you do the following on a terminal window and attach the output here?

1. $ killall gnome-settings-daemon
2. $ gnome-settings-daemon --debug > gsd-debug.txt 2>&1
3. Press the key several times
4. Go back to the terminal, CTRL+C to kill gnome-settings-daemon
5. $ gnome-settings-daemon &      # to restart it again in the background

Finally, attach the gsd-debug.txt file here.
Comment 4 delcypher 2011-08-12 14:45:32 UTC
I tried what you suggested. I'm doing this in a running gnome-terminal.

Using your steps gnome-settings-daemon produces a segmentation fault after a second or so. I've attached that log as gsd-debug-segfault.txt ( I didn't manage to get a key press in before the segfault). The line "Segmentation fault" didn't go into the log file for some reason.

I tried the following and didn't get a segfault. I couldn't see much about the key being pressed when I looked at the log file (gsd-debug.txt)

$ killall gnome-settings-daemon && gnome-settings-daemon --debug > gsd-debug.txt 2>&1
Comment 5 delcypher 2011-08-12 14:46:32 UTC
Created attachment 193703 [details]
Debug output from gnome-settings-daemon when it gave a segfault
Comment 6 delcypher 2011-08-12 14:47:40 UTC
Created attachment 193704 [details]
Debug output from gnome-settings-daemon

For this I actually managed to press the "touchpad lock" button several times.
Comment 7 André Klapper 2011-08-17 19:24:19 UTC
[Resetting NEEDINFO state as question has been answered]
Comment 8 Bastien Nocera 2011-09-05 15:57:22 UTC
*** Bug 658204 has been marked as a duplicate of this bug. ***
Comment 9 Bastien Nocera 2011-09-05 15:59:11 UTC
The problem is that gdk_device_manager_list_devices() doesn't list "Disabled" devices. So the status changes as it should in GSettings, but the mouse plugin never re-enables the device as the device isn't in this list.
Comment 10 Bastien Nocera 2011-09-06 19:17:18 UTC
Note that you will also need the GTK+ patch listed in bug 658379.

commit 1d29d29ae96b95512e2fea9221cfe87676b3addc
Author: Bastien Nocera <hadess@hadess.net>
Date:   Tue Sep 6 20:11:54 2011 +0100

    mouse: Try harder to re-enable devices
    
    Look for disabled devices when we need to re-enable
    devices as they won't be listed in the list of devices
    given by GdkDeviceManager (as per bug 658379)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=656397

commit 3dc1f72b297bfedf39cdb1c0e11f0b8df8269737
Author: Bastien Nocera <hadess@hadess.net>
Date:   Tue Sep 6 20:09:25 2011 +0100

    common: Add helper to list disabled devices