Package: gnome-settings-daemon Version: 2.30.1-1 Severity: normal This Acer Aspire 5536G laptop has a button for disabling the touch pad. The button has a light that shows whether the touch pad is disabled. This works whether X is running or not.
In X, the button generates XF86TouchpadToggle key events. It seems gnome-settings-daemon grabs this key; on such an event, it toggles the /desktop/gnome/peripherals/touchpad/touchpad_enabled GConf key, and apparently then notices that change and enables or disables the corresponding X input device. (If I kill gnome-settings-daemon and toggle the key with gconf-editor, it does not take effect.) http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/media-keys/gsd-media-keys-manager.c?id=GNOME_SETTINGS_DAEMON_2_30_1#n639 http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/mouse/gsd-mouse-manager.c?id=GNOME_SETTINGS_DAEMON_2_30_1#n769 Now, the problem is that these two mechanisms sometimes get out of sync: ACPI or Linux thinks the touch pad should be disabled, while GNOME or X11 thinks it should be enabled. No events can get through. Then I press the button, and the states turn around: ACPI or Linux thinks the touch pad should be enabled, while GNOME or X11 thinks it should be disabled, and still no events can get through. Thus, no matter how many times I press the button, the touch pad still won't work. This seems to happen especially if I have first disabled the touch pad by pressing the button and then shut the laptop lid and had the system suspend to disk. Workarounds include: * When the problem occurs, press Ctrl+Alt+F1 to switch out of X, then press the touchpad-toggle button once, and press Alt+F7 to switch back; ACPI notices that button press but X doesn't, so the states will then be in sync again. * I suppose another workaround would be to toggle the touchpad_enabled key with gconf-editor, so ACPI wouldn't know about the change. * Change /apps/gnome_settings_daemon/keybindings/touchpad to empty, so gnome-settings-daemon ignores XF86TouchpadToggle. Regardless, with this model of laptop, I think it would be safest to automatically disable the XF86TouchpadToggle support in gnome-settings-daemon, because the firmware and Linux can handle the button on their own. -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores) Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages gnome-settings-daemon depends on: ii gconf2 2.28.1-3 GNOME configuration database syste ii libc6 2.10.2-9 Embedded GNU C Library: Shared lib ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra ii libdbus-1-3 1.2.24-1 simple interprocess messaging syst ii libdbus-glib-1-2 0.86-1 simple interprocess messaging syst ii libfontconfig1 2.8.0-2.1 generic font configuration library ii libgconf2-4 2.28.1-3 GNOME configuration database syste ii libglib2.0-0 2.24.1-1 The GLib library of C routines ii libgnome-desktop-2-17 2.30.0-2 Utility library for loading .deskt ii libgnome2-common 2.30.0-1 The GNOME library - common files ii libgnomekbd4 2.30.1-2 GNOME library to manage keyboard c ii libgstreamer-plugins-base0.10 0.10.29-1 GStreamer libraries from the "base ii libgstreamer0.10-0 0.10.29-1 Core GStreamer libraries and eleme ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface ii libnotify1 [libnotify1-gtk2.1 0.4.5-1 sends desktop notifications to a n ii libx11-6 2:1.3.3-3 X11 client-side library ii libxi6 2:1.3-4 X11 Input extension library ii libxklavier16 5.0-2 X Keyboard Extension high-level AP gnome-settings-daemon recommends no packages. Versions of packages gnome-settings-daemon suggests: ii gnome-screensaver 2.30.0-1 GNOME screen saver and locker ii metacity [x-window-manager] 1:2.30.1-1 lightweight GTK+ window manager ii openbox [x-window-manager] 3.4.11.1-1 standards compliant, fast, light-w ii twm [x-window-manager] 1:1.0.4-2 Tab window manager ii x11-xserver-utils 7.5+1 X server utilities -- no debconf information
pgpRJiORlINjz.pgp
Description: PGP signature