Bug 356091

Summary: Latidude D630 multimedia keys don't work
Product: [Fedora] Fedora Reporter: Rui Matos <tiagomatos>
Component: halAssignee: David Zeuthen <davidz>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 8CC: libbe, mclasen, richard
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-30 14:34:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rui Matos 2007-10-29 01:10:30 UTC
hal-0.5.10-1.fc8, hal-info-20071011-1.fc8, kernel-2.6.23.1-37.fc8,
xorg-x11-server-Xorg-1.3.0.0-33.fc8

The multimedia keys on this Dell Latitude D630 don't work. First I should say
that I have the dcdbas module loaded and hal restarted and just then I do the
gnome log in (see bug #248257). I'll address each one of them separately:

* Fn+F3 (battery): the fisrt time (after a reboot for instance) it works, i.e.
gnome-power-manager does it's battery status notification. Then it stops working
but xev says:

KeyRelease event, serial 30, synthetic NO, window 0x3c00001,
    root 0x13b, subw 0x0, time 3913107117, (676,142), root:(679,195),
    state 0x0, keycode 241 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x3c00001,
    root 0x13b, subw 0x0, time 3913107117, (676,142), root:(679,195),
    state 0x0, keycode 241 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

and it loops indefinitely.

* Fn+F7 (widesrcreen chooser?): it doesn't do anything. xev says:

KeyPress event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3913434902, (497,559), root:(500,612),
    state 0x8, keycode 214 (keysym 0x1008ff59, XF86Display), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3913434971, (497,559), root:(500,612),
    state 0x8, keycode 214 (keysym 0x1008ff59, XF86Display), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

and it loops indefinitely.

* Fn+F8 (crt/lcd): xev doen't say anything. The kernel says:

Oct 29 00:58:25 hive kernel: atkbd.c: Unknown key pressed (translated set 2,
code 0x8b on isa0060/serio0).
Oct 29 00:58:25 hive kernel: atkbd.c: Use 'setkeycodes e00b <keycode>' to make
it known.

* Fn+Left Arrow (auto brightness): doesn't do anything. xev:

KeyRelease event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3913670876, (613,701), root:(616,754),
    state 0x8, keycode 205 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3913670876, (613,701), root:(616,754),
    state 0x8, keycode 205 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

and it continues...

* Fn+Up Arrow and Down Arrow (brightness up & down): they do work (I guess it's
bios/hardware based) and the first time each one of them is pressed gnome shows
the brightness progress bar. Then the progress bar stops showing up but the
brightness regulation continues to work. gnome-power-manager settings is able to
also set the brightness but it doesn't update itself when I use the keys.
xev output for Up:

KeyRelease event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3913941627, (276,707), root:(279,760),
    state 0x8, keycode 212 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3913941627, (276,707), root:(279,760),
    state 0x8, keycode 212 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

and it loops...
xev output for Down:

KeyRelease event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914000922, (491,462), root:(494,515),
    state 0x8, keycode 101 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914000922, (491,462), root:(494,515),
    state 0x8, keycode 101 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

... loops...

* Volume Down/Up/Mute: these don't work. xev catches them and these don't loop
indefinitely. Here is the output for Down, Up and Mute (by that order):

KeyPress event, serial 27, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914061998, (558,683), root:(561,736),
    state 0x0, keycode 174 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914062114, (558,683), root:(561,736),
    state 0x0, keycode 174 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914065047, (558,683), root:(561,736),
    state 0x0, keycode 176 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914065143, (558,683), root:(561,736),
    state 0x0, keycode 176 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914068029, (558,683), root:(561,736),
    state 0x0, keycode 160 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x4000001,
    root 0x13b, subw 0x0, time 3914068134, (558,683), root:(561,736),
    state 0x0, keycode 160 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

----

That is all, please ask if you need more info. Thanks.

Comment 1 Rui Matos 2007-10-29 01:20:42 UTC
I forgot one key, the kill switch and the power button.

The kill switch seems to work. xev doesn't catch it but network manager does and
works (for wireless, haven't tested for bluetooth).

Power button works, I see the (old?) gnome-session logout dialog.

* Fn+F1 (moon symbol): this one should be the "suspend button" according to
gnome-power-manager preferences' General tab. It did work the first time
although g-p-m recognised it as the hibernate button and hibernated while on the
setting it was programmed to suspend. It did come back (both hibernate and
suspend work OK) though.

After this first successful time it stops working. xev output loops this:

KeyRelease event, serial 30, synthetic NO, window 0x3e00001,
    root 0x13b, subw 0x0, time 3914412009, (147,-14), root:(150,39),
    state 0x0, keycode 165 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 30, synthetic NO, window 0x3e00001,
    root 0x13b, subw 0x0, time 3914412009, (147,-14), root:(150,39),
    state 0x0, keycode 165 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False


Comment 2 Rui Matos 2007-11-15 00:20:58 UTC
Volume Up/Down/Mute are working correctly on Fedora 8 now.


Comment 3 Richard Hughes 2008-05-30 11:36:42 UTC
Are all the other buttons working correctly now?


Comment 4 Rui Matos 2008-05-30 13:07:39 UTC
Yes, now using Fedora 9 everything I need works. Furthermore, xev no longer
shows events coming up in a loop after having used any of the keys.

* Fn+Left arrow (Auto brightness according to the ambient light sensor) doesn't
do anything. I suppose gnome-power-manager doesn't have code to deal with it.
Not important to me anyway.

* Fn+F7 (widescreen/4:3 chooser) doesn't do anything.

* Fn+F8 (video ouput chooser) doesn't do anything.
 - kernel reports:
May 30 13:55:47 hive kernel: atkbd.c: Unknown key pressed (translated set 2,
code 0x8b on isa0060/serio0).
May 30 13:55:47 hive kernel: atkbd.c: Use 'setkeycodes e00b <keycode>' to make
it known.



Comment 5 Richard Hughes 2008-05-30 14:34:18 UTC
Cool, Fn+F7 should be integrated with xrandr in the near future - I'll close
this, thanks.