RM200: lircd.conf =>> eventlircd.d =>>Lircmap.xml

  • Guten Morgen miteinander!


    Ich habe hier einen yavdr 0.4 auf einem Thermaltake 101 mit RM200 frisch aufgesetzt. Abgesehen davon, dass die Setuproutine mir die falsche lircd.conf ins System genagelt hat (habe ich behoben), scheint das Key-Mapping von der RC über Lirc und eventmapping-Gedöhns bis hin zum XBMC nicht richtig zu funktionieren.


    Die zur RM200 gehörende lircd.conf sieht so aus:



    Das Mapping in /etc/eventlircd.d/03_15c2_0038.evmap sieht so aus:



    XBMC erwartet für die RM200 in der /var/lib/vdr/.xbmc/userdata/Lircmap.xml



    Verstehe ich das richtig?
    Lirc setzt die scancodes in die Namen der Tasten um =>> wenn irgendein Name nicht richtig passt, kann man das über eventlircd noch einmal um-mapen, das was dann da 'raus kommt muss dem entsprechen, was xbmc in der Lircmap.xml erwartet und weiterverarbeitet.
    Wenn ich diesen Mechanismus so richtig verstanden habe, müssten in der /etc/eventlircd.d/03_15c2_0038.evmap noch ein paar Tasten umgemapt werden. Ich kann das machen und hier posten, möchte aber vorher gerne wissen, ob ich das so alles richtig verstanden haben.


    ...ach so ja...und wenn mir noch jemand sagt, wie ich auf der RM200 unter XBMC die linke und rechte Maustaste zum rennen bekomme, wäre ich echt happy. ...die spucken schon unter irw nichts brauchbares aus...und ohne die rechte Maustaste (BTN_RIGHT???????) macht xbmc nur halb so viel Spaß! :)



    Viele Grüße und gut's Nächtle
    Stevie

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • AFAIK läuft der Empfänger über rc-core/ir-keytable - damit ist lircd komplett überflüssig. Falls die Tastenbelegung noch nicht passt, musst du bei der Keytable ansetzen (siehe http://www.yavdr.org/documenta…/ch02s03.html#ir-keytable)


    Für XBMC gilt der Abschnitt für das Gerät "devinput" in der Lircmap.xml - der in etwa so aussieht (bei mir mit ein paar Anpassungen) http://paste.ubuntu.com/916687/

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo Seahawk,


    vielen Dank für Deine Antwort...die hat doch schon mal richtig Licht ins Dunkle gebracht! :)


    Mapt eventlircd auch für den XBMC? ...in der von Dir angegebenen Doku läuft alles über den eventlircd und endet im vdr. Aber wenn ich das richtig verstanden habe, steuert (bei Verwendung von XBMC) dieser den vdr??!


    Wenn ich die von Dir angegeben lircmap.xml schaue, sehe ich keine Config für die Maustasten! ...damit würde mir in XBMC immer das Kontextmenü auf der rechten Maustaste fehlen. Die RM200 hat ja diese Tasten....und wenn ich die unter XBMC nicht an den Start bringen kann, müsste ich ständig mit der Maus vor dem TV herum hampeln....das wäre ein echter Showstopper.
    "Timer löschen" geht ohne rechte Maustaste z.B. nicht.


    Kannst Du mich da in die richtige Richtung schubsen?


    Vielen Dank im voraus für Deine Hilfe!


    Stevie

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Mapt eventlircd auch für den XBMC? ...in der von Dir angegebenen Doku läuft alles über den eventlircd und endet im vdr. Aber wenn ich das richtig verstanden habe, steuert (bei Verwendung von XBMC) dieser den vdr??!


    Das ist ein Punkt, der in der Doku in der Tat nicht angesprochen wird (** Auf TODO-Liste schreib **) - XBMC lauscht ebenfalls auf den Socket von eventlircd (/var/run/lic/lircd) und für den VDR wird beim Start von XBMC die Reaktion auf eingaben über die Fernbedienung abgeschaltet (siehe /etc/init/xbmc.conf).


    Die Frage ist, wie die Mausemulation bei deiner Fernbedienung umgesetzt ist - evtl. taucht da mehr als ein Eingabegerät für den Empfänger auf:

    Code
    cat /proc/bus/input/devices


    "Timer löschen" geht ohne rechte Maustaste z.B. nicht.


    Naja, man könnte auch eine FB-Taste für das Kontext-Menü verwenden, bei mir macht das KEY_MODE (in der schon geposteten Lircmap.xml) - ich brauche keine Maus, um XBMC zu bedienen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi Seahawk,


    danke für die Infos! Ist <title> </title> denn das Tag für das Kontextmenü des xbmc ....zumindest hast Du dort KEY_MODE eingetragen.
    Sorry... ist halt alles wieder neu für mich....hier ein halbes Jahr nicht mit gelesen....und das einzige was einem bleibt, ist das Linux-KnowHow...aber damit allein bekommt man heute einen schicken VDR nicht mehr an den Start.


    Viele Grüße
    Stevie

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Ist <title> </title> denn das Tag für das Kontextmenü des xbmc


    Nein nicht ganz - es ist alles noch komplexer besser (für den emsigen User :P): Die Lircmap.xml ist nur das Tastenmapping, das dafür sorgt, dass die "externen" Tastennamen auf die XBMC-Internen Namen umgesetzt werden. Ihre eigentliche Funktion bekommen die Tasten dann über die /var/lib/vdr/.xbmc/userdata/keymaps/remote.xml zugewiesen - da kann man (wenn man es will) punktgenau einstellen, welche Funktion eine Taste abhängig von Menü/Untermenü/Wiedergabemodus in dem man sich befindet hat.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hmmmm....das habe ich verstanden....wo ist das denn für eine ganz normale Maus definiert? ....ich will ja nichts anderes als das sich BTN_RIGHT meiner RM200 genauso verhält wie die rechte Taste einer herkömmlichen Maus. ....dann müsste ich evtl. das Rad nicht komplett neu erfinden.


    Danke im voraus!
    Stevie

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Die Frage ist, wie die Mausemulation bei deiner Fernbedienung umgesetzt ist - evtl. taucht da mehr als ein Eingabegerät für den Empfänger auf:

    Code
    cat /proc/bus/input/devices

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi Seahawk,


    nachstehende der Output von

    Code
    cat /proc/bus/input/devices


    Ich habe hierfür die USB-Maus und -Tastatur vom System getrennt, damit die Ausgabe auch wirklich nur die relevanten Infos enthält.
    Wenn ich das richtig sehe, habe ich nur die Fernbedienung (imon Remote) und das Panel vom Thermaltake 101-Gehäuse.
    Watt nu??? :) Vielen Dank im voraus für Deine Hilfe


    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Kommt denn generell was, wenn du folgendes eingibst und dann die Rechte Maustaste auf der Fernbedienung drückst?

    Code
    sudo irw


    Das müsste das Eingabegerät sein, über das die Mausevents kommen:

    Code
    I: Bus=0003 Vendor=15c2 Product=0038 Version=0002                                                               	
    N: Name="iMON Panel, Knob and Mouse(15c2:0038)"                                                                 	
    P: Phys=usb-0000:00:1d.2-1/input1                                                                               	
    S: Sysfs=/devices/pci0000:00/0000:00:1d.2/usb8/8-1/8-1:1.0/input/input2                                         	
    U: Uniq=                                                                                                        	
    H: Handlers=kbd mouse0 event2                                                                                   	
    B: PROP=0                                                                                                       	
    B: EV=100007                                                                                                    	
    B: KEY=10800320 200000200000000 30000 110000 11000100001 e060000000000 0                                        	
    B: REL=103


    Du kannst ja mal schauen, ob da was für die rechte Maustaste ankommt:

    Code
    sudo stop eventlircd
    sudo apt-get install evtest # falls noch nicht installiert
    sudo evtest /dev/input/event2 #Kann variieren, je nach Reihenfolge der Geräteerkennung, im Zweifelsfall nochmal nachsehen, welche Nummer das Gerät aktuell hat

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Bei irw bleibt es tot!


    Nach dem Stop von eventlircd hat sich die Reihenfolge der Geräteanordung nicht verändert!


    evtest /dev/input/event2


    reagiert auf die Fernbedienung überhaupt nicht! ...auch nicht auf die rechte Maustaste. Wenn ich aber am Geäuse-Panel des Thermaltake 101 eine Taste drücke oder den Drehknopf drehe, kommt da was.


    Aaaaaber...man wundert sich!!


    evtest /dev/input/event3!!!


    also direkt auf "iMON Remote" bringt für
    Linke Maustaste:
    Event: time 1333803022.178410, type 4 (Misc), code 4 (ScanCode), value 1010000
    Event: time 1333803022.178419, type 1 (Key), code 272 (LeftBtn), value 1
    Event: time 1333803022.178421, -------------- Report Sync ------------
    Event: time 1333803022.421507, type 1 (Key), code 272 (LeftBtn), value 0
    Event: time 1333803022.421511, -------------- Report Sync ------------


    und für die rechte Maustaste:
    Event: time 1333803051.170417, type 4 (Misc), code 4 (ScanCode), value 1020000
    Event: time 1333803051.170426, type 1 (Key), code 273 (RightBtn), value 1
    Event: time 1333803051.170428, -------------- Report Sync ------------
    Event: time 1333803051.411507, type 1 (Key), code 273 (RightBtn), value 0
    Event: time 1333803051.411511, -------------- Report Sync ------------


    Das sieht doch gut aus, oder nicht??? ...nur weiß ich jetzt noch immer nicht, wie ich die XBMC unterbringen soll.


    Greetz
    Stevie

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Das sieht doch gut aus, oder nicht??? ...nur weiß ich jetzt noch immer nicht, wie ich die XBMC unterbringen soll.


    Ist die Tasten denn in der Ausgabe von "sudo ir-keytable -r" enthalten (sollte BTN_RIGHT sein)?
    Wie sieht es mit der linken Maustaste aus? Funktioniert die bereits?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hmm...für mich unerwarteter Weise, heißt die linke Maustaste aber BTN_Mouse ....und funktioniert übrigens auch in XBMC noch nicht!


    Code
    =>> ir-keytable -r |grep -i btn                                                                                 	
    Enabled protocols:                                                                                              	
    scancode 0x1010000 = BTN_MOUSE (0x110)                                                                          	
    scancode 0x1010080 = BTN_MOUSE (0x110)                                                                          	
    scancode 0x1020000 = BTN_RIGHT (0x111)                                                                          	
    scancode 0x1020080 = BTN_RIGHT (0x111)                                                                          	
    scancode 0x688301b7 = BTN_MOUSE (0x110)                                                                         	
    scancode 0x688481b7 = BTN_RIGHT (0x111)

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

    Einmal editiert, zuletzt von DSB ()

  • BTN_MOUSE und BTN_LEFT haben den gleichen Scancode (laut der input.h) - das sollte kein Problem sein:

    Code
    #define BTN_MOUSE               0x110
    #define BTN_LEFT                0x110


    Was mir noch nicht klar ist, ist warum die rechte Maustaste nicht durchgereicht wird...
    Geht evtl. sowas:

    Code
    sudo ir-keytable -k 0x1020080=KEY_CHANNEL


    Kommt dann bei "sudo irw" bei gestartetem eventlircd ("sudo start eventlircd") etwas an?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Nein da bleibt alles tot! irw funktioniert aber! ...hier mal die Ausagabe, wenn ich die Taste"1" drücke


    Code
    2 0 KEY_1 devinput


    Drücke ich eine der beiden Maustasten passiert gar nichts.


    Was ich an Deiner Aussage nicht verstehe: Du sagst, laut input.h haben linke und rechte Maustaste den selben scancode (0x110), BTN_RIGHT liefert aber doch gem. ir-keytable den Scancode (0x111). ...da passt doch etwas nicht, oder?

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Was ich an Deiner Aussage nicht verstehe: Du sagst, laut input.h haben linke und rechte Maustaste den selben scancode (0x110)


    Nein ich sage dass es egal ist, ob da BTN_MOUSE oder BTN_LEFT in der Keytable steht - die haben den gleichen Scancode für die Linke Maustaste.


    Dann gehen wir mal zu ir-keytable:
    Was sagt "sudo ir-keytable -t" bei gestopptem eventlircd zur linken und rechten Maustaste?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Code
    1333806073.373064: event MSC: scancode = 1020000                                                                	
    1333806073.373071: event key down: BTN_RIGHT (0x0111)                                                           	
    1333806073.373073: event sync                                                                                   	
    1333806073.613790: event key up: BTN_RIGHT (0x0111)                                                             	
    1333806073.613794: event sync

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Dann bleibt nur die Möglichkeit, dass eventlircd die einfach nicht als Maustasten durchreichen will (was mich wundert, denn in der Manpage steht

    Zitat

    eventlircd supports a subset of the Linux input event types and event codes, and silently discards the event
    types and codes that it does not support. It supports It has complete support for synchronization events
    (EV_SYN), key/button events (EV_KEY), relative axes events (EV_REL), absolute axes events (EV_ABS) It has par‐
    tial support for LED events (EV_LED), supporting the codes for capslock (LED_CAPSL), numlock (LED_NUML) and
    scrolllock (LED_SCROLLL). All other Linux input event types and event codes are not supported.

    ) - hast du mal versucht nach http://www.yavdr.org/documenta…/ch02s03.html#ir-keytable bzw. Hilfsskript für rc-core Empfänger eine angepasste Keytable zu erstellen und die Maustasten als KEY-Events umzubenennen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Nein, das habe ich noch nicht gemacht! Ich nehme an, ich soll das jetzt mal durchführen?


    Was mich auch irritiert: Du hast in Deinem ersten?? Post geschrieben, dass bei rc-core lircd komplett überflüssig ist! Warum läuft der dann auf meinem System? ....und warum erscheint xbmc in der Prozessliste mit Startparameter --lircdev ....nicht, dass sich da etwas ins Gehege kommt.


    Code
    /usr/lib/xbmc/xbmc.bin --standalone --lircdev /var/run/lirc/lircd


    Ich melde mich wieder sobald ich die keytable erzeugt habe.....ca. in einer Stunde ....muss erst mal Happa machen!


    Greetz
    Stevie

    Thermaltake 101 mit Soundgraph-Display 15c2:0038 , Gigabyte H55M-UD2H, TBS-6981, nVidia GeForce 8400 GS/G98, yaVDR 0.4

  • Nein, das habe ich noch nicht gemacht! Ich nehme an, ich soll das jetzt mal durchführen?


    Das würde ich mal probieren.

    Was mich auch irritiert: Du hast in Deinem ersten?? Post geschrieben, dass bei rc-core lircd komplett überflüssig ist! Warum läuft der dann auf meinem System?


    Hast du es evtl. im WFE aktiviert? Was sagt "ps ax | grep lirc"?


    ....und warum erscheint xbmc in der Prozessliste mit Startparameter --lircdev ....nicht, dass sich da etwas ins Gehege kommt.


    Weil XBMC auf den Lirc-Socket lauscht, der von eventlircd unter /var/run/lirc/lircd bereitgestellt wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

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