RC Befehle abfangen /dev/input/*

  • Moin,


    ich bin gerade auf der Suche nach einer Möglichkeit, wie ich die RC Befehle "abfangen" kann.
    Genau genommen von der Fernbedienung, oder geht dieses nur aus E2 raus?


    Ich bin gerade am Versuchen den libcec2 Adapter von pulse-eight an der DM8000 zum laufen zu bekommen.
    obi hatte dort ja das libcec2 lib schon bereitgestellt :smiling_face:


    Mir würden schon Tipps reichen, nur leider finde ich momentan keine Möglichkeit
    Das Projekt ist hier zu finden.
    https://github.com/mklooss/libcec-daemon-dreambox


    Besten Dank

  • Das Problem ist das sich enigma2 beim offen des /dev/Input/* devices diese exklusv krallt, womit selbst wenn du das selbe machst du die Events nicht mehr bekommst. Früher ging das sich auf diese weise die Events zu holen, jetzt nicht mehr. Du kannst nur mehr mit den entsprechenden Routinen im enigma2 die die FB Events holen (z.B. im Morpheus Plugin findest du ein Beispiel dafür weil da wird durch jeden FB druck ein Timer für den Screensaver zurückgesetzt und Dr. Best hat in einem Thread hier im Board mir auch mal gepostet wie es jetzt geht).


    Es bringt dir also wenig wenn ich dir den C code posten würde um FB Events auszulesen weil er nur mehr bei gestopptem enigma2 funktionieren würde.


    Auch der Off daemon (dessen C code is public) kann sich jetzt nur mehr durch die Interrupt Counter auslesen ob eine FB Taste gedrückt wurde aber das ist eben nur ein Counter womit du so nicht wissen kannst welche Taste es ist.


    Im python sich auf die FB Events einzutragen und dann halt brav seine Routine aufgerufen zu bekommen geht aber recht einfach, also nicht verzagen.


    LG


    gutemine

    • Offizieller Beitrag

    Ich fürchte du wirst nicht drum rum kommen das aus e2 heraus zu machen.
    Es gibt ein beispiel dafür in Screens/InfoBarGenerics in der klasse "InfBarAutoSleepTimer".


    im Wesentlichen sieht das so aus:


    Code
    eActionMap.getInstance().bindAction('', -0x7FFFFFFF, self.keypress) #highest prio
    def keypress(self, key, flag):
        ....

    mfg ,
    Reichi