Hotkeys not functional after upgrade to quantal's xorg (new xinput version)

Bug #1034090 reported by Steve Magoun on 2012-08-07
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
GNOME Settings Daemon
Fix Released
Medium
gnome-settings-daemon (Ubuntu)
Low
Unassigned
Precise
High
Unassigned

Bug Description

Impact:
the multimedia keys will stop working when using the new xorg stack (which is being backported for hardware enablement reasons)

Test Case:
- install xserver-xorg-lts-quantal
- try using multimedia keys (stop, play, run media player, ...)
- see if they work

Regression potential:
Try with both the lts stack and the backported stack of those keys are working correctly

-----

After upgrading from 12.04 to 12.10, none of the hotkeys/media keys on my keyboard are no longer functional. Specifically, the brightness up/dn, volume up/dn/mute, keyboard backlight up/dn/off keys and the media control keys (rew/play/ff) don't work perform the expected functions.

I've confirmed that the underlying functionality works- for example I can adjust the keyboard backlight from the command line via:
`echo 0 > /sys/class/leds/smc\:\:kbd_backlight/brightness`

Machine is a MacbookPro 3,1 with an external Apple USB keyboard. Hotkeys are non-functional on both the internal and external keyboards.

To reproduce:
1) Press the volume mute hotkey

Expected results:
Mute is toggled, and the indicator + OSD are displayed reflecting the new volume state

Actual results:
Nothing happens

xev (run from gnome terminal) reports the following when I press the volume mute hotkey:

KeyPress event, serial 41, synthetic NO, window 0x4000001,
    root 0x15d, subw 0x0, time 6834066, (118,-23), root:(184,698),
    state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 41, synthetic NO, window 0x4000001,
    root 0x15d, subw 0x0, time 6834162, (118,-23), root:(184,698),
    state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: gnome-settings-daemon 3.4.2-0ubuntu6
ProcVersionSignature: Ubuntu 3.5.0-8.8-generic 3.5.0
Uname: Linux 3.5.0-8-generic x86_64
ApportVersion: 2.4-0ubuntu6
Architecture: amd64
Date: Tue Aug 7 13:44:02 2012
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Beta amd64 (20100901.1)
ProcEnviron:
 TERM=xterm
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: gnome-settings-daemon
UpgradeStatus: Upgraded to quantal on 2012-08-07 (0 days ago)

Steve Magoun (smagoun) wrote :
description: updated
Stefan Skotte (screemo) wrote :

I got EXACTLY the same problem - however it worked on quantal less than a week ago. I just havent been able to figure out where the regression is....

Stefan Skotte (screemo) wrote :

Installing the gnome-settings-daemon from ppa:ricotz/staging fixes the problem.

it does however introduce some other problems, like the keyboard layout not working and such, but its definitely a regression in the package.

Stefan Skotte (screemo) wrote :

I think it might be the '90_set_gmenus_xsettings.patch' that is causing the problems.

For now there's some dependency problems when trying to rebuild gnome-settings-daemon, so I cant verify :(

The following packages have unmet dependencies:
 libxklavier-dev : Depends: libxklavier16 (= 5.2.1-1ubuntu1) but 5.2.1-1ubuntu1.3 is to be installed
                   Depends: gir1.2-xkl-1.0 (= 5.2.1-1ubuntu1) but 5.2.1-1ubuntu1.3 is to be installed
E: Build-dependencies for gnome-settings-daemon could not be satisfied.

Sebastien Bacher (seb128) wrote :

@Stefan: not sure what your comments are about but that xsettings patch is not likely to create any issue, it tweaks an exported xsettings for menubars...

gnome-settings-daemon didn't really chance in quantal, not sure why it would have broken or why ricotz's ppa would fix it

Changed in gnome-settings-daemon (Ubuntu):
importance: Undecided → Low
Sebastien Bacher (seb128) wrote :

(setting to low on the basis that only few users get the problem so far, we will increase it if turns out to be a issue for everyone)

Stefan Skotte (screemo) wrote :

I just diff'ed the output from either version of the g-s-d, and it appears that it finds no xinput2 support in 3.4.2:

..
** (gnome-settings-daemon:7449): DEBUG: Loading /usr/lib/gnome-settings-daemon-3.0/libmedia-keys.so
** (gnome-settings-daemon:7449): DEBUG: Creating object of type GsdMediaKeysPlugin
(gnome-settings-daemon:7449): media-keys-plugin-DEBUG: GsdMediaKeysPlugin initializing
(gnome-settings-daemon:7449): media-keys-plugin-DEBUG: Activating media_keys plugin
(gnome-settings-daemon:7449): media-keys-plugin-DEBUG: No Xinput2 support, disabling plugin
...

Looking at 3.5.5 from rico's ppa:

...
** (gnome-settings-daemon:8709): DEBUG: Loading /usr/lib/gnome-settings-daemon-3.0/libmedia-keys.so
** (gnome-settings-daemon:8709): DEBUG: Creating object of type GsdMediaKeysPlugin
(gnome-settings-daemon:8709): media-keys-plugin-DEBUG: GsdMediaKeysPlugin initializing
(gnome-settings-daemon:8709): media-keys-plugin-DEBUG: Activating media_keys plugin
** (gnome-settings-daemon:8709): DEBUG: GnomeSettingsManager: emitting plugin-activated media-keys
** (gnome-settings-daemon:8709): DEBUG: Plugin media-keys: active
...

Stefan Skotte (screemo) wrote :

Here's the ouput from 3.5.5.

Stefan Skotte (screemo) wrote :

It appears that the function 'supports_xinput2_devices' in rico's ppa checks for Xinput version 2.0 and 2.2.

(in ./plugins/common/gsd-input-helper.c)

The current quantal packages only enables Xinput2 support if it matches 2.0...

I will try to rebuild the current 3.4.2 with the patch from 3.5.5 and see if it works.

Stefan Skotte (screemo) wrote :

I have attached a patch that fixes the problem.

Turns out that XI was updated to 2.2 some time ago:

sfs@sfs-laptop:~$ xinput -version
xinput version 1.5.99.1
XI version on server: 2.2

I have tested it, and it works like it should - keyboard backlight and volume up/down/mute all works again.

(I'm on an Asus UX32VD that provides keycodes through asus-wmi module)

The attachment "allow xinput 2.2 to work" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Steve Magoun (smagoun) on 2012-08-08
Changed in gnome-settings-daemon (Ubuntu):
status: New → Confirmed
Changed in gnome-settings-daemon:
importance: Unknown → Medium
status: Unknown → Fix Released

Upstream patch with proper provenance is here (it is functionally identical to Stefan's patch): https://bugzilla.gnome.org/attachment.cgi?id=211898 . It went into the g-s-d trunk just after 3.4.2; we should pick it up. It fixes the issue for me.

Sebastien Bacher (seb128) wrote :

thanks guys

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-settings-daemon - 3.4.2-0ubuntu7

---------------
gnome-settings-daemon (3.4.2-0ubuntu7) quantal; urgency=low

  * debian/patches/git_better_xi_handling.patch:
    - should fix multimedia keys (lp: #1034090)
  * debian/patches/git_new_cups_build.patch:
    - build with cups 1.6
 -- Sebastien Bacher <email address hidden> Wed, 08 Aug 2012 15:38:57 +0200

Changed in gnome-settings-daemon (Ubuntu):
status: Confirmed → Fix Released
Aaron Johnson (acjohnson) wrote :

Can this fix somehow make its way into the Q-series backports ppa for Precise?

This bug will crop up on you if you install xserver-xorg-lts-quantal. I was able to fix the issue by rebuilding gnome-settings-daemon-3.4.2-0ubuntu0.4 on 12.04 with the patch that is posted on this bug but it would make more sense for there to be an already patched version of gnome-settings-daemon in the Q-series backports ppa that would automatically get installed if you choose to install the quantal xserver backport.

Changed in gnome-settings-daemon (Ubuntu Precise):
importance: Undecided → High
status: New → Triaged
Changed in gnome-settings-daemon (Ubuntu Precise):
status: Triaged → In Progress
description: updated
summary: - Hotkeys not functional after upgrade to quantal
+ Hotkeys not functional after upgrade to quantal's xorg (new xinput
+ version)

Hello Steve, or anyone else affected,

Accepted gnome-settings-daemon into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/gnome-settings-daemon/3.4.2-0ubuntu0.6.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in gnome-settings-daemon (Ubuntu Precise):
status: In Progress → Fix Committed
tags: added: verification-needed
Steve Magoun (smagoun) wrote :

I installed the xorg LTS backport stack on a Dell XPS13 running 12.04. I confirmed that the hotkeys were not functional. I installed gnome-settings-daemon 3.4.2-0ubuntu0.6.1 from precise-proposed and rebooted. The hotkeys are now functional. Thanks!

tags: added: verification-done
removed: verification-needed

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-settings-daemon - 3.4.2-0ubuntu0.6.1

---------------
gnome-settings-daemon (3.4.2-0ubuntu0.6.1) precise-proposed; urgency=low

  * debian/patches/git_new_xinput_handle.patch:
    - deal with new xinput versions, that will be need for the hardware
      enablement work, and the updated xorg stack, once it runs on the lts
      (lp: #1034090)
 -- Sebastien Bacher <email address hidden> Tue, 04 Dec 2012 19:17:37 +0100

Changed in gnome-settings-daemon (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.