Login
Newsletter
Werbung

Thema: Einstieg in LIRC mit inputlirc

25 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von 1ras am Do, 15. Mai 2014 um 15:34 #

Wenn die Fernbedienung bereits als Input Device zur Verfügung steht, wofür braucht man dann noch lirc? Die meisten Tasten sind doch ohnehin schon korrekt zugeordnet, drückt man beispielsweise die Taste 1 ist dies gleichbedeutend mit der 1 auf dem Nummernblock. Tasten die fehlen lassen sich z.B. mit

ir-keytable --set-key 0x1e19=213

entsprechend mappen. Wenn sie auch in X11 fehlen, lassen sie sich z.B. mit

xmodmap -e "keycode 221 = XF86Music"

entsprechend unter X11 mappen. Und soll die Taste dann bei längerem Tastendruck nicht wiederholt werden (wäre z.B. für die Mute-Taste interessant), lässt sich dies z.B. mit

xset -r 221

einstellen.

Nun hat man die Music-Taste der Fernbedienung (WinTV NOVA HD-S2) der X11-Taste XF86Music zugeordnet und kann diese über die Tastenzuordnung des Desktops oder einer Applikation entsprechend nutzen.

lirc kommt hier nicht vor und ist überflüssig.

Dieser Beitrag wurde 1 mal editiert. Zuletzt am 15. Mai 2014 um 15:37.
[
| Versenden | Drucken ]
  • 0
    Von Pffft... am Do, 15. Mai 2014 um 20:16 #

    Das funzt aber nur, wenn der Fernbedienungsempfänger und damit eben auch die Fernbedienung für den Computer gedacht sind. Es hilft nicht, wenn man z.B. die zusätzlichen, normalerweise für einen CD-Spieler gedachten Knöpfe einer Receiver-Fernbedienung für die Steuerung des Computers benutzen will. Denn dann braucht man einen Fernbedienungsempfänger, der das Protokoll der gewüschten Fernbedeinung spricht und man landet bei LIRC.

    [
    | Versenden | Drucken ]
    • 0
      Von 1ras am Do, 15. Mai 2014 um 20:38 #

      Sicher, aber in dem Artikel geht es doch nur um Empfänger, welche vom Linux-Kernel als Eingabegeräte erkannt werden:

      Dieser Artikel zeigt eine einfache Lösung mit inputlirc auf, die alle Infrarot-Empfänger unterstützt, die als Human Interface Device (HID) implementiert sind.

      [
      | Versenden | Drucken ]
    0
    Von Nicola am Fr, 16. Mai 2014 um 00:13 #

    Für die bekannten Multimedia und Funktionstasten passt das so bestimmt.

    Aber um VLC oder irexec zu steuern eigenet sich LIRC doch besser, einfach weil das Interface so gegeben ist. Oder gibt es für deinen Ansatz ein Interface-Modul im VLC?

    [
    | Versenden | Drucken ]
    • 0
      Von 1ras am Fr, 16. Mai 2014 um 01:29 #

      Eine Fernbedienung ist nichts anderes als eine zusätzliche Tastatur.

      Früher hatte der Linux-Kernel Fernbedienungen jedoch nicht selbst erkannt und als Eingabegeräte behandelt sondern man benötigte ein zusätzliches Programm Namens lirc um diese ansprechen zu können. Lirc hat dazu eine parallele Infrastruktur aufgebaut und über ein eigenes Protokoll die Tasten der Fernbedienung an die Programme weitergegeben.

      Dies war aus der Not heraus geboren aber nie besonders sinnig, denn z.B. Die Play, Stop oder Lautstärketasten einer Fernbedienung wurden so unterschiedlich zu den selben Tasten auf einer Multimedia-Tastatur oder Multimedia-Maus behandelt.

      Vom modernen Linux Kernel wird deshalb eine Fernbedienung als Eingabegerät behandelt, so wie alle anderen Eingabegeräte auch. Der Linux-Kernel ordnet den Tasten auf der Fernbedienung Tastencodes zu, so wie jeder anderen Tastatur auch.

      Programme können nun wie gewohnt auf diese Tasten reagieren, so wie sie es schon immer getan haben mit jeder anderen Tastatur.

      Es besteht kein Unterschied ob man eine Taste auf der PC105-Tastatur, auf einer Multimedia-Tastatur oder auf einer Fernbedienung drückt. Es wird keine parallele Infrastruktur mehr benötigt und Tasten mit der selben Funktion werden identisch behandelt.

      Weshalb sollte man nun eine Fernbedienung welche vom modernen Linux-Kernel bereits als Tastatur angesehen wird und ganz normale Tastencodes besitzt in lirc einbinden um diese über eine parallele und mittlerweile veraltete Infrastruktur zu übertragen?

      Mir fällt als Antwort einzig Kompatibilität zu alten Programmen ein welche nicht per Tastatur gesteuert werden können, aber eine lirc-Schnittstelle besitzen.

      [
      | Versenden | Drucken ]
      • 0
        Von Gast_ am Fr, 16. Mai 2014 um 10:42 #

        leider funktionier das nur in der Theorie.

        Es gibt mittlerweile ziemlich viele verrückte Tasten auf einer FB.
        Die mitgelieferten keymaps sind auch ziemlich gut und bei mir wurde immer jede Taste korrekt erkannt.

        - Drücke ich die 1 auf der FB so ist es als drückt man die 1 auf der Tastatur.
        - Drücke ich Taste Mute auf der FB so wird die Taste X11Mute gedrückt
        - Drücke ich die Taste "Springe zum letzten Sender" so wird X11LetztereSender ausgelöst...und da liegt das Problem!

        Die Taste 1 hat den Code xy und die Taste X11Mute hat den Code xyz ( 255)

        Codes größer als 255 kann der xorg nicht. und wird es auch niemals können.

        1. Es gab jemanden, der die Taste X11LetzterSender eingeführt hat mit dem Wissen dass der xserver diese Taste niemals verarbeiten kann
        2. Gibt es Leute welche die keymaps erstellen und diese Taste auf die FB mappen wobei sie genau wissen, dass diese Taste niemals funktionieren wird.

        Keine Ahnung was sich diese Entwickler dabei gedacht haben.

        Es gibt xorg patches, welche dieses Problem lösen, jedoch mappen die intern einfach nur um.

        Um dieses Problem zu lösen gibt es 2 Möglichkeiten:
        - lirc nutzen (extra prog nötig)
        - in der keymap die FB-Taste "LetzterSender" auf eine andere Taste manuell mappen (zb. "L") und in der Mediasoftware L als "Springe zum letzten Sender" definieren

        letztere Lösung nutze ich, da ich mir lirc sparen wollte.

        xorg kann per Definition nur 255 unterschiedliche Tasten, mehr gehen nicht und werden auch niemals gehen (Designfehler)

        Hab mich wirklich lange Zeit mit dem Thema beschäftigt.

        Und auch für irexec benötigt man lirc nichtmehr, auch da gibts andere Möglichkeiten.

        [
        | Versenden | Drucken ]
        • 0
          Von Gast_ am Fr, 16. Mai 2014 um 10:44 #

          oops ;)

          spitze Klammer sind scheinbar nicht gut

          "Die Taste 1 hat den Code xy und die Taste X11Mute hat den Code xyz ( 255)"

          sollte eigentlich heißen:
          Taste 1 und X11Mute haben einen Code kleiner gleich 255 und X11LetzerSender hat einen Coder größer als 255

          [
          | Versenden | Drucken ]
          • 0
            Von 1ras am Fr, 16. Mai 2014 um 11:10 #

            Ich stimme dir zu, die Einschränkung mit Tastencodes größer 255 ist nicht gut gemacht und leider ein Überbleibsel aus der Vergangenheit wo dies nicht wichtig war.

            Unter X11 gibt es XF86Launch0 bis XF86Launch9 und XF86LaunchA bis XF86LaunchF welche sich gut für solche Tasten nutzen lassen wofür es keine eigene X11-Taste gibt.

            [
            | Versenden | Drucken ]
            • 0
              Von Gast_ am Fr, 16. Mai 2014 um 12:14 #

              gute Tipp, das wusste ich noch nicht...hab bei mir alle krass verrückten Tasten in der Map umgebogen.
              relativ nervig, da die Maps unter Arch nicht als configs geklariert sind und deshalb bei einem update überschrieben werden.

              sicher dass diese Launch-Teile auch einen Code unter 255 haben?

              [
              | Versenden | Drucken ]
              • 0
                Von 1ras am Mo, 19. Mai 2014 um 19:45 #

                Ja klar, die vom System bereits vordefinierten (XF86Launch1 bis XF86LaunchB bei mir) sind unter 255. Die restlichen soweit benötigt muss man sich erst noch selbst definieren, ich habe sie auf 251 bis 255 gelegt, was noch frei war.

                Die Zuordnung ist hald nicht 1:1, weil der Linux-Kernel diese Tasten unter anderem Namen kennt. Bei mir sieht es dann so aus (Auszug):

                console_keycode console_keyname X11_keycode X11_keyname
                120 KEY_SCALE 128 XF86LaunchA
                148 KEY_PROG1 156 XF86Launch1
                184 KEY_F14 192 XF86Launch5
                185 KEY_F15 193 XF86Launch6
                186 KEY_F16 194 XF86Launch7
                187 KEY_F17 195 XF86Launch8
                188 KEY_F18 196 XF86Launch9
                204 KEY_DASHBOARD 212 XF86LaunchB
                243 KEY_BRIGHTNESS_CYCLE 251 XF86Launch0
                244 KEY_BRIGHTNESS_ZERO 252 XF86LaunchC
                245 KEY_DISPLAY_OFF 253 XF86LaunchD

                [
                | Versenden | Drucken ]
              0
              Von steffen_b am Mo, 19. Mai 2014 um 13:58 #

              Hilft dir aber wirklich garnichts wenn du es richtig belegen willst. Wenn die Einschränkung auf 255 Tasten endlich weg wäre ... bräuchte man wahrscheinlich kein Lirc mehr. Bleibt noch das Problem, ob man einer Anwendung eine Tastatur zuordnen kann zumindest zeitweise. Weil das macht man mit Lirc auch gerne. (Steuerung von Daemons)

              [
              | Versenden | Drucken ]
              • 0
                Von 1ras am Mo, 19. Mai 2014 um 20:06 #

                Mit einer vom Kernel unterstützten Fernbedienung besteht die Grundfunktionalität bereits Out-of-the-Box, z.B. die Lautstärkeregelung. Auch bei vielen Programmen sind diese Tasten bereits korrekt vorbelegt. Für die Grundfunktionen muss man im Idealfall also überhaupt nichts konfigurieren, es funktioniert einfach.

                Für die Zusatzfunktionen für die X11 keine eigene Tastenbezeichnung besitzt nimmt man hald freie Allerweltsbezeichnungen wie die genannten XF86Launch-Tasten wovon 16 zur Verfügung stehen. Die Namen sind doch nur Schall und Rauch. Auch bei lirc müsste man jede einzelne Taste davon manuell bis zur Applikation durchmappen, es ist also kein Mehraufwand.

                Applikationen auf Tastendruck starten kann oftmals bereits der Desktop, z.B. bei KDE lässt sich über kmenuedit jedem Programm eine Taste zuordnen.

                [
                | Versenden | Drucken ]
                • 0
                  Von steffen_b am Di, 20. Mai 2014 um 12:45 #

                  Ich denke du hast das nicht zu Ende gedacht.

                  Wenn eine Fernbedienung einen Nutzen haben soll, dann hilft es nicht wenn 5 von 100 Tasten belegt sind. Wäre ja auch bei einer Tastatur nicht so schön.
                  Das man sie nachbelegen kann ist schön und gut, aber wenig hilfreich. OotB geht sie deswegen immernoch nicht vollständig. Ausserdem helfen 10 Tasten da nicht wirklich.

                  Gängige Tasten von FB sind in X11 nicht vorgesehen. Vergleiche doch mal die gängigen Tasten im Inputframework mit den verfügbaren Tasten in X11.

                  Wenn sie hardwareseitig gehen, aber nicht benutzt werden können, ist doch niemandem geholfen.

                  Die Bindung des Gerätes an Applikationen hast du missverstanden. Du willst wahrscheinlich nicht, das Buchstaben oder Zahlen einer Tastatur das gleiche bewirken wie Zahlen auf einer FB - hier kann T9 Buchstabeneingabe erwartet sein oder andersrum einfach Zahlenausgabe an die Appl. im Forkus, während die FB die Sender wechselt.

                  Anyway - zur Anbindung von Input-FB als Lirc Geräte eignet sich eventlircd besser. OpenElec oder yaVDR liefern damit eine Vorkonfiguration für FB aus.

                  Das lässt sich leider anders nicht bewerkstelligen solange die X11 Leute sich nicht mit den input Leuten einigen.

                  [
                  | Versenden | Drucken ]
                  • 0
                    Von 1ras am Di, 20. Mai 2014 um 15:27 #

                    Wenn eine Fernbedienung einen Nutzen haben soll, dann hilft es nicht wenn 5 von 100 Tasten belegt sind.

                    Man hat jedoch bereits eine Out-of-the-box Grundfunktionalität auf welche man schrittweise aufbauen kann.

                    Ich habe bei mir auch sämtliche Tasten belegt, regelmäßig benutzte ich davon jedoch nur sehr wenige und so wird es vielen gehen.

                    Das man sie nachbelegen kann ist schön und gut, aber wenig hilfreich.

                    Bei lirc muss du sie auch erstmal belegen, genau davon handelt der Artikel den du gerade kommentierst.

                    Gängige Tasten von FB sind in X11 nicht vorgesehen.

                    Was im Einzelfall vollkommen egal ist ob die Taste welche mit "Prev.CH" auf der Fernbedienung beschriftet ist in X11 nun XF86Launch7 heißt. Die Taste wird einmal zur Applikation durchbelegt und fertig.

                    Damit mag man keinen Designpreis gewinnen, doch mit dem Aufbau einer Parallelinfrastruktur unter Zuhilfenahme mehrerer Daemons gewinnt man ihn auch nicht.

                    Die Bindung des Gerätes an Applikationen hast du missverstanden. Du willst wahrscheinlich nicht, das Buchstaben oder Zahlen einer Tastatur das gleiche bewirken wie Zahlen auf einer FB - hier kann T9 Buchstabeneingabe erwartet sein

                    Diese Funktionalität muss so und so auf Applikationsebene implementiert sein, in beiden Fällen.

                    Auf der anderen Seite kann man auch wieder fragen weshalb die Multimedia-Tasten einer Tastatur oder einer Maus völlig anders behandelt werden sollen als die selben Tasten einer Fernbedienung. Denn genau das macht lirc.

                    oder andersrum einfach Zahlenausgabe an die Appl. im Forkus, während die FB die Sender wechselt.

                    Was mit lirc auch nur so lange funktioniert, so lange du nur eine Applikation gestartet hast welche die Taste nutzt.

                    Ich stimme mit dir insofern überein, dass beides nicht die Optimallösung darstellt und du für beides keinen Preis gewinnen wirst. Bei beiden kannst du Vor- und Nachteile in speziellen Anwendungsfällen finden was in beiden Fällen den Großteil der Nutzer nicht betreffen wird.

                    Ich wollte aufzeigen, dass lirc keinesfalls mehr automatisch erforderlich ist wenn es um die Nutzung einer Fernbedienung geht, so wie dies früher noch der Fall war. Es macht deshalb durchaus Sinn sich zu überlegen ob man lirc wirklich noch benötigt, bevor man blindlings einen so abenteuerlichen Konstrukt wie das Umbiegen eines Eingabegerätes zur veralteten lirc-Infrastruktur umsetzt.

                    [
                    | Versenden | Drucken ]
                    • 0
                      Von steffen_b am Mi, 21. Mai 2014 um 14:22 #

                      Ich verstehe dich schon geht aber wie gesagt an der Praxis vorbei.

                      Das einzig sinnvolle ist:
                      Die Applikation kann sagen KEY_PREV_CHANNEL -> Sender rauf -> geht nicht X11 kann nur 255 Tasten.
                      Dementsprechend gibt es in vielen dieser Anwendungen Tasten-Funktions-Mappings.
                      Die meisten dieser Anwendungen können auch LIRC.
                      Die Anwendungen die es nicht können, kriegst du per irexec.
                      HTPC baust du nicht mit KDE oder Gnome.

                      Was ist deine Lösung ? Das abenteuerliche Konstrukt ist in der Realität ziemlich einfach und funktioniert.

                      Es geht auch bereits andersrum. Man kann also lirc über --uinput Tastendrücke schicken lassen. Dann brauch man kein LIRC bei den Anwendungen. Aber gewinnt man dadurch etwas ?

                      Soll heißen - es ist in der Realität sinnvoller als dir scheint. Und im Artikel ist ja auch beschrieben, wie man die Tasten umbelegen kann (ir-keytable) - so denn die FB Teil des RC Frameworks ist.

                      [
                      | Versenden | Drucken ]
                      • 0
                        Von 1ras am Mi, 21. Mai 2014 um 15:05 #

                        Der Artikel beschreibt das Tastenmapping vom Kernel zu lirc, das Tastenmapping von lirc zur Applikation und das dafür nötige starten mehrere Daemons. Hier wird wohl die Frage erlaubt sein müssen, warum man sich das antun sollte, wenn es in vielen Fällen auch einfacher geht und die Grundfunktionalität sogar bereits Out-of-the-box zur Verfügung steht.

                        Außerdem wird auch der Hinweis erlaubt sein müssen, dass lirc keinesfalls mehr notwendig ist um Fernbedienungen nutzen zu können, so wie dies früher mal der Fall war.

                        Ich empfehle deshalb weiterhin jedem Anwender als erstes zu prüfen, ob lirc für den gewünschten Anwendungszweck überhaupt benötigt wird.

                        [
                        | Versenden | Drucken ]
        0
        Von Nicola am Fr, 16. Mai 2014 um 18:02 #

        Stimmt, man benötigt LIRC nicht mehr wirklich. Das überzeugt schon.
        Danke fürs Augen öffnen ;-)

        Ich behaupte aber einfach mal, das sich LIRC besser konfigurieren lässt, bezogen auf die lircrc.

        [
        | Versenden | Drucken ]
        • 0
          Von 1ras am Mo, 19. Mai 2014 um 20:28 #

          Ich behaupte aber einfach mal, das sich LIRC besser konfigurieren lässt, bezogen auf die lircrc.

          Woran machst du das für dich fest?

          Ich kann ja nur von mir sprechen und dort haben die Grundfunktionen bereits ohne jegliche Konfiguration Out-of-the-Box funktioniert. Der erste Erfolg hat sich also unmittelbar nach Einbau der Hardware eingestellt. Nur um die Zusatzfunktionen musste ich mich noch kümmern. Die gewünschte Funktionalität konnte ich zusammen mit dem Desktop und den jeweiligen Programmen komplett abdecken und ich kann auf die ganzen Daemons (lircd/inputlircd, irxevent, irexec) verzichten.

          [
          | Versenden | Drucken ]
    0
    Von Kevin am Fr, 16. Mai 2014 um 08:30 #

    Seit ich Linux nutze ( 3 Jahre) habe ich das noch nicht gebraucht. Fernbedienung geht doch leichter über ne App.

    [
    | Versenden | Drucken ]
    • 0
      Von Gast_ am Fr, 16. Mai 2014 um 10:30 #

      oh ja, die Haptik ist bei Apps natürlich ungeschlagen.

      [
      | Versenden | Drucken ]
      • 0
        Von Kevin am Sa, 17. Mai 2014 um 07:41 #

        Ja, die Haptik von Gummi- und -Folientastaturen ist echt was für Kenner!

        [
        | Versenden | Drucken ]
        • 0
          Von Gast_ am Sa, 17. Mai 2014 um 11:21 #

          sry, das Wort "App" ist definiert als "Programm, welches auf kleinen Touchgeräten läuft"

          [
          | Versenden | Drucken ]
          • 0
            Von Kevin am Sa, 17. Mai 2014 um 12:07 #

            Du bist mit den Fernbedienungen daher gekommen und hast suggeriert,
            diese hätten eine bessere Haptik als ne App.
            Wenn dir die Haptik der heute üblichen Fernbedienungen reicht, dann
            bist du wahrschienlich einer von denn, die behauten ihre Brüllwürfel
            vom Discounter wären das beste, was es gibt.

            App kommt von Application und kann jedes Programm egal auf
            welcher Plattform meinen. Eine Fernbedienungs-App auf einem Touch-Gerät kann
            dem Benutzer taktiles Fdbak geben.

            Derartige Apps können wesentlich vielseitiger sein als das uralte Konzept des Ziffernblocks
            auf Fernbedienungen, die heute zudem mit etlichen Tasten total überladen sind
            und dennoch den Möglichkeiten moderner Geräte hinterherhinken.
            Da wird der sperduper Smart-TV immr noch mit einem Werkzeug aus der Steinzheit
            bedient. Tolle Ergonomie!

            Nochmal zur Haptik: Ausgenudelte Gummitasten findest du gewiss super?
            Falls dem so ist, könnte man das in eine App implementieren.
            Manche Lese-Apps haben ja auch ein Umblätter-Geräusch.

            [
            | Versenden | Drucken ]
            • 0
              Von Gast_ am Sa, 17. Mai 2014 um 14:37 #

              "App" ist vielleicht in deiner Welt die Abkürzung für Application.
              Frag mal deine Mutter was ne App ist und was der Rest der Welt denkt was ne App ist. Bloß weil du ein Eigenbrödler bist und denkst deine Definition ist die wahre darfst du nicht davon ausgehen dass der Rest der Welt auch so denkt.

              Und bitte, benutzt nie wieder "App" als Abkürzung. Das sind Programme oder Applicationen oder was weiß ich. Ich lass mir doch nicht meine Sprache versauen bloß weil Apple dieses Wort verbreitet hat.

              Mein Kommentar bezieht sich auf darauf das Apps (Programme auf kleine Touchscreens) sich nicht eignen als FB. Da man bei jedem Tastendrück auf den Bildschrim sehen muss, da man nicht erfühlen kann wo die gewünschte Taste ist.

              Mit einer normalen FB kann man Tasten erfühlen und muss nicht immer erst kucken und ist viel schneller. Normalerweise kennt man seine FB nach ner Woche auswendig.

              Und ja, ich denke wir reden hier an einander vorbei.

              [
              | Versenden | Drucken ]
0
Von HMEDW am Do, 15. Mai 2014 um 16:16 #

Wozu das denn? Meine Soundkarte ist onboard im Motherboard
integriert. Funk oder IR habe ich für Maus und Tastatur. Der AMD64
ist via Cinch-Kabel an die Stereoanlage und via HDMI einen 37''
Flachbild-Fernseher angeschlossen. Fernbedienungen sind die für
die Stereoanlage und den Fernseher.

Ach, so: Beim Booten (Debian Wheezy) kommt ein Lirc Fehler, daß
die lirc.conf nicht eingerichtet sei und mit xmodmap habe ich die
Sch...Caps-Lock-Taste außer Funktion gesetzt.

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung