ubuntuusers.de

Openbox und Key Chains mit XF86*

Status: Ungelöst | Ubuntu-Version: Lubuntu 12.04 (Precise Pangolin)
Antworten |

janhh

Anmeldungsdatum:
24. April 2014

Beiträge: Zähle...

Moin moin,

ich habe eine neue Tastatur (Keysonic KSK-8021 U DE, Bild der Tasten) und möchte die Multimedia-Tasten anders nutzen. Auf meiner alten hatte ich eigene Multimediatasten für play/pause, vor, zurück und ein rad für die Lautstärke. Mit der neuen klappt das auch wunderbar, aber nur mit Fn + F7-F12. Was mir vorschwebt: eine Key Chain. Ich drücke die Taste mit dem Notenzeichen (Musik-Taste) neben F12 und kann dann direkt die F7 - F12 nutzen um die Funktion auszulösen. Mit Escape oder wieder der Musik-Taste beende ich die Chain. Die Musik-Taste ist laut xev XF86Tools. Mein Ansatz war jetzt (Beispiel nur für F7 / zurück):

<keybind key="XF86Tools" chroot="true">
  <keybind key="F7"><action name="Execute"><command>/opt/deadbeef/bin/deadbeef --prev</command></action></keybind>
</keybind>

Das klappt nicht, die Action wird nicht ausgeführt. Drücke ich die Musik-Taste und warte etwas, kommt der Key-Chain-Dialog, drücke ich F7 (oder eine beliebige andere Taste), ist er beendet, aber die Action läuft nicht. Der Befehl an sich funktioniert. Key-Chain start auf F6 funktioniert:

<keybind key="F6" chroot="true">
  <keybind key="F7"><action name="Execute"><command>/opt/deadbeef/bin/deadbeef --prev</command></action></keybind>
</keybind>

XF86Tools für beides, also

<keybind key="XF86Tools" chroot="true">
  <keybind key="XF86Tools"><action name="Execute"><command>/opt/deadbeef/bin/deadbeef --prev</command></action></keybind>
</keybind>

funktioniert.

Statt F7 eine "normale" Taste, z.B. nur "a" zu nutzen funktioniert nicht. Statt XF86Tools eine andere Sondertaste (z.B. XF86HomePage) funktioniert genau so wenig / viel. XF86HomePage + XF86Tools in Chain funktioniert.

Im Debug-Mode spuckt Openbox leider auch nicht allzu viel aus, außer, dass er eben bei den Fällen, in denen es geht "starting deadbeef 0.5.4 [static]" loggt.

Openbox ist Version 3.5.0 (3.5.0-2ubuntu2) auf Lubuntu 12.04.4 LTS.

Hat jemand eine Idee, was ich noch ausprobieren könnte? Kann ich einen erweiterten Debug-Modus für openbox aktivieren, der beim Diagnostizieren helfen kann? Braucht ihr weitere Infos?

Vielen Dank!

Miccovin

Avatar von Miccovin

Anmeldungsdatum:
9. Februar 2007

Beiträge: 756

Hi, hab ehrlich gesagt nicht gecheckt, was Du machen willst, aber vielleicht klappt es mit ▶ xbindkeys.

janhh

(Themenstarter)

Anmeldungsdatum:
24. April 2014

Beiträge: 5

Miccovin schrieb:

Hi, hab ehrlich gesagt nicht gecheckt, was Du machen willst, aber vielleicht klappt es mit ▶ xbindkeys.

Möglich, aber ich weiß nicht wie. Was ich will: XF86Tools drücken, und anschließend (nicht gleichzeitig) F7. Dadurch soll ein Befehl ausgeführt werden. Wenn ich dann wieder F7 drücke, soll der Befehl erneut ausgeführt werden, solange ich eine der 6 definierten Tasten drücke (F7 - F12). Jede andere Taste inkl XF86Tools selbst soll den Eingabemodus beenden und F7-F12 wieder ihre normale Funktion zurückgeben.

Wenn ich es richtig verstehe, ist das der perfekte Fall für Key Chains in Openbox, nur ist da ein Bug im Handling der Sondertasten oder ich habe irgendetwas nicht verstanden / übersehen.

HaCeMei Team-Icon

Anmeldungsdatum:
2. August 2010

Beiträge: 2268

Hallo janhh, herzlich willkommen im Forum ☺ !

Habe mich ehrlich gesagt immer gefragt, was das mit den Keychains bringen soll. Für Mitleser, die Dokumentation ist hier zu finden

http://openbox.org/wiki/Help:Bindings

Dein Beispiel ist wirklich gut, ich habe daraufhin bei mir mal folgendes für lauter/leiser ausprobiert.

<keybind key="XF86AudioStop" chroot="true">
  <keybind key="Up"><action name="Execute"><command>amixer -q sset Master 5%+</command></action></keybind>
<keybind key="Down"><action name="Execute"><command>amixer -q sset Master 5%-</command></action></keybind>
<keybind key="XF86AudioStop"><action name="BreakChroot"/></keybind>   
</keybind>

Damit kann ich, nach Betätigung der AudioStop-Taste mit den Cursor-Tasten laut und leise stellen. Das funktioniert bei mir auch mit F9 als Starttaste und F11 und F12 für lauter/leiser. Ich bin aber gefangen ohne die BreakChroot-Aktion, brauchst du die nicht?

Bei mir also keine Schwierigkeiten, aber ich habe auch keine Musiktaste (und Openbox auf Arch, werd's auch mal auf Lubuntu testen).

Hast du überprüft, ob in deiner lubuntu-rc.xml der verwendete Starter nicht noch anders belegt ist?

Noch ein wichtiger Hinweis hierzu

Lubuntu 12.04.4 LTS.

Lubuntu 12.04 war nur für 18 Monate unterstützt (spätere Versionen sogar nur für 9 Monate). Erst Lubuntu 14.04 hat LTS. Du solltest upgraden oder neu installieren, es gibt mehrere Threads zu dem Thema in diesem Forum.

Gruß, HaCeMei

Edit: Hab's in Lubuntu 14.04 mit XFAudio...-Taste + Cursor und mit F6 > F7 / F8 probiert, klappt jedenfalls mit amixer.

janhh

(Themenstarter)

Anmeldungsdatum:
24. April 2014

Beiträge: 5

Vielen Dank für deine Antwort!

Bei mir klappt es mit deinem Config-Snippet nicht – da scheint irgendwas grundsätzlich falsch zu laufen, denn ich brauche auch nicht den Breakout, ich fliege ja bei anderem Tastendruck raus aus der Key Chain. Welche Openbox-Version läuft bei dir?

Übrigens: 12.04 ist eine LTS und hat auch 5 Jahre support. Ich klammer mich zwar nicht dran, und will auch irgendwann auf 14.04 umsteigen (wenn die heldenhaften Early Adopters die Bugs und Kanten minimiert haben), brenne aber nicht darauf, ich habe Probleme mit Veränderungen und brauche dann wieder einige Zeit, um mich daran zu gewöhnen 😉

HaCeMei Team-Icon

Anmeldungsdatum:
2. August 2010

Beiträge: 2268

Hier openbox 3.5.2.

Lubuntu und LTS war schon oft Thema, und ist hier nicht weiter zu führen, siehe nur Wiki zu 12.04

Lubuntu, Mythbuntu: kein LTS-Release (18 Monate Unterstützung)

Ich würde an deiner Stelle in 12.04 nicht weiter rumprobieren. Es ist gar nicht unwahrscheinlich, dass es in 14.04 von selbst läuft. Immerhin interessant, was mit Openbox alles möglich ist!

janhh

(Themenstarter)

Anmeldungsdatum:
24. April 2014

Beiträge: 5

Ah, dann hat nur das normale Ubuntu die 5 Jahre? Meh, wieder nicht aufgepasst und nur knapp kommuniziert. Danke für den Hinweis!

Ich werde mal zum Wochenende ein Upgrade machen und schauen, ob's klappt. Mit etwas Glück hast Du Recht und es klappt dann auch bei mir direkt. Dann wäre ich nämlich hier mit der neuen Tastatur durchaus glücklich. Die letzte Logitech habe ich (als Modell, ich habe drei Stück verbraucht) gut 10 Jahre genutzt... war aber Zeit für einen Wechsel, das dritte und letzte Gerät gibt aber auch den Geist auf, also muss ich mich wohl oder übel an eine neue gewöhnen.

janhh

(Themenstarter)

Anmeldungsdatum:
24. April 2014

Beiträge: 5

So, nach dem Update auf 14.04: leider keine Veränderung.

Auch mit

    <keybind key="XF86Tools" chroot="true">
      <keybind key="Up">
        <action name="Execute">
          <command>/opt/deadbeef/bin/deadbeef --prev</command>
        </action>
      </keybind>
      <keybind key="XF86Tools">
        <action name="BreakChroot"/>
      </keybind>
    </keybind>

Komme ich zwar in die Keychain (kleiner Dialog erscheint), fliege aber nach dem drücken einer beliebigen gewöhnlichen Taste heraus

Was funktioniert:

    <keybind key="XF86Tools" chroot="true">
      <keybind key="XF86Mail">
        <action name="Execute">
          <command>/opt/deadbeef/bin/deadbeef --prev</command>
        </action>
      </keybind>
      <keybind key="XF86Tools">
        <action name="BreakChroot"/>
      </keybind>
    </keybind>

Aber auch da brauch ich interessanterweise den BreakChroot nicht, weil jede normale Taste die Chain beendet.

Was genau so funktioniert, wie ich es mir vorstelle (nur halt mit den falschen Tasten):

    <keybind key="C-F6" chroot="true">
      <keybind key="Left">
        <action name="Execute">
          <command>/opt/deadbeef/bin/deadbeef --prev</command>
        </action>
      </keybind>
      <keybind key="F6">
        <action name="BreakChroot"/>
      </keybind>
    </keybind>

Das ist alles sehr verwirrend ☹ Nun bin ich auf 14.04 mit openbox 3.5.2-6. Hast Du noch eine Idee? Sonst jemand Vorschläge, was ich versuchen kann? Ich werde das sonst mal vorbereiten und auf die openbox-ML posten.

Antworten |