Posts by caps!


    KEY_CLEAR durch den libcec-daemon hätte eigentlich klappen sollen (remappen über eventlircd geht nur bei namespace-konformen Tastennamen) - möglich sind alle KEY_* Tasten aus http://lxr.free-electrons.com/…nclude/uapi/linux/input.h


    Danke, seahawk1986, daß Du mir weiterhin zu helfen versuchst. Habe mir mal für die Samsung-Return Taste "KEY_EQUAL" (Code13) ausgesucht. Kommt auch im libcec-daemon Log an:

    Code
    1. DEBUG - Main::onCecLogMessage(123236 [T]>> 01:8a:91
    2. )
    3. DEBUG - Main::onCecLogMessage(123236 [D]>> TV (0) -> Recorder 1 (1): vendor remote button down (8A)
    4. )
    5. DEBUG - Main::onCecLogMessage(123237 [D]key pressed: return (Samsung) (91)
    6. )
    7. DEBUG - Main::onCecKeyPress(Key press: EQUAL for 125ms)
    8. DEBUG - sent 13


    Beim Aufruf von evtest wird "KEY_EQUAL" auch "announced" (KEY_EQUAL gab's vorher nicht in der Liste):


    Es kommt dennoch nichts bei evtest an!?! Kapier ich nicht. Wo ist der Hund begraben? Wie debugged man sowas?

    Sodala, das mit dem "ComboKey" ist nun wohl tatsächlich kein Problem mehr. Tastenwiederholung funktionieren hier sehr angenehm.


    Leider habe ich es immer noch nicht geschafft, alle FB-Tasten zuzuordnen und per uinput anprechbar zu machen. Mit dem aktuellen libcec-daemon (inkl. Patches von 9000H) reagieren alle Tasten wie gewünscht. Im Log von libcec-daemon werden auch die entsprechenden "Responses" protokolliert:


    Leider erkennt uinput (getestet mittels evtest) die Signale AN_RETURN oder UNKOWN nicht und reicht sie deshalb auch nicht weiter. Habe auch mal die Buttons anders gemappt (z.b. CLEAR oder KEY_CLEAR), das funktioniert aber auch nicht. Damit bin ich leider mit meine Latein am Ende... Schade. Die Bedienung ist echt spitze mit der Fernbedienung vom Fernseher. Da muß ich wohl auf kommende libcec(-daemon) Versionen warten.


    Grüße
    caps!

    Hi


    der combo key bug scheint jetzt im libcec git gefixed zu sein libcec issue


    CU
    9000h


    Sehr schön! Mit den Änderungen lassen sich die "Problemtasten" bei mir jetzt direkt per cec-client ansprechen. Endlich gehen auch die Multimedia- und die Samsung RETURN-Taste!


    Leider habe ich (aus Mangel an Zeit im Moment) es nicht geschafft, Deinen libcec-daemon daran anzupassen. Da werden die Tasten leider nicht durchgereicht. Auch mit dem "originalen" libcec-daemon geht's nicht. Aber da kann ich ja am verlängerten Wochenende rumspielen...


    Vielen Dank für Deine Mühen im P8-Forum und das ich davon profitieren kann!
    Grüße
    caps!


    Du musst einfach das Gerät das der libcec-daemon anlegt ps3remote übergeben und das Gerät, das ps3remote anlegt dann eventlircd (über eine udev-Regel).


    Alles klar, das probier ich mal aus.



    Dein Compiler sucht aber unter /usr/include/libcec - also musst du als Include noch das zusätzliche Verzeichnis übergeben oder die Dateien dorthin kopieren wo sie erwartet werden...

    Code
    1. -I/usr/local/include/libcec


    Das war's, danke!! :)


    Wie cool! Jetzt bin ich schon mal einen riesen Schritt weiter. Riesen Dank für Deine libcec-daemon Sourcen! Jetzt funktionieren schon mal die Tasten "GUIDE", "FAV.CH", "CHAN UP", "CHAN DOWN".


    Leider sind "RETURN", die "INFO"-Taste und die Medien-Tasten "PAUSE", "PLAY", "STOP" und "RECORD". Noch nicht dabei. Aber da kann man vielleicht in der main.cpp etwas nachhelfen. Muß ich jetzt ausprobieren.


    Nochmals Danke an 9000H und seahawk1986!

    Hmm...

    Code
    1. g++ -c -std=c++0x -g -Wall -I/usr/include/libcec src/main.cpp -o src/main.o
    2. In file included from src/main.h:2:0,
    3. from src/main.cpp:9:
    4. src/libcec.h:2:17: schwerwiegender Fehler: cec.h: Datei oder Verzeichnis nicht gefunden
    5. Kompilierung beendet.
    6. make: *** [src/main.o] Fehler 1


    cec.h ist die von libcec, oder? Die liegt bei mir unter "/usr/local/include/libcec/cec.h" oder eben im libcec-src-Verzeichnis. Muß ich das irgendwo hinkopieren oder in main.cpp einen Pfad angeben? Sorry für die blöden Fragen, aber ich kann kein C++.

    Evtl. könnte das über den VDR gehen, wenn sich das Remote-Plugin an die Parameter aus der setup.conf des VDR hält (hab ich noch nicht ausprobiert).


    Das hatte ich gleich beim ersten Test ausprobiert. Ändert leider nichts...


    Sonst gäbe es glaube ich noch noch die Möglichkeit das das im Quelltext des Plugins zu ändern - müsste repeatfreq in der remote.c sein:


    Das war ne gute Idee, aber leider ändert sich da ebenfalls nichts. Mist... Ich hab mal das hier (einfach ein paar Tausender dran) ausprobiert:


    Spielt überhaupt keine Rolle. :( Es läuft wohl auf eine Änderung am libcec-daemon hinaus. Oder ich schaue mir wirklich mal Dein ps3remote Programm an. Allerdings seh ich da aus Mangel an C++-Kenntnis schwarz. Ich werd mich mal an Andrew Brampton, dem Autor von libcec-daemon, wenden. Wahrscheinlich ist dem allerdings eine Abhängigkeit zum remote-Plugin herzlich egal. Mal sehen... Trotzdem vielen Dank für Deine Hilfe!


    Da ich keine Hardware zum Testen habe ist es das für mich auch ;) Die Idee wäre die automatische Tastenwiederholung des Remote-Plugin zu nutzen, die einsetzt wenn ein Gerät nur die values 1 (wenn die Taste gedrückt wird) und 0 (wenn die Taste losgelassen wird) sendet.


    Sodala, hab das mal eingebaut. Das scheint schon mal viel besser zu funktionieren! Es kommt im Log so an wie von Dir gedacht: Taste drücken -> Value 1, Taste loslassen -> Value 0. Danke für den Code!


    Das remote-Plugin scheint das auch als "Dauerfeuer" zu interpretieren (bis eben Ende per value 0 getriggert wird), nur läuft das ganze dann scheinbar so schnell ab, daß im OSD teilweise 10 Einträge auf einmal übersprungen werden. Könnte man das jetzt wieder am remote-Plugin einstellen/regeln? Evtl. sollte ich mir doch eventlircd angucken...


    Leider werden die Problem-Tasten (inkl. STOP) immer noch nicht angesprochen. Da kommt nix am Device an... :( Hoffe, 9000H kann mir da weiterhelfen...

    Servus,


    konnte gestern leider nicht mehr weitertesten, die Familie wollte dann doch mehr Aufmerksamkeit... Vielen Dank schon mal, daß ihr hier Vorschläge einbringt!


    im upstart /etc/init/eventlircd.conf Script muss unbedingt --repeat-filter angegeben werden sonst filtert eventlircd alle events vom libcec-daemon aus.


    Hmm, auf eventlircd werde ich dann wohl auch umsteigen. Ich wollte erstmal das ganze so am Laufen haben und mich dann um eventlircd kümmern. Aber das scheint ja ein Problem zu lösen. Das teste ich heute Abend mal.



    Jepp sieht man ja "SELECT" Was kommt da wenn du die Tasten drückst was nicht gehen. Evtl. Muß man da was ummappen main.cpp ab Zeile 97 glaub ich


    Da kommt leider bei besagten Tasten (GUIDE, INFO, PRE-CH usw.) leider gar nichts an. Die werden von libcec (oder libcec-daemon?) gar nicht "verwendet"/"gemapped". D.h. die werden nicht an den cec-client weitergegeben sondern sprechen immer noch Funktionen des Fernsehers an. Das war damals mit dem RPi anders. Da wurden die Tasten von XBMC angesprochen.


    Das ist übrigens mein Hauptproblem. Diese Tasten belegbar / von libcec verwendbar machen. Evtl. bringen ja die Änderungen von 9000H was, aber das scheine ich nicht richtig eingepflegt zu haben.


    9000H : Könnest Du mir einen Patch für die Main.cpp und libcec.cpp mit Deinen Änderungen zukommen lassen? Das wäre der Oberknaller. Funktionieren damit nur die Tasten "STOP" und "RETURN" oder lassen sich damit auch die "Problemtasten" einbinden?



    Bei 320 ms Abstand zwischen den Tastendrücken sieht der VDR mit eventlircd -> Lirc Sockel sowieso nur Einzeltastendrücke.


    Was sagt denn die key.duration aus? Weiß man damit, dass eine Taste gedrückt gehalten wurde?
    Hier scheint das ja durchaus auswertbar zu sein: https://github.com/Pulse-Eight…s/32#issuecomment-8042687


    Wenn das so ist, dass key.duration=0 ein Signal für Taste gedrückt und key.duration > 0 beim Loslassen kommt (sollte man ja mit der Verbose-Option sehen können), wäre für das remote-Plugin ja vermutlich eher so etwas interessant, weil es dann die automatische Tastenwiederholung nutzen kann:


    Das werde ich heute Abend mal ausprobieren, danke. Ist für mich halt "trail&error". Ahnung, was ich da mache, hab ich nicht.

    Man könnte z.B. den libcec-daemon so modifizieren, dass er Tastendrücke mit value 2 wegwirft. Dann springt die Autofeuer-Funktion des remote-Plugins ein (kann man z.B. mit der PS3 Remote beobachten). Oder man setzt ein Programm dazwischen, das zusätzliche Tastendrücke mit dem value 2 generiert.


    Ah, verstehe. Ich hab mal in der Main.cpp aus

    Code
    1. uinput.send_event(EV_KEY, uinputKey, key.duration == 0 ? 2 : 0);

    Code
    1. uinput.send_event(EV_KEY, uinputKey, key.duration == 0 ? 1 : 0);

    gemacht. Jetzt ist es ein wenig besser, aber immer noch nicht zufriedenstellend. Leider reichen meine Programmierkenntnisse dafür nicht aus.

    Hi,


    das ist das Problem mit den combo keys siehe libcec git issues oder hier libcec.


    CU
    9000h


    Ah, Du hast ja im p8-Forum fleißig gepostet und einiges dazu beigetragen! Ich hoffe, es macht Dir nichts aus, wenn ich hier mal Deine Anleitung vom anderen Thread poste:


    Ich hab das jetzt mal eingebaut, aber die "STOP"-Taste funktioniert leider immer noch nicht. Allerdings weiß ich nicht, ob ich es an die richtigen Stellen eingefügt habe. Sieht bei mir jetzt so aus:
    src/libcec.cpp:


    src/Main.cpp:


    War das richtig? Scheinbar nicht... ;)


    Wenn du mal die Ausgabe bei gedrückt gehaltener Taste postest, schau ich gerne mal, ob man da ein "Autofeuer" nutzen kann. Dazu müsste der Tastendruck mit dem value 1 beginnen, optional zwischendrin Value 2 liefern und mit einem Value 0 abschließen - in etwa so:


    Hmm, das verstehe ich nicht ganz. Was meinst Du mit "mit dem value 1 beginnen"? Wie "steuere" ich das? Hier mal die Ausgabe bei gedrückter "Down"-Taste:


    Hi


    Hast du mal probiert libcec-deamon im verbose mode (-v [ --verbose ]) zu starten um zu sehen ob er die Tasten erkennt?


    Gute Idee avjui, danke. Leider sieht man da in der Ausgabe nicht viel:



    Müsste da was zu den Tasten auftauchen? Bei den letzten beiden "Meldeblöcke" hab ich mal auf "Enter" gedrückt...


    Hast du mal geschaut was evtest Liefert, wenn du eine Taste einmal drückst und was passiert, wenn du die gedrückt hältst? Soweit ich das mitbekommen habe macht CEC keine Tastenwiederholung sondern kennt nur Einzeltastendrücke - falls es doch ein Unterscheidungskriterium zwischen gedrückt gehalten und einem einzelnen Tastendruck geben sollte, kann man was machen, sonst eher nicht.


    Manche Tasten (z.B. "Up" oder "Down") zeigen per evtest eine Wiederholung, "Enter" jedoch nicht. Die Wiederholrate ist allerdings schon bei evtest so lahm. Na dann bin ich da ja schon mal ein Stück weiter. Am remote-Plugin liegt es nicht... Danke für die Antwort.


    Kann man da bzgl. uinput ewtas "drehen"?

    Guten Abend,


    weil wir grad beim Thema Pulse Eight USB-CEC-Adapter sind (anderer Thread von gda):


    Hab mich diese WE endlich mal damit auseinandergesetzt und hab das Ding nun am laufen. Damit lässt sich der VDR jetzt mit der TV-FB bedienen. Is ja auch (ein) Sinn der Sache. udev-Regel erstellt, libcec & libcec-daemon kompiliert/installiert und am VDR per remote-Plugin angebunden.


    Funktioniert super, nur lassen sich nicht alle Tasten meiner Samsung-TV-FB nutzen!


    Taste INFO: Bringt ein Info-Fenster vom Fernseher.
    Taste GUIDE: Zeigt Fernseher-Meldung "Nicht verfügbar".
    Taste RETURN mach gar nichts.
    Taste PRE-CH schaltet auf TV-Modus des Fernsehers um


    Diese Tasten werden als vom libcec-daemon also gar nicht "in Beschlag" genommen. Man sieht auch keine Reaktion der Tasten, wenn man per

    Code
    1. evtest /dev/input/libcec-daemon

    testet. Ich hab das ganze mal mit einem Raspberry Pi ausprobiert, natürlich ohne den USB-CEC-Adapter, eben nur über HDMI-Kabel. Der Pi unterstützt das ja ootb. Da sind diese Tasten sehr wohl in XBMC nutzbar.


    1. Hat jemand das gleiche Problem und schon eine Lösung gefunden? So ist das ganze leider nicht so komfortabel nutzbar.


    2. Beim Start des libcec-daemons wird automatisch der Fernseher angeschaltet. Lässt sich dieses Verhalten irgendwie abstellen?


    3. Die Wiederholrate der FB am Fernseher ist gut. Per remote-Plugin am VDR leider sehr langsam. Kann man das irgendwo steuern?


    4. Wenn der libcec-daemon läuft, kann man keiner "Befehle" mehr an den Fernseher per cec-client absetzen. Das Device ist gesperrt. Geht das auch anders? FIFO einbauen?


    Grüße
    caps!

    Hast Recht.


    Code
    1. ...
    2. X 2 03 deu deutsch
    3. X 2 03 fra französisch
    4. X 3 20 fra DVB Sous-Titre
    5. X 3 20 deu DVB-Untertitel
    6. X 4 40 deu Dolby Digital
    7. X 5 0B deu HD-Video
    8. X 3 03 deu
    9. X 3 03 fra
    10. ...


    Da müssten eigentlich laut EPG drei Tonspuren (inkl. Dolby Digital) gesendet werden. Nur glaube ich nicht, daß das KDG interessiert, wenn ich mich in dem Fall beschwere. Wo doch für die neuesten Homeshopping-Kanäle Bandbreite gespart werden muß!
    Bis jetzt war ich mit dem Kundenservice der Firma sehr zufrieden. Da kann ich schon mal alle fünfe grade sein lassen...


    Grüße
    caps!

    Aha! Danke für den Tipp! In der DolbyDigital-Spur ist die deutsche Audio-Spur enthalten! Das wusste ich nicht. Hab die Audio-Sprachen in den Einstellungen rausgenommen und eben DolbyDigital zugelassen. Jetzt kann ich darauf schalten.


    Vielen Dank! Problem für mich gelöst! Jetzt steht einem Doku-Abend nichts mehr im weg... :)


    Grüße
    caps!

    So, grad eine dieser Aufnahmen mit VLC abgespielt. Tatsächlich: Es gibt zwei Tonspuren, die zweite ist die deutsche. Immerhin...


    Wie kann ich denn nun den VDR dazu bewegen, die Audiokanäle zur Verfügung zu stellen? Liegt es evtl. an dem Eintrag in der channels.conf für arteHD? Ich hätte auch gerne im Live-Betrieb den deutschen Audiokanal.


    Code
    1. arte HD;Digital Free:114000:C0M256:C:6900:6661=27:6663=fra@3;6662=deu@106:6664;6665=deu,6666=fra:0:11120:61441:10014:0