Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Angeblich sind in der "Standard"-lircd.conf für die devinput-Geräte (REMOTE_LIRCD_CONF="generic/devinput.conf" in der hardware.conf, lircd.conf wie im Wiki-Artikel als Beispiel angegeben; also nur include /usr/share/lirc/remotes/generic/devinput.conf ) alle möglichen (also im Sinne von allen existierenden) Tasten vorgesehen; kannst du das mal versuchen? (Oder war das am Anfang schon mal so?...) so long hank EDIT: Mir fällt gerade auf, dass in der von dir geposteten hardware.conf REMOTE_LIRCD_CONF="generic/devinput-conf"
mit BINDESTRICH stand, nicht mit PUNKT!!! Also wirklich nochmal damit probieren (mit Punkt natürlich) ...
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, hab es nochmal mit generic/devinput.conf probiert, hardware.conf sah so aus:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="Hauppauge Nova-T 500"
REMOTE_MODULES=""
REMOTE_DRIVER="devinput"
REMOTE_DEVICE="/dev/input/by-path/pci-5-1--event-ir"
REMOTE_LIRCD_CONF="generic/devinput.conf"
#REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""
#Chosen IR Transmitter
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
#Enable lircd
START_LIRCD="true"
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"
#Try to load appropriate kernel modules
LOAD_MODULES="true"
# Default configuration files for your hardware if any
LIRCMD_CONF=""
#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD="" Ergebnis war wieder gleich, die Tasten, die mit irrecord erfasst werden konnten liefern ein Resultat die anderen wandern ins Syslog. Tasten die funktionieren sind :
# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.4a(devinput) on Tue Feb 24 20:14:38 2009
#
# contributed by
#
# brand: /tmp/terratec-usb-xxs2
# model no. of remote control:
# devices being controlled by this remote:
#
begin remote
name terratec-usb-xxs
bits 16
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 16
pre_data 0x1
gap 404001
toggle_bit_mask 0x80000000
begin codes
Home 0x0034
1 0x0182
2 0x0177
3 0x0073
4 0x0002
5 0x0003
6 0x0004
7 0x0072
8 0x0005
9 0x0006
AV 0x0007
0 0x0192
A-B 0x0008
DVD 0x00A7
Video 0x0163
Arrow_Up 0x0193
Arrow_Down 0x0071
Arrow_Left 0x0195
Ok 0x000B
EPG 0x000A
Info 0x016B
Music 0x0000
Delete 0x00A4
TV 0x004C
Stop 0x019A
end codes
end remote
die Lircd.conf sieht jetzt so aus:
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.
#Configuration for the Hauppauge Nova-T 500 remote:
#include "/usr/share/lirc/remotes/hauppauge/lircd.conf.hauppauge_novat500"
include "/etc/lirc/terratec-usb-xxs" Heinrich Schwietering schrieb: lircd.conf wie im Wiki-Artikel als Beispiel angegeben; also nur include /usr/share/lirc/remotes/generic/devinput.conf
soll das include alleine in der lircd.conf stehen? vermutlich zusätzlich oder ? sonst wäre das Tastenmapping unbekannt. Ich packe es rein und probiere nochmal. Grüße,
ulkuli.
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, mit 2 includes mag er nicht, dann gehen nicht mal die Tasten, die er zuvor erkannt hatte. Grüße,
ulkuli.
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, stelle gerade fest hab einen Fehler gemacht, der Pfad im include muß in " Zeichen, Ausgabe mit irw klappt jetzt wieder, allerdings ist die 2. Zeile der Ausgabe nun geändert:
0000000000010005 00 8 terratec-usb-xxs
0000000000010005 00 4 linux-input-layer
vorher:
0000000000010006 00 9 terratec-usb-xxs
0000000000010006 00 9 terratec-usb-xxs
Wenn ich mich richtig erinnere waren die Beispiele in einem der How-tos auch so (2. Zeile = Linux input layer) Grüße,
ulkuli.
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Na, dann funktionieren die linux-input-layer Anweisungen grundsätzlich? Du brauchst natürlich nur ein include , sonst gibt's ggf. Konfusion, und du bekommst, wie du siehst, zwei Ausgaben, eine für "deine" lircd.conf (die du mit irrecord" erstellt hast) und die "linux-input-layer"-Version. (Das mit den fehlenden Anführungsstrichen hatte ich schon verbaselt, sorry...) Die Beispielkonfiguration aus dem Wiki-Artikel besteht ja eigentlich nur aus der einen include -Zeile; alles andere sind Kommentare... Gehen denn alle Tasten mit der linux-input-layer -Konfiguration? Oder tauchen da auch Sachen nur im syslog auf? so long hank EDIT: Ich weiß nicht wie relevant das ist, aber wenn du "linux-input-layer" verwendest, sollte in der hardware.conf REMOTE="Linux input layer (/dev/input/eventX)"
stehen.
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, mit der linux-input-layer-Konfiguration gehen auch nur dieselben Tasten, der Rest taucht im Syslog auf. Gemäß dem v4l-dvb Wiki habe ich v4l-dvb hinzugefügt, allerdings wurden erst wieder zuverlässig FB Eingaben übernommen, nachdem ich, wie Du vorgeschlagen hast, REMOTE="Linux input layer (/dev/input/eventX)" eingebaut habe. Ich habe noch das hier gefunden http://www.linuxtv.org/wiki/index.php/TerraTec_Cinergy_T_USB_XXS und übersetzte gerade nochmal neu. Grüße,
ulkuli. PS: Die Anzahl der richtig übertragenen FB Tasten ist unverändert.
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Ja, den link hatte ich weiter oben schon mal erwähnt; das wird vorgeschlagen, dass du in linux/drivers/media/dvb/dvb-usb/dib0700_devices.c statt der Nova-T-Karte die Terratec einsetzt, danach musst du dann allerdings wieder neu kompilieren... Dass du die Unterstützung für TerraTec MyTV verlierst, ist wohl eher ein Fehler, es geht wohl mehr um die Hauppauge.Karte, aber den Support brauchst du auch nicht... so long hank
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, keine Änderung im Umfang der erkannten Tasten, im Gegenteil ich habe das Gefühl, daß seit dem Umstieg auf v4l-dvb die Fehlerrate beim Erkennen der bekannten Tasten angestiegen ist. Meines Erachtens liegt die Ursache nicht bei Lirc sondern irgendwo früher, da "unbekannte Zeichen" im Syslog landen. Hatte schon mal so einen ähnlichen Fall an einem anderen Laptop bei dem Funktionstasten nicht erkannt wurden weil sie in einer Übersetzungstabelle gefehlt haben. Leider keine Ahnung wo anfangen mit dem Suchen. Grüße,
ulkuli.
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, leider streikt nun meine Fernbedienung (scheint defekt zu sein, da keine Zeichen mehr im Syslog ankommen, mit einer Fernseh FB klappts), aber ich habe noch ein interessantes Link gefunden: http://www.ureader.de/msg/125922198.aspx . Im Post vom: "Datum: Wed, 25 Jun 2008 19:43:48 +0200 Autor: M. Hagedorn", wird beschrieben, daß man eine Debug Ausgabe einschalten kann und dann versuchen muß die Key Translation Tabelle zu ermitteln. Die Debug Ausgabe kann bei mir im File dib0700_device.c, Zeile 601 und 606 durch entfernen von /* bzw */ eingeschaltet werden. Da meine FB leider kaputt ist, kann ich zZ. nicht weitermachen. Melde mich aber wieder wenn ich eine Neue habe. Grüße,
ulkuli.
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Leider streikt nun meine Fernbedienung
Mal die Batterien gewechselt? 😉 Ruf dir mal
man setkeycodes
auf, ich könnte mir vorstellen, dass das das ist, was du brauchst... Vielleicht geht auch dieses: inputlirc; aber das weiß ich auch nicht so genau... so long hank
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, nachdem ich eine neue FB bekommen habe, ging garnichts mehr, weder irw noch das syslog hat irgendwas ausgespuckt. Ich habe daraufhin v4l-dvb rausgeworfen, - ich meine im LIRC Wiki steht auch irgendwo, daß für 8.10 v4l-dvb schon im Kernel drin ist. Mit setkeycodes habe ich auch experiementiert, aber hat nicht hingehauen, es steht auch irgendwo in der man page, daß es mit dem Tastaturtreiber zusammenarbeitet. Habe mir mal die im Syslog angemahnten Codes notiert zB.:
Taste FB Code blau 06 7c gelb 0e 7e grün 01 42 rot 0b 40 Im File /usr/include/linux/input.h hören die Key Definitionen bei mir bei 0x1ff auf, die angemeckerten Codes sind teilweise deutlich höher. Vermutlich wird einen Erweiterung dieser Datei nichts bringen oder? da sie nur bei kompilieren benützt wird? Grüße,
ulkuli
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
ulkuli schrieb: Hallo, nachdem ich eine neue FB bekommen habe, ging garnichts mehr, weder irw noch das syslog hat irgendwas ausgespuckt. Ich habe daraufhin v4l-dvb rausgeworfen, - ich meine im LIRC Wiki steht auch irgendwo, daß für 8.10 v4l-dvb schon im Kernel drin ist.
Yupp, das ist so. Mit setkeycodes habe ich auch experiementiert, aber hat nicht hingehauen, es steht auch irgendwo in der man page, daß es mit dem Tastaturtreiber zusammenarbeitet.
Hm. irgendwo hatte ich etwas zum Umschreiben der keymaps gelesen, dann geht das vielleicht mis sytkeycodes auch nicht... Schade! Habe mir mal die im Syslog angemahnten Codes notiert zB.:
Taste FB Code blau 06 7c
TastenNr. 1670 😀 gelb 0e 7e
3710... 😲 grün 01 42
322, sollt gehen rot 0b 40
2880..... 🤣 Im File /usr/include/linux/input.h hören die Key Definitionen bei mir bei 0x1ff auf, die angemeckerten Codes sind teilweise deutlich höher. Vermutlich wird einen Erweiterung dieser Datei nichts bringen oder? da sie nur bei kompilieren benützt wird?
Theoretisch sollte das gehen, du müsstest dazu aber wohl den Kernel neu kompilieren (und davon hab ich zumindest keine Ahnung...) Damit scheidet aber die Version inputlirc zu nutzen wohl auch aus... Irgendwo hatte ich aber was vielversprechendes gesehen, ich such nochmal... so long hank
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Was passiert, wenn du die codes, die du bekommst, in /usr/share/lirc/remotes/generic/devinput.conf einbaust, also in der Art GREEN 0x10142
YELLOW 0x10e7e
RED 0x10b40
BLUE 0x1067c etc. für alle Tasten, die du so nicht verwenden kannst? Ist natürlich ein bisschen mühsam, alle rauszuschreiben; und du müsstest eventuell checken, ob die codes nicht schon anderweitig vergeben sind - der von GREEN taucht beispielsweise als BTN_TOOL_BRUSH 0x10142
auf; solche dann ggf. auskommentieren, wenn du sie nicht brauchst. Wenn du dann in deiner hardware.conf als REMOTE="Linux input layer (/dev/input/eventX)" , REMOTE_DRIVER="devinput" , REMOTE_LIRCD_CONF="generic/devinput.conf" und dein "REMOTE_DEVICE " verwendest, und als lircd.conf auf generic/devinput.conf verweist (also die Einstellungen verwendest, die ich in Lirc als Beispielkonfigurationen verwendet habe), könnte es vielleicht klappen. Oder du versuchst, die aus dem syslog ermittelten codes direkt in deine lircd.conf mit aufzunehmen, also so: GREEN 0x0142
YELLOW 0x0e7e
RED 0x0b40
BLUE 0x067c Das wäre noch einfacher; beides wäre einfacher, als den Kernel neu zu kompilieren... Was mir noch einfiele, wäre die Belegungen in input.h aufzunehmen
| #define KEY_GREEN 0x142
#define KEY_YELLOW 0xe7e
#define KEY_RED 0xb40
#define KEY_BLUE 0x67c
|
etc. und dann inputlirc neu zu kompilieren und zu verwenden; es greift auf input.h zurück (aber ich weiß nicht, ob das so funktionieren würde). good luck! so long hank
|
ulkuli
(Themenstarter)
Anmeldungsdatum: 4. Februar 2007
Beiträge: 53
|
Hallo, ich habs hinbekommen, hat sich doch rentiert früher mal bein bißchen C gelernt zu haben ☺ unter ' <dein home>/v4ldvd/linux/drivers/media/dvb/dvb-usb ' ist die Datei dib0700_devices.c zu finden. Jenachdem welche Firmware eingesetzt wird, kann entweder in der Funktion dib0700_rc_query_v1_20 oder der Funktion dib0700_rc_query_legacy (Firmware < 1.20) durch entfernen der Kommentarzeichen /* und */ um den Befehl: info("%d: %2X %2X %2X %2X",dvb_usb_dib0700_ir_proto,(int)key[3-2],(int)key[3-3],(int)key[3-1],(int)key[3]); eine weiter Debugausgabe mit den zugeordneten Tastencodes eingeschaltet werden. Die ersten beiden Zahlenpaare definieren den Tastencode. In der Definition der Stuktur: static struct dvb_usb_rc_key dib0700_rc_keys[] = { bei mir ca. ab Zeile 683, können die über Debugausgabe oder über das Syslog ermittelten nicht definierten Tastencodes entsprechend geändert werden. Beispiel: für die rote Taste vorher { 0xeb, 0x17, KEY_RED } geändert in { 0x0b, 0x40, KEY_RED } führt dazu, daß die Taste dann mit irw korrekt angezeigt wird. Natürlich muß nach jeder Änderung des C-Files v4l-dvd neu kompiliert und installiert werden. An sich benötige ich vermutlich nur den Treiber dvb_usb_dib0700.ko und es würde vielleicht ausreichend sein anstatt das komplette v4l-dvd Paket zu installieren nur diesen Treiber mit modprobe auszutauschen, aber hier kenne ich mich leider nicht gut aus. Die in Deinem letzten Beitrag beschriebenen Maßnahmen greifen vermutlich nicht, da die Funktion dib0700_rc_query des Treibers m.E. direkt von der Schnittstelle des Devices einliest und nur diejenigen Zeichen weitergibt, die in der Struktur dvb_usb_rc_key zu finden sind. Für alles was nicht gefunden wird nur eine Fehlermeldung ausgegeben aber nichts an irw oder andere darüberliegende Prozesse. Werde nochmal probieren ob es reicht nur den kompilierten Treiber auszutauschen und melde mich wieder. Viele Grüße,
ulkuli.
|
Heinrich_Schwietering
Wikiteam
Anmeldungsdatum: 12. November 2005
Beiträge: 11288
|
Hi! Na, alles wird gut. 👍 .. Aber vielleicht ist das ganze noch viel einfacher, schau hier mal... 😉 so long hank
|