Lirc <-> Pulseaudio - reagiert nur auf Index '00'

  • Hallo,


    mein konkretes Problem hier hat zwar nichts mit dem VDR direkt zu tun, aber hier gibt es so viele Leute, die sich mit LIRC auskennen. Daher versuche ich mal mein Glück. Meine Lautstärkeregelung überlasse ich nicht dem VDR sondern habe das lirc-Modul für Pulseaudio installiert. Damit kann ich die systemweite Lautstärke regeln. Das klappt auch soweit. So sieht meine .lircrc aus:



    Jedoch muss ich die Taste einzeln oft hintereinender drücken um lauter oder leiser zu machen. Ich kann den Finger nicht einfach gedrückt halten. Das ist etwas umständlich.


    Dazu gibt es ja die Parameter delay und repeat. Aber soweit ich das verstehe, sind die nur dazu da, das ganze auszubremsen, nicht um es zu beschleunigen.


    In irw wird kontinuierlich eine Eingabe erzeugt. Pulseaudio reagiert aber nur auf das Kommando mit dem Index '00'. In irw sieht man, wie dann hochgezählt wird, aber Pulseaudio reagiert immer nur auf die '00'. Hat jemand eine Idee, wie man eine gleichmäßige Lautstärkenänderung hinbekommt?



    Ich beziehe mich auf die zweite Spalte. Da so pro Sekunde 4-5 Eingaben erfolgen, wenn man den Knopf gedrückt hält, wäre es praktisch, wenn Pulseaudio auf jede vierte Eingabe reagiert.



    Grüße
    MPW

    [VDR1] AS J3455M mit 2x2 Device Bonding Digital Devices DuoFlex L4M-Twin S2 ver. 6.2, Ubuntu 14.04 64bit mit yavdr-experimental-repo und xine-Ausgabe mit vaapi, vdr 2.0.6
    [VDR2] ASRock N3050B-ITX SoC mit TBS 6281 2x DVB-C und Easyvdr als Komplettsystem mit einer X10 an einem Fernseher

    2 Mal editiert, zuletzt von MPW ()

  • Dazu gibt es ja die Parameter delay und repeat. Aber soweit ich das verstehe, sind die nur dazu da, das ganze auszubremsen, nicht um es zu beschleunigen.


    Siehe z.B. http://wiki.ubuntuusers.de/Lir…Funktionen_belegen#Syntax

    Zitat


    delay
    Hier lässt sich, ebenfalls durch eine positive Ganzzahl n, festlegen, wie viele Impulse ignoriert werden, bis die in der repeat-Anweisung festgelegte Konfiguration ausgeführt wird. Standard ist ebenfalls 0, damit ist diese Funktion zunächst ausgeschaltet. Sinnvoll ist die Verwendung z.B. dann, wenn bei schneller Wiederhol-Rate der Fernbedienung (der gap-Wert in der lircd.conf steht für die Zeitspanne zwischen den Impulsen in msec) mehrfaches Senden und Ausführen von Befehlen verhindert werden soll. Die Verwendung ohne einen repeat-Wert führt dazu, dass der Befehl erst verzögert, aber dann auch nur einmal, ausgeführt wird (repeat = 0 und delay = 0-Angaben sind allerdings überflüssig, weil Standard...).


    repeat
    Diese Anweisung legt fest, was bei anhaltendem Druck auf eine Taste geschieht. Der Standard-Wert (der auch ohne Angabe verwendet wird) ist 0; er führt dazu, dass wiederholte Impulse ignoriert werden. Andere Werte (positve Ganzzahl n) führen dazu, dass die Anweisung in config jedes n-te Mal des Tastendruckes ausgeführt wird, nicht aber wie oft; das ist abhängig von der Länge des Tastendrucks! Wenn eine Dauerfunktion (wie z.B. für die Lautstärkeregelung) gewünscht wird, kann mit einer repeat-Anweisung festgelegt werden, wie schnell die Änderung vonstatten gehen soll. Ein Dauerdruck erzeugt im Normalfall eine ständige Wiederholung des Impulses, diese wird dann jedes festgelegt Mal ausgeführt. Falls trotz einer solchen Angabe keine Wiederholung des Befehls ausgeführt wird, liegt eventuell ein Problem in der Konfiguration der verwendeten lircd.conf und dem verwendeten toggle_bit_mask bzw. pre_data-Wert vor.


    Ich würde erst mal jeweils repeat 1 dazuschreiben, dann sollten alle Tastendrücke 1:1 durchgereicht werden und eine Aktion auslösen. Den Wert kannst du dann erhöhen, wenn es dir zu schnell geht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Danke. Die Seite hatte ich vorhin gelesen, aber irgendwie wohl nicht richtig verinnerlicht.


    Es funktioniert tatsächlich.


    Aber wo genau liegt denn jetzt der Unterschied zwischen repeat 0 und repeat 1? Repeat 1 hat funktioniert.

    [VDR1] AS J3455M mit 2x2 Device Bonding Digital Devices DuoFlex L4M-Twin S2 ver. 6.2, Ubuntu 14.04 64bit mit yavdr-experimental-repo und xine-Ausgabe mit vaapi, vdr 2.0.6
    [VDR2] ASRock N3050B-ITX SoC mit TBS 6281 2x DVB-C und Easyvdr als Komplettsystem mit einer X10 an einem Fernseher

  • Steht doch da

    Der Standard-Wert (der auch ohne Angabe verwendet wird) ist 0; er führt dazu, dass wiederholte Impulse ignoriert werden.

    repeat 0 = keine Tastenwiederholung, repeat 1 = jeder wiederholte Tastendruck wird durchgereicht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • :wand Jetz hab ich's gecheckt. Muss den Satz irgendwie überlesen haben. Vielen Dank.

    [VDR1] AS J3455M mit 2x2 Device Bonding Digital Devices DuoFlex L4M-Twin S2 ver. 6.2, Ubuntu 14.04 64bit mit yavdr-experimental-repo und xine-Ausgabe mit vaapi, vdr 2.0.6
    [VDR2] ASRock N3050B-ITX SoC mit TBS 6281 2x DVB-C und Easyvdr als Komplettsystem mit einer X10 an einem Fernseher

  • Eine Nachfrage hätte ich noch: Gibt es eine Möglichkeit zu verhindern, dass es via lirc-Eingabe über 100% Lautstärke springt?


    Mit dem Lauter/Leiser-Tasten der Tastatur macht er das nur, wenn man das explizit erlaubt. Aber Trusty gibt es dazu ein Kontrollkästchen, früher hat er es gar nicht automatisch gemacht.

    [VDR1] AS J3455M mit 2x2 Device Bonding Digital Devices DuoFlex L4M-Twin S2 ver. 6.2, Ubuntu 14.04 64bit mit yavdr-experimental-repo und xine-Ausgabe mit vaapi, vdr 2.0.6
    [VDR2] ASRock N3050B-ITX SoC mit TBS 6281 2x DVB-C und Easyvdr als Komplettsystem mit einer X10 an einem Fernseher

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!