gelöst: Wie aktiviere ich einzelne Tasten der Fernbedienung

  • Liebe Forenmitglieder,
    das Thema Fernbedienung ist wie ich weiß ausgesprochen knifflig. Vielleicht kann mir trotzdem jemand helfen.


    Bei meinem neu aufgesetzten yaVdr-Rechner gab es zu Skystar Empangskarte einen USB-IR-Empänger und eine Fernbedienung dabei. Das funktioniert auch ganz gut und daher weiß ich, das es beim VDR und beim XBMC eine Reaktion gibt, wenn man die Back/Exit-Taste drückt. Nun hat diese Fernbedienung keine Play-Taste und auch andere Tasten fehlen, so dass ich nach einer anderen Lösung gesucht habe.


    Ich hatte noch eine Hauppauge-Fernbedienung rumliegen und siehe da: Sie funktionierte auch auf Anhieb. DAs sit ja schon mal gut. Leider funktioniert die Back-Taste nicht und das ist blöd, denn die benutze ich recht oft.


    Folgendes habe ich bis jetzt gepfüft und rausgefunden.


    Die Hauppauge Fernbedienung läuft nicht über den USB-IR-Empfänger sondern über den in meiner Pinnacle-Box eingebauten IR-Empfänger (Pinnacle PCTV 452e Rev. 01 über USB angeschlossen). Den anderen habe ich dann erstmal rausgezogen, um nicht durcheinander zu kommen.


    cat /proc/bus/input/devices liefert:
    I: Bus=0003 Vendor=2304 Product=021f Version=0101
    N: Name="IR-receiver inside an USB DVB receiver"
    P: Phys=usb-0000:00:1d.7-1/ir0
    S: Sysfs=/devices/pci0000:00/0000:00:1d.7/usb1/1-1/rc/rc0/input5
    U: Uniq=
    H: Handlers=kbd event5
    B: PROP=0
    B: EV=100013
    B: KEY=14afc336 284284d00000000 0 480058000 219040000801 9e96c000000000 90020000000ffc
    B: MSC=10


    und


    I: Bus=0000 Vendor=0000 Product=0000 Version=0000
    N: Name="lircd"
    P: Phys=
    S: Sysfs=/devices/virtual/input/input16
    U: Uniq=
    H: Handlers=sysrq rfkill kbd event15
    B: PROP=0
    B: EV=3
    B: KEY=8000000000000000 0 0 7ff0fff 7fe001fffff000f 7ffffffffffffff ffffffff00000000 0 1ffffffffffff07 ffffffffffffffff ffffffffffefffff fffffffffffffffe


    Das scheint OK zu sein.



    Nach:


    katze@yaVDR:~$ sudo stop lircd
    lircd stop/waiting
    katze@yaVDR:~$ sudo stop eventlircd
    eventlircd stop/waiting


    funktioniert die Fernbedienung nur noch eingeschränkt. Es gehen nur noch die Tasten Nach-Links, -Rechts, -Oben, -Unten und die zehn Zifferntasten. Das finde ich sehr seltsam, dass da überhaupt noch was funktioniert.


    Wenn ich dann mit ir-keytable teste, kommt folgendes:


    katze@yaVDR:~$ sudo ir-keytable -t
    Testing events. Please, press CTRL-C to abort.
    1411825834.068540: event MSC: scancode = 1e1f
    1411825834.068545: event key down: KEY_BACK (0x009e)
    1411825834.068546: event sync
    1411825834.168541: event MSC: scancode = 1e1f
    1411825834.168543: event sync
    1411825834.268540: event key up: KEY_BACK (0x009e)
    1411825834.268541: event sync


    katze@yaVDR:~$ sudo ir-keytable -r
    scancode 0x0042 = KEY_POWER (0x74)
    scancode 0x007d = KEY_CHANNELDOWN (0x193)
    scancode 0x0172 = KEY_SHUFFLE (0x19a)
    scancode 0x017d = KEY_VOLUMEDOWN (0x72)
    scancode 0x0242 = KEY_CHANNELUP (0x192)
    scancode 0x0342 = KEY_MUTE (0x71)
    scancode 0x037d = KEY_VOLUMEUP (0x73)
    scancode 0x0443 = KEY_2 (0x03)
    scancode 0x047c = KEY_CHANNEL (0x16b)
    scancode 0x057c = KEY_8 (0x09)
    scancode 0x0643 = KEY_5 (0x06)
    scancode 0x0700 = KEY_MUTE (0x71)
    scancode 0x0701 = KEY_MENU (0x8b)
    scancode 0x0703 = KEY_VOLUMEUP (0x73)
    scancode 0x0706 = KEY_CHANNELUP (0x192)
    scancode 0x0709 = KEY_VOLUMEDOWN (0x72)
    scancode 0x070c = KEY_CHANNELDOWN (0x193)
    scancode 0x070f = KEY_1 (0x02)
    scancode 0x0710 = KEY_3 (0x04)
    scancode 0x0711 = KEY_7 (0x08)
    scancode 0x0712 = KEY_9 (0x0a)
    scancode 0x0715 = KEY_2 (0x03)
    scancode 0x0718 = KEY_4 (0x05)
    scancode 0x071b = KEY_5 (0x06)
    scancode 0x071e = KEY_6 (0x07)
    scancode 0x0721 = KEY_8 (0x09)
    scancode 0x0724 = KEY_SCREEN (0x177)
    scancode 0x0727 = KEY_0 (0x0b)
    scancode 0x072a = KEY_TEXT (0x184)
    scancode 0x072d = KEY_REWIND (0xa8)
    scancode 0x0730 = KEY_PLAY (0xcf)
    scancode 0x0733 = KEY_FASTFORWARD (0xd0)
    scancode 0x0736 = KEY_RECORD (0xa7)
    scancode 0x0739 = KEY_POWER (0x74)
    scancode 0x073c = KEY_STOP (0x80)
    scancode 0x073f = KEY_CANCEL (0xdf)
    scancode 0x0743 = KEY_0 (0x0b)
    scancode 0x077c = KEY_TUNER (0x182)
    scancode 0x0840 = KEY_SCREEN (0x177)
    scancode 0x097f = KEY_6 (0x07)
    scancode 0x0a40 = KEY_9 (0x0a)
    scancode 0x0b70 = KEY_RECORD (0xa7)
    scancode 0x0b7f = KEY_3 (0x04)
    scancode 0x0c41 = KEY_1 (0x02)
    scancode 0x0c4e = KEY_PLAYPAUSE (0xa4)
    scancode 0x0d7e = KEY_7 (0x08)
    scancode 0x0e41 = KEY_4 (0x05)
    scancode 0x0e4e = KEY_CLEAR (0x163)
    scancode 0x0f41 = KEY_LAST (0x195)
    scancode 0x0f4e = KEY_PRINT (0xd2)
    scancode 0x0f71 = KEY_DOT (0x34)
    scancode 0x1d00 = KEY_0 (0x0b)
    scancode 0x1d01 = KEY_1 (0x02)
    scancode 0x1d02 = KEY_2 (0x03)
    scancode 0x1d03 = KEY_3 (0x04)
    scancode 0x1d04 = KEY_4 (0x05)
    scancode 0x1d05 = KEY_5 (0x06)
    scancode 0x1d06 = KEY_6 (0x07)
    scancode 0x1d07 = KEY_7 (0x08)
    scancode 0x1d08 = KEY_8 (0x09)
    scancode 0x1d09 = KEY_9 (0x0a)
    scancode 0x1d0a = KEY_TEXT (0x184)
    scancode 0x1d0d = KEY_MENU (0x8b)
    scancode 0x1d0f = KEY_MUTE (0x71)
    scancode 0x1d10 = KEY_VOLUMEUP (0x73)
    scancode 0x1d11 = KEY_VOLUMEDOWN (0x72)
    scancode 0x1d12 = KEY_CHANNEL (0x16b)
    scancode 0x1d14 = KEY_UP (0x67)
    scancode 0x1d15 = KEY_DOWN (0x6c)
    scancode 0x1d16 = KEY_LEFT (0x69)
    scancode 0x1d17 = KEY_RIGHT (0x6a)
    scancode 0x1d1c = KEY_TV (0x179)
    scancode 0x1d1e = KEY_NEXT (0x197)
    scancode 0x1d1f = KEY_BACK (0x9e)
    scancode 0x1d20 = KEY_CHANNELUP (0x192)
    scancode 0x1d21 = KEY_CHANNELDOWN (0x193)
    scancode 0x1d24 = KEY_LAST (0x195)
    scancode 0x1d25 = KEY_OK (0x160)
    scancode 0x1d30 = KEY_PAUSE (0x77)
    scancode 0x1d32 = KEY_REWIND (0xa8)
    scancode 0x1d34 = KEY_FASTFORWARD (0xd0)
    scancode 0x1d35 = KEY_PLAY (0xcf)
    scancode 0x1d36 = KEY_STOP (0x80)
    scancode 0x1d37 = KEY_RECORD (0xa7)
    scancode 0x1d3b = KEY_GOTO (0x162)
    scancode 0x1d3d = KEY_POWER (0x74)
    scancode 0x1e00 = KEY_0 (0x0b)
    scancode 0x1e01 = KEY_1 (0x02)
    scancode 0x1e02 = KEY_2 (0x03)
    scancode 0x1e03 = KEY_3 (0x04)
    scancode 0x1e04 = KEY_4 (0x05)
    scancode 0x1e05 = KEY_5 (0x06)
    scancode 0x1e06 = KEY_6 (0x07)
    scancode 0x1e07 = KEY_7 (0x08)
    scancode 0x1e08 = KEY_8 (0x09)
    scancode 0x1e09 = KEY_9 (0x0a)
    scancode 0x1e0a = KEY_KPASTERISK (0x37)
    scancode 0x1e0b = KEY_RED (0x18e)
    scancode 0x1e0c = KEY_RADIO (0x181)
    scancode 0x1e0d = KEY_MENU (0x8b)
    scancode 0x1e0e = KEY_GRAVE (0x29)
    scancode 0x1e0f = KEY_MUTE (0x71)
    scancode 0x1e10 = KEY_VOLUMEUP (0x73)
    scancode 0x1e11 = KEY_VOLUMEDOWN (0x72)
    scancode 0x1e12 = KEY_CHANNEL (0x16b)
    scancode 0x1e14 = KEY_UP (0x67)
    scancode 0x1e15 = KEY_DOWN (0x6c)
    scancode 0x1e16 = KEY_LEFT (0x69)
    scancode 0x1e17 = KEY_RIGHT (0x6a)
    scancode 0x1e18 = KEY_VIDEO (0x189)
    scancode 0x1e19 = KEY_AUDIO (0x188)
    scancode 0x1e1a = KEY_MEDIA (0xe2)
    scancode 0x1e1b = KEY_EPG (0x16d)
    scancode 0x1e1c = KEY_TV (0x179)
    scancode 0x1e1e = KEY_NEXT (0x197)
    scancode 0x1e1f = KEY_BACK (0x9e)
    scancode 0x1e20 = KEY_CHANNELUP (0x192)
    scancode 0x1e21 = KEY_CHANNELDOWN (0x193)
    scancode 0x1e24 = KEY_LAST (0x195)
    scancode 0x1e25 = KEY_OK (0x160)
    scancode 0x1e29 = KEY_BLUE (0x191)
    scancode 0x1e2e = KEY_GREEN (0x18f)
    scancode 0x1e30 = KEY_PAUSE (0x77)
    scancode 0x1e32 = KEY_REWIND (0xa8)
    scancode 0x1e34 = KEY_FASTFORWARD (0xd0)
    scancode 0x1e35 = KEY_PLAY (0xcf)
    scancode 0x1e36 = KEY_STOP (0x80)
    scancode 0x1e37 = KEY_RECORD (0xa7)
    scancode 0x1e38 = KEY_YELLOW (0x190)
    scancode 0x1e3b = KEY_GOTO (0x162)
    scancode 0x1e3d = KEY_POWER (0x74)
    scancode 0xeb01 = KEY_POWER (0x74)
    scancode 0xeb02 = KEY_1 (0x02)
    scancode 0xeb03 = KEY_2 (0x03)
    scancode 0xeb04 = KEY_3 (0x04)
    scancode 0xeb05 = KEY_4 (0x05)
    scancode 0xeb06 = KEY_5 (0x06)
    scancode 0xeb07 = KEY_6 (0x07)
    scancode 0xeb08 = KEY_7 (0x08)
    scancode 0xeb09 = KEY_8 (0x09)
    scancode 0xeb0a = KEY_9 (0x0a)
    scancode 0xeb0b = KEY_VIDEO (0x189)
    scancode 0xeb0c = KEY_0 (0x0b)
    scancode 0xeb0d = KEY_REFRESH (0xad)
    scancode 0xeb0f = KEY_EPG (0x16d)
    scancode 0xeb10 = KEY_UP (0x67)
    scancode 0xeb11 = KEY_LEFT (0x69)
    scancode 0xeb12 = KEY_OK (0x160)
    scancode 0xeb13 = KEY_RIGHT (0x6a)
    scancode 0xeb14 = KEY_DOWN (0x6c)
    scancode 0xeb16 = KEY_INFO (0x166)
    scancode 0xeb17 = KEY_RED (0x18e)
    scancode 0xeb18 = KEY_GREEN (0x18f)
    scancode 0xeb19 = KEY_YELLOW (0x190)
    scancode 0xeb1a = KEY_BLUE (0x191)
    scancode 0xeb1b = KEY_CHANNELUP (0x192)
    scancode 0xeb1c = KEY_VOLUMEUP (0x73)
    scancode 0xeb1d = KEY_MUTE (0x71)
    scancode 0xeb1e = KEY_VOLUMEDOWN (0x72)
    scancode 0xeb1f = KEY_CHANNELDOWN (0x193)
    scancode 0xeb40 = KEY_PAUSE (0x77)
    scancode 0xeb41 = KEY_HOME (0x66)
    scancode 0xeb42 = KEY_MENU (0x8b)
    scancode 0xeb43 = KEY_SUBTITLE (0x172)
    scancode 0xeb44 = KEY_TEXT (0x184)
    scancode 0xeb45 = KEY_DELETE (0x6f)
    scancode 0xeb46 = KEY_TV (0x179)
    scancode 0xeb47 = KEY_DVD (0x185)
    scancode 0xeb48 = KEY_STOP (0x80)
    scancode 0xeb49 = KEY_VIDEO (0x189)
    scancode 0xeb4a = KEY_AUDIO (0x188)
    scancode 0xeb4b = KEY_SCREEN (0x177)
    scancode 0xeb4c = KEY_PLAY (0xcf)
    scancode 0xeb4d = KEY_BACK (0x9e)
    scancode 0xeb4e = KEY_REWIND (0xa8)
    scancode 0xeb4f = KEY_FASTFORWARD (0xd0)
    scancode 0xeb54 = KEY_PREVIOUS (0x19c)
    scancode 0xeb58 = KEY_RECORD (0xa7)
    scancode 0xeb5c = KEY_NEXT (0x197)
    Enabled protocols:



    Immerhin kommt der Tastendruck BACK beim Computer an. Der weitere Weg zum VDR ist mir jedoch schleierhaft.
    Vielleicht weiß hier ja jemand einen Rat.

  • Warum läuft da lirc? Der Empfänger nutzt doch einen rc-core Kernel-Treiber.


    Der yaVDR-Namespace sieht vor, dass der Tastenname für die Taste, die eine Menüebene zurück geht, KEY_ESC statt KEY_BACK lauten soll.
    Um den Tastennamen zu ändern solltest du eine angepasste keymap erzeugen und die laden - siehe http://www.yavdr.org/documenta…/ch02s03.html#ir-keytable


    Mit der Ausgabe von "sudo ir-keytable" siehst du die Informationen zum Treiber und der verwendeten Keytable.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)