Multimedia Keys on an HP DV6500 - SuSE11.0

Hullo, I apologize for any overt noobness, but I’m still rather on the new side to all things linux and have just been trying to get everything working properly on my laptop.

I have an HP DV6500T running OpenSuSE 11.0 with KDE and I’ve gotten the few things that didn’t work immediately working over the past few weeks, but I’ve been having problems getting the multimedia keys to work.

I tried following a few different tutorials, notably one found here:
‘fn’ Key - openSUSE Forums](http://forums.opensuse.org/archives/sf-archives/software/340209-fn-key.html)

but wasn’t able to to get things working and am hoping for some help.

Following those steps I’d gotten the key codes I apparently needed and put them in /home/jsun/Config/Xmodmap, whose contents are:

cat /home/jsun/Config/Xmodmap
keycode 170 = SSuspend
keycode 219 = SDVD
keycode 144 = SPrev
keycode 162 = SPause
keycode 153 = SNext
keycode 164 = SStop
keycode 160 = SMute
keycode 174 = SVolDown
keycode 176 = SVolUp

Again, following linked tutorial, I added the following lines at the end of XKeysymDB:

cat /usr/share/X11/XKeysymDB | grep HP
HPSuspend               :110000A1
HPDVD                   :110000A2
HPPrev                  :110000A3
HPPause                 :110000A4
HPNext                  :110000A5
HPStop                  :110000A6
HPMute                  :110000A7
HPVolDown               :110000A8
HPVolUp                 :110000A9

and then ran the folllowing:
/usr/bin/xmodmap /home/jsun/Config/Xmodmap

I then tried to go into ‘Input Actions’ in the KDE Configuration bit and add my multimedia keys, but whenever I try to push them for input it will say something like:

Shortcut Trigger: Meta+Ctrl+Alt+Shift+

for any of the 9 multimedia keys I press. This is a step in the right direction, as before I’d done anything with Xmodmap I would press the multimedia keys and it wouldn’t do anything in the Input Actions configuration. If I go back into xev and press the keys the output now looks like this for the multimedia keys:

KeyRelease event, serial 34, synthetic NO, window 0x4600001,
    root 0x13b, subw 0x0, time 10740635, (720,-140), root:(724,412),
    state 0x0, keycode 176 (keysym 0x110000a9, SVolUp), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Very sorry if I’ve provided lots of useless info/posted on the wrong/forum/am just too noob, but would appreciate any help that could be offered, as I think/hope I’m just missing something simple/stupid and am close to having everything working perfectly =)

Thanks for the time and help :x

I have the keys operating OK on a dv2000 and a dv9000 without touching the KDE key mapping. I imagine the situation is the same for a dv6500.

The keys are software dependent, in that apps like Amarok or other multimedia apps need to be configured to accept them. Some apps can be configured to accept them, many apps do not support Fn keys.

Try selecting the Amarok global shortcuts config “Settings>Configure Global Shortcuts” and see how you go. Select a function such as Play/Pause and tap the play/pause blue key. As you run through the configuration sequence you should see something like “XF86AudioPlay” assigned to the blue Play/Pause button, etc.

Some gnome apps like totum (Movie Player) recognise the keys without configuration. SMPlayer can be configured as for Amarok. Etc, etc.

I must add that the above works for 10.3. 11.0 is a bridge too far for me at the moment.

Good luck…

Thanks for the reply watagan, but I was wanting something more global (I’d played with lineakd, I believe it was?) and after a little more sleuthing I was able to fix the problem. I’m going to go ahead and post my solution in case someone stumbles across this later, it was pretty stupid.

 xmodmap /home/jsun/Config/Xmodmap
xmodmap:  /home/jsun/Config/Xmodmap:1:  bad keysym name 'SSuspend' in keysymlist
xmodmap:  /home/jsun/Config/Xmodmap:2:  bad keysym name 'SDVD' in keysym list
xmodmap:  /home/jsun/Config/Xmodmap:3:  bad keysym name 'SPrev' in keysym list
xmodmap:  /home/jsun/Config/Xmodmap:4:  bad keysym name 'SPause' in keysym list
xmodmap:  /home/jsun/Config/Xmodmap:5:  bad keysym name 'SNext' in keysym list
xmodmap:  /home/jsun/Config/Xmodmap:6:  bad keysym name 'SStop' in keysym list
xmodmap:  /home/jsun/Config/Xmodmap:7:  bad keysym name 'SMute' in keysym list
xmodmap:  /home/jsun/Config/Xmodmap:8:  bad keysym name 'SVolDown' in keysymlist
xmodmap:  /home/jsun/Config/Xmodmap:9:  bad keysym name 'SVolUp' in keysym list
xmodmap:  9 errors encountered, aborting.

I ended up apparently violating some convention or stricture when I did this, so I just removed everything I had there and parsed for variable names that had key assignments it liked that corresponded. I then changed my xmodmap custom file to reflect this:

cat Xmodmap
keycode 170 = XF86Standby
keycode 219 = XF86Launch0
keycode 144 = XF86AudioPrev
keycode 162 = XF86AudioPlay
keycode 153 = XF86AudioNext
keycode 164 = XF86AudioStop
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume

and now everything works perfectly, that was my only hang up.

Happy times ^^b

All you need to do is download the source package of “hotkey-setup” from “http://download.opensuse.org/distribution/10.3/repo/src-oss/suse/src/” and run “rpmbuild --rebuild” on the package. Install the RPM, reboot and the multimedia keys will work again. :slight_smile:

Yes, I was wondering what vryali was on about until I realised that the hotkey-setup script was installed on my system.

I found a much better and more reliable way to do this on my dv6208nr. Once you have the multimedia keys mapped in XKeyssymDB, do the following.

-Go to Kcontrol->Regional & Accessibility->Input Actions.

-Create a new group, in my case called Amarok.

-Under this new group create a new action called Skip Back of type Keyboard Shortcut -> DCOP Call (simple).

-Go to the keyboard shortcut tab and input the shortcut, it should show up as XF86AudioPrev.

-Go to the DCOP Call Settings tab, push the button at the bottom to launch KDCOP.

-If you have Amarok running (or whatever application you want to map to), you should see it in the list in KDCOP. Expand Amarok, look for the “player” object and expand it. Here you will see all the properties and functions of the “player” object in Amarok. In this case we want the “prev()” function.

-On the DCOP Call Settings tab, the Remote Application will be “amarok”, the Remote Object is “player”, and the Called Function is “prev()”.

-Press the “Try” button and Amarok should skip back a song (assuming you have a song playing).

-Repeat this for the other media keys using the appropriate functions found with KDCOP. This works like a charm and is persistent across reboots. You can use KDCOP to see there are a ton of functions and properties available in Amarok and a lot of other programs. Hope this helps!

false, tried and don’t work

@OpenSourceSociety

Thanks for that info, it worked perfectly for me with Amarok under KDE 3 :).

Now to try a few others :D.

same problem except im using live as my mum wont let me install it
COS SHE HATES LINUX…
WHY WHY WHY ME AND MY DAD LOVE IT!!>:)