HAMA Fernbedienung - so geht's richtig

  • Hama MCE Remote (Ortek VRC-1100): Anleitung für yavdr 0.2


    Hallo,
    nachdem ich jetzt lange gekämpft habe, um meine HAMA-Fernbedienung korrekt einzurichten, und von den diversen Anleitungen hier und anderswo ziemlich verwirrt wurde, versuche ich mal eine richtige Anleitung zu schreiben. ;)


    Ein paar Anmerkungen vorweg:
    1) Die Fernbedienung ist ein reines USB-HID. D.h. für das Betriebssystem eine Tastatur und eine Maus. Es ist Unsinn, den Treiber lirc_atiusb zu laden, weil der mit dem Gerät nichts anfangen kann! Mich hat das lirc_atiusb in diversen Anleitungen ziemlich verwirrt, weil ich eine ATI schon am Laufen hatte und dachte, das wird ganz einfach mit der HAMA.


    2) Die Fernbedienung ist wie gesagt eine Tastatur, allerdings sendet sie die wirrsten Tastenkombinationen. Leider versteht VDR keine Tastenkombinationen und kann daher einige Tasten nicht von sich aus unterscheiden (wenn eine CTRL-t hat und die andere CTRL-SHIFT-t). Mit inputlirc (und dem Parameter -c) kann man das aber elegant lösen. Also: Vergesst alle Anleitungen, die kein inputlirc nutzen, weil die die halbe Fernbedienung brach liegen lassen.


    4) Manche Tasten der Fernbedienung sind wirklich identisch, also nicht zu unterscheiden: OK/Enter, Info/rechte Maustaste und Play/Pause. Daher kann die Pause-Taste in VDR nicht benutzt werden! (Andere Player, wie z.B. XBMC nutzen die Play-Taste auch als Pause-Taste, VDR unterscheidet hier aber).


    3) XBMC kann im Gegensatz zu VDR auch Tastenkombinationen auswerten. Damit hat man zwei Alternativen:
    a) Man nimmt auch inputlirc für XBMC. Dann kann man die Fernbedienung wie jede andere Fernbedienung konfigurieren. Hab ich aber nicht gemacht.
    b) Man nimmt für XBMC kein inputlirc. Dann muss man in der keymap.xml die Fernbedienung als "keyboard" konfigurieren. Das hat einen Vorteil: Man kann die Mausfunktion der Fernbedienung nutzen und XBMC auch mit Mauszeiger steuern. Ich habe das bei mir mal so gemacht, allerdings bin ich mir nicht sicher, ob das wirklich sinnvoll ist. Da gibt's ein paar Haken dabei (siehe unten).


    Jetzt die Anleitung:
    1) inputlirc einrichten (siehe auch http://wiki.xbmc.org/index.php?title=Hama_MCE_Remote )
    Für die initiale Konfiguration von inputlirc habe ich im Web-Frontend von yavdr inputlirc aktiviert und einen der beiden zur Auswahl stehenden "HID 05a4:9881"-Empfänger gewählt. Dann ist schon mal sichergestellt, dass die Grundkonfiguration stimmt und inputlirc gestartet wird.


    Das reicht aber nicht:
    Die Fernbedienung meldet sich zwei mal beim System: Einmal als Tastatur und einmal als Maus. Ein paar der Tasten gehören dabei zur Maus und ein paar zur Tastatur. Damit man alle Tasten nutzen kann, muss man inputlirc beibringen, beide Geräte zu nehmen. Das kann er zwar aber es ist leider im Web-Frontend von yavdr nicht vorgesehen, daher muss man Hand an die Konfig-Dateien anlegen.


    Die beiden Geräte sind zwei der /dev/input/event*-Geräte. Je nach System sind das andere. In yavdr 0.2 muss man die aber nicht mühsam suchen, sondern kann einfach /dev/input/by-id/usb-05a4_9881-event-kbd und /dev/input/by-id/usb-05a4_9881-event-mouse nehmen (die sollten überall so heißen).


    Außerdem benötigt inputlirc zusätzliche Aufrufparameter, damit es funktioniert:
    -m0: Ansonsten ignoriert inputlircd diverse Tasten
    -c: Dann wird ein CTRL-SHIFT-t nicht nacheinander als Ctrl-, Shift- und t-Event geschickt, sondern nur ein CTRL_SHIFT_KEY_T Event. Nur so kann VDR mit Tastenkombinationen umgehen.
    -g: Die Devices dürfen nur von inputlirc benutzt werden. Ansonsten bekommt VDR das Event von inputlirc und dann noch das Event von der Tastatur und ein "Auf" wird zu zwei "Auf".


    Eigentlich wollte ich beides (Parameter und Geräte) einfach in /etc/default/inputlirc eintragen. Die wird aber komischerweise nicht gezogen (warum??). Daher habe ich /etc/init/remoted.conf angepasst.


    Also: /etc/yavdr/templates_custom/etc/init/remoted.conf/30inputlirc anlegen mit folgendem Inhalt:


    Zum Original (/usr/share/yavdr/templates/etc/init/remoted.conf/30inputlirc) wurde die Zeile "stop on stopping vdr-frontend" eingefügt (Erklärung unten bei XBMC) und die "exec ..."-Zeile angepasst.


    Danach ein "sudo process-template /etc/init/remote.conf" und am besten einen Reboot.


    Das war's eigentlich schon, die Fernbedienung ist für VDR nutzbar. Anpassungen in lircmd.conf oder hardware.conf sind nicht nötig.
    Zum Konfigurieren löscht man entweder (falls vorhanden) die LIRC.*-Zeilen in der /etc/vdr/remote.conf und lernt sie dann beim Starten von VDR an, oder Ihr könnt folgende Zeilen von mir dort einfügen:


    (ist noch optimierungsfähig)


    Ich hab' noch in /etc/vdr/keymacros.conf den Start von XBMC auf die "Homepage"-Taste (ganz oben rechts) gelegt:

    Code
    User1 @externalplayer Ok


    Wer wissen will, welche Tasten welche Kombination erzeugen: In meiner keymap für XBMC habe ich das teilweise dokumentiert, ansonsten "irw /dev/lircd" aufrufen und ausprobieren.


    2) XBMC
    Wie gesagt wollte ich die Mausfunktion in XBMC erhalten. Da die Event-Devices von inputlirc mit "-g" aber in Beschlag genommen werden, geht das nicht, wenn inputlirc läuft.
    Ich habe das dadurch gelöst, dass inputlirc mit dem vdr-frontend gestartet und gestoppt wird. Das ist durch die "stop on ..."-Zeile in /etc/init/remote.conf gelöst (siehe oben). Damit wird inputlirc automatisch gestoppt, wenn das vdr-Frontend gestoppt wird und wieder gestartet, wenn er wieder startet. Das hat den Zusatznutzen, dass die Mausfunktion in jedem "externalplayer" von VDR verfügbar ist, auch im Firefox.


    XBMC muss man dann nur die ganzen wirren Tastenkombinationen beibringen. D.h. eine keymap-Datei anlegen und entsprechend editieren.
    Hier meine Keymap (einfach als /var/lib/vdr/.xbmc/userdata/keymaps/hama.xml speichern):


    Will man lieber inputlirc nutzen, dann muss man die "stop on ..."-Zeile aus der remoted.conf entfernen und die lircmap.xml korrekt pflegen. Das habe ich aber nicht probiert.


    Offene Punkte/Schwachstellen:
    1) Manchmal ist inputlirc nicht fertig, wenn VDR schon startet. Dann geht die Fernbedienung nicht. Ich hab' jetzt einfach mal ein "sleep 5" in /etc/vdr.conf eingebaut. Ob das reicht, weiß ich noch nicht. Es ist sicher auch keine schöne Lösung.


    2) Die Info-Taste ist die rechte Maustaste. Die lässt sich in XBMC nicht konfigurieren und daher ist sie in XBMC leider meistens nicht passend als "Info". Liese sich nur durch inputlirc für XBMC lösen.


    3) Die virtuelle Tastatur in XBMC reagiert nicht auf die Cursor-Tasten, egal was man in die Keymap einträgt. Das sollte sich mit einer /var/lib/vdr/.xbmc/userdata/advancedsettings.xml lösen lassen:

    Code
    <advancedsettings>
    <navigatevirtualkeyboard>true</navigatevirtualkeyboard>
    </advancedsettings>


    Er liest die Datei zwar laut xbmc.log, aber die Einstellung hat bei mir leider keinen Effekt. Auch das lässt sich mit inputlirc beheben. Oder man wählt die Tasten mit der Mausfunktion, was aber mühsamer ist.
    Edit: Problem gefunden! -> siehe späteres Posting


    Falls noch jemand weitere Tipps hat (Warum zieht /etc/default/inputlirc nicht? Warum die advancedsettings.xml nicht? Wie sieht die lircmap.xml für XBMC mit lircmap aus?): Ich nehme gerne weitere Tipps an.


    Viel Spass :)

  • Sehr guter Beitrag!


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Vielen Dank auch von mir !


    Ein paar Kommentare, da ich das für meine Gyration auch so mache:


    Wenn Inputlirc manchmal nicht geht, liegt es wahrscheinlich eher daran, das das Gerät noch nicht da ist und nicht das remoted nach vdr gestartet wird, also musst du auf das Gerät warten.


    Anstatt -g zu verwenden würde ich eher die Tastaturannahme im Frontend abschalten (XKeySym aus der remote.conf für vdr-sxfe, bei xine in der Keymap alle Tasten auf VOID setzen).

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Danke :)


    Das mit dem Abschalten der Tastatur in VDR ist natürlich auch eine Möglichkeit. Dann braucht man wahrscheinlich den Start/Stop von inputlirc in Abhängigkeit von vdr-frontend auch nicht. Allerdings hatte ich beim Experimentieren auch eine normale Tastatur am Rechner und war manchmal froh, dass ich damit VDR noch bedienen konnte.


    Und mit dem Gerät hast Du auch recht. Manchmal ist es auch mein USB-DVB-Tuner, der nicht rechtzeitig fertig ist. Ein bekanntes Problem.
    Da ich mich erst mal um die Fernbedienung gekümmert habe und die sporadischen Probleme zweitrangig waren: In welchem dieser vielen Threads dazu findet man eigentlich eine vernünftige Anleitung, wie man das Problem sauber in den Griff bekommt?

  • Zitat

    Original von grmpl
    Und mit dem Gerät hast Du auch recht. Manchmal ist es auch mein USB-DVB-Tuner, der nicht rechtzeitig fertig ist. Ein bekanntes Problem.
    Da ich mich erst mal um die Fernbedienung gekümmert habe und die sporadischen Probleme zweitrangig waren: In welchem dieser vielen Threads dazu findet man eigentlich eine vernünftige Anleitung, wie man das Problem sauber in den Griff bekommt?


    Was den DVB-Tuner angeht, warte einfach auf die 0.3 und lebe mit einem sleep in der /etc/init/vdr.conf bis dahin.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Was inputlirc angeht, haben wir auch was eingebaut in der 0.3:


    https://bugs.yavdr.com/project…/remoted.conf/30inputlirc


    Dort werden dann auch die Optionen eingelesen, also die Werte können in der /etc/default/inputlirc gesetzt werden.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Super Beitrag ! Suche schon seit MONATEN nach sowas !


    Habs vor paar Monaten nicht hinbekommen ! Werde es aber mal heute Abend ausprobieren und dir paar Ergänzungen schicken, soweit welche zu finden sind.


    Gruß

    System:
    yaVDR 0.3


    Hardware:
    AMD Sepron X4 e910
    Geforce 8200 Onboard
    4GB Ram


    TV:
    Mystique Cabix 2 HD
    EYE TV Hybride DVB-T Stick
    HAMA MCE
    SCR331-LC1 SC Reader - per PCSCD

  • Hi zusammen,


    ich bin zufällig drüber gestolpert, warum meine advancedsettings.xml keinen Erfolg hatte:
    Der Tipp gilt nur für ältere XBMC-Versionen!


    In der aktuellen Version gibt es dieses Setting nicht mehr, stattdessen gibt es in den Einstellungen eine Option "Fernbedienung sendet Tastatureingaben". Wenn man das aktiviert, kann man auch in der virtuellen Tastatur mit den Cursortasten navigieren.

  • Da steht absichtlich vdr-frontend drin:
    Ich möchte ja, dass sich inputlirc immer beendet, wenn ich einen "externalplayer" aufrufe (XBMC, firefox, terminal,...) und er muss wieder starten, wen ich zurückkomme.
    Und vdr läuft ja dauernd im Hintergrund, nur das frontend wird genau passend gestartet und gestoppt.


    Oder habe ich da einen Denkfehler?
    Es funktioniert zumindest so recht gut, außer dass sich vdr im Log beklagt, dass lirc nicht da ist, wenn das frontend nicht aktiv ist.

  • Ist stoppe ja inputlirc nicht, um den Input bei VDR zu verhindern, sondern um die Devices freizugeben, die inputlirc sonst blockiert.


    Aber Du hast ja recht: Meine Lösung ist nicht so ganz sauber.


    Für alle, die es besser machen wollen, hier die Zusammenfassung was man besser machen könnte (von nicht getestet):
    1) inputlirc ohne "-g" - damit werden die Devices nicht blockiert
    2) inputlirc nicht stoppen, d.h. die start- und stop-Zeilen in 30inputlirc vom Original übernehmen und nicht anpassen:

    Code
    start on starting vdr
    stop on runlevel [016]


    3) die Tastatureingabe in VDR blockieren (laut steffen_b: XKeySym aus der remote.conf für vdr-sxfe, bei xine in der Keymap alle Tasten auf VOID setzen).

  • Zitat

    Original von grmpl
    3) die Tastatureingabe in VDR blockieren (laut steffen_b: XKeySym aus der remote.conf für vdr-sxfe, bei xine in der Keymap alle Tasten auf VOID setzen).


    Das sollte nicht nötig sein. IIRC erledigt das svdrpsend remo off/on auch.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Ach ja, du hast recht, sorry.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hallo Leute,


    ich habe auch die HAMA MCE FB und habe auch schon viele Tutorials durch. Dieses hier scheint mit vielverprechend, aber leider bin ich auch an einer Stelle zunächst gescheitert.


    Bei Einbinden des Events über die ID fehlt mir der Ordner:


    Code
    /dev/input/by-id


    auch ein Ordner /dev/input/by-path, wie er in der ubuntu-wiki angepriesen wird ist bei mir nicht vorhanden.


    cat /proc ... zeigt mit mir folgendes:



    ...und dmesg meldet beim Einstecken:


    Code
    [  363.009232] input: HID 05a4:9881 as /devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.0/input/input7
    [  363.009645] generic-usb 0003:05A4:9881.0003: input,hidraw0: USB HID v1.10 Keyboard [HID 05a4:9881] on usb-0000:00:06.0-3/input0
    [  363.040467] input: HID 05a4:9881 as /devices/pci0000:00/0000:00:06.0/usb4/4-3/4-3:1.1/input/input8
    [  363.041372] generic-usb 0003:05A4:9881.0004: input,hidraw1: USB HID v1.10 Mouse [HID 05a4:9881] on usb-0000:00:06.0-3/input1


    ...also gehe ich davon aus, dass etwas erkannt wurde. Aber irgendwie wird die FB j aanscheinend nicht richtig eingebunden. Weiß nun nicht mehr weiter. Please Help :)


    Tottenberger

  • Hi,
    Dein Kernel erkennt die Fernbedienung, aber die /dev/input/input7 und /dev/input/input8, werden nicht angelegt?
    Du bist Dir sicher, dass Du Deine Ausgabe von /proc... nach dem Einstecken des USB-Empfängers der HAMA-Fernbedienung gezogen hast? ;)


    Wenn der Kernel das Device erkennt aber keine entsprechenden Input-Devices angelegt werden, dann vermute ich, dass an Deinen udev-Regeln was nicht stimmt.


    Du hast einen Sundtek-Empfänger? Ich könnte mir vorstellen, dass dessen Installationsroutine Deine udev-Regeln durcheinander gebracht hat. Wenn ich mir diverse Postings auf dem Sundtek-Supportportal so ansehe, scheint der dort recht tief einzugreifen.

  • jep der installer von sundtek ist in dem Bezug böse und wenig hilfreich. Alle Sundtek remote udev rules aus dem system schmeissen, udev neu starten danach wieder probieren.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • /opt/bin/lirc.sh passt jeweils die LIRC Kofiguration an.


    Schoener waere es wenn man mehrere IR Empfaenger mit Lirc konfigurieren koennte - dem scheint aber nicht so der Fall zu sein.
    Die LIRC Konfiguration wird hauptsaechlich auf das Input node des USB Empfaengers umgeschrieben (mit oben genanntem Skript).


    Dies mag boese fuer die einen sein, aber auch hilfreich fuer die anderen. Besser waere es wie erwaehnt wenn Lirc mehrere Geraete unterstuetzen wuerde.

  • Zitat

    Original von Sundtek
    Dies mag boese fuer die einen sein, aber auch hilfreich fuer die anderen. Besser waere es wie erwaehnt wenn Lirc mehrere Geraete unterstuetzen wuerde.


    IMHO geht das, auch wenn ich es noch nicht selbst gemacht habe. Einfach mehre Lirc-Daemons starten und einer verarbeitet neben den Signalen seiner Fernbedienung auch noch die Ausgaben der andern Daemons. Allerdings sieht das unser Webfrontend nicht vor, man muss also selbst Hand anlegen. Es ist auch nicht absehbar, dass wir in näherer Zukunft ein solches Szenario unterstützen werden, es ist etwas zu exotisch in meinen Augen. Anderes hat einfach höhere Priorität.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

Jetzt mitmachen!

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