# xmms-Steuerung aus Q3/ET

## reyneke

Hi.

Ich würde gerne beim Zocken mit xmms Musik hören und das Programm auch steuern, ohne dafür das Spiel zu beenden. Eigentlich sollte das ja auch über die Multimedia-Tasten meines Keyboards ( Logitech Internet Navigator ) kein Problem sein.

Leider klappt das nicht so, wie ich das will. Zwar höre ich sowohl Musik als auch Effekte, kann aber weder Lautstärke einstellen, noch vor- oder zurückschalten.

Ich hab es sowohl mit Lineakd als auch mit dem xmms-Plugin für iLink-Tastaturen probiert. Beides funktioniert prima, solange das Spiel nicht läuft und reagiert dann nicht mehr, wenn es gestartet wurde. 

Kann ich es vielleicht irgendwie erreichen, daß die Spiele die Key-Events an xmms durchreichen?

Danke und Gruß,

reyneke.

----------

## theche

du brauchst nicht den Umweg über Plugins zu gehen. ich hab das zB so gelöst:

```

#!/bin/sh

# Thanks to Jan Philipp Giel for the template

case "$3" in

00000032)/usr/bin/amixer set Master toggle

;;

00000030)/usr/bin/amixer set Master 1+

;;

00000031)/usr/bin/amixer set Master 1-

;;

00000040)su - mac -c "/usr/bin/xmms -r"

;;

00000043)su - mac -c "/usr/bin/xmms -s"

;;

00000045)su - mac -c "/usr/bin/xmms -t"

;;

00000041)su - mac -c "/usr/bin/xmms -f"

;;

0000004c)eject /dev/cdrom

;;

[...]

```

allerdings gehen bei mir (notebook) die Hotkeys per ACPI. Aber Vielleicht gibt es ja auch andere Programme, die gewöhnliche Tastaturcodes benutzen, um Programme zu starten.

hth mArco

----------

## reyneke

Hmmm ... da mußte ich jetzt mal fünf Minuten drüber meditieren. Das ist Dein/etc/acpi/default.sh, hab ich recht? 

Was hast Du denn im Kernel aktiviert, um Unterstützung für Deine Hotkeys zu kriegen? Wenn es etwas Notebook-spezifisches ist, werd' ich's wohl an meinem Desktop nicht zum laufen kriegen, aber Versuch macht kluch.

Thx erstmal.

----------

## theche

ja, richtig geraten, und es ist leider Notebookspezifisch. Die Kerneloption heißt ACPI4ASUS oder so ähnlich...sorry, dass das dir jetzt mal garnicht hilft...

----------

## z4Rilla

 *reyneke wrote:*   

> Hi.
> 
> Ich würde gerne beim Zocken mit xmms Musik hören und das Programm auch steuern, ohne dafür das Spiel zu beenden. Eigentlich sollte das ja auch über die Multimedia-Tasten meines Keyboards ( Logitech Internet Navigator ) kein Problem sein.

 

Was du suchst heisst xbindkeys.

Meine ~/.xbindkeysrc :

```
# For the benefit of emacs users: -*- shell-script -*-

###########################

# xbindkeys configuration #

###########################

#

# Version: 1.7.1

#

# If you edit this file, do not forget to uncomment any lines

# that you change.

# The pound(#) symbol may be used anywhere for comments.

#

# To specify a key, you can use 'xbindkeys --key' or

# 'xbindkeys --multikey' ,, and put one of the two lines in this file.

#

# The format of a command line is:

#    "command to start"

#       associated key

#

#

# A list of keys is in /usr/include/X11/keysym.h and in

# /usr/include/X11/keysymdef.h

# The XK_ is not needed.

#

# List of modifier:

#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),

#   Mod3 (CapsLock), Mod4, Mod5 (Scroll).

#

# The release modifier is not a standard X modifier, but you can

# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers

# NumLock, CapsLock and ScrollLock.

# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable

#keystate_capslock = enable

#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show"

  control+shift + q

# set directly keycode (here control + f with my keyboard)

"thunderbird"

    m:0x10 + c:236

    Mod2 + XF86Mail

"firefox"

    m:0x10 + c:178

    Mod2 + XF86HomePage

"xmms -p"

    m:0x10 + c:162

    Mod2 + XF86AudioPlay

"xmms -s"

    m:0x10 + c:164

    Mod2 + XF86AudioStop

"xmms -f"

    m:0x10 + c:153

    Mod2 + XF86AudioNext

"xmms -r"

    m:0x10 + c:144

    Mod2 + XF86AudioPrev

"xmms"

    m:0x10 + c:237

    Mod2 + XF86AudioMedia

#"lauter"

#    m:0x10 + c:176

#    Mod2 + XF86AudioRaiseVolume

#"leiser"

#    m:0x10 + c:174

#    Mod2 + XF86AudioLowerVolume

#"NoCommand"

#    m:0x10 + c:160

#    Mod2 + XF86AudioMute

#"rox"

        #b:6 + b:2 + Release

"gnome-terminal"

        b:6

# specify a mouse button

#"xterm"

#  control + b:2

#"xterm -geom 50x20+20+20"

#   Shift+Mod2+alt + s

#

## set directly keycode (here control+alt+mod2 + f with my keyboard)

#"xterm"

#  alt + c:0x29 + m:4 + mod2

#

## Control+Shift+a  release event starts rxvt

#"rxvt"

#  release+control+shift + a

#

## Control + mouse button 2 release event starts rxvt

#"rxvt"

#  Control + b:2 + Release

"import -w root screenshot.jpg"

    m:0x10 + c:111

    Mod2 + Print

##################################

# End of xbindkeys configuration #

##################################
```

diese ACPI sache nützt dir am desktop nicht viel. da kannst du gerade mal auf "Reset" und "Power" reagieren (nicht sehr praktisch für das was du willst  :Wink:  ) .

----------

## reyneke

Thx, r4zilla.

Leider senden bei mir nicht alle Tasten ein Event an X; auch, wenn sie mit lineakd funktionieren. Das bräuchte ich aber, um der Taste einen Namen zu geben, unter dem ich sie dann mit xbindkeys ansprechen kann.

Liegt das vielleicht an meiner Einstellung in der xorg.conf (XkbdModel = "logiink"). 

In den manpages zu X & Co. findet sich keine Auflistung aller möglichen Modelle. Auch im Inet hab ich bis jetzt nichts gefunden. Wäre dankbar für 'nen Tip.

Gruß,

reyneke.

----------

## schmutzfinger

Ich spiele immer auf nem 2. X server. Da kann man bequem per strg+alt+f7 auf den Xserver wo xmms,icq,xchat... laufen. 

```

xinit /etc/X11/Sessions/fluxbox -- :1

```

oder direkt

```

xinit /usr/games/bin/et -- :1

```

Man kann Q3 und ET übrignes auch minimieren. 

Alt+Enter und dann die console im Spiel aufmachen, aber die lösung mit dem 2. server finde ich besser.

----------

## Fabiolla

Hallo, 

Vielleicht hilft dir  dieser Thread  im Bezug auf X Events weiter (speziell das letzte Posting auf dieser Seite).

lg

----------

## reyneke

 *schmutzfinger wrote:*   

> Ich spiele immer auf nem 2. X server. Da kann man bequem per strg+alt+f7 auf den Xserver wo xmms,icq,xchat... laufen. 
> 
> 

 

Ist bekannt. xgame funktioniert ja eigentlich auch nach diesem Schema. Allerdings geht das IMHO zu Lasten der Performance, sprich weniger FPS, da ja ein recht großer Prozess dann doppelt läuft.

 *schmutzfinger wrote:*   

> 
> 
> Man kann Q3 und ET übrignes auch minimieren. 
> 
> Alt+Enter und dann die console im Spiel aufmachen, aber die lösung mit dem 2. server finde ich besser.

 

Super Tip! Danke!

----------

## schmutzfinger

 *Quote:*   

> Allerdings geht das IMHO zu Lasten der Performance, sprich weniger FPS, da ja ein recht großer Prozess dann doppelt läuft. 

 

Also ich kann keinen Unterschied feststellen und mein Rechner ist echt nicht mehr der neuste. Vielleicht solltest du es einfach mal probieren.

----------

