Fernbedienungsevents offenlegen - Wichtig für Behinderte!

  • Hallo,


    ich möchte mit einer etwas ungewöhnlichen Bitte an euch herantreten. Ich bin selbst schwerbehindert und kann deswegen die normale Fernbedienung nicht richtig bedienen. Um ehrlich zu sein kann ich nur noch eine einzige Taste drücken und das auch nur mit einer Spezialkonstruktion (ich habe dafür aus einer handelsüblichen Fernbedienung die Kontakte der Mute-Taste herausgeführt und an einen speziellen Schalter angeschlossen:


    [Blockierte Grafik: http://img98.imageshack.us/img98/339/fernbedienungo.jpg]


    Jetzt werden viele denken das ist sehr exotisch, was es ja auch ist, aber Behinderte gerade mit neurologischem Hintergrund sind gar nicht so exotisch! Es gibt viele hunderttausend Betoffene.


    Jetzt fragt man sich natürlich, wie man mit einer Taste eine Dreambox bedienen kann. Ganz einfach mit einem Auswahlsystem, was zyklisch durch eine Liste durchläuft und man muss nur noch zum richtigen Zeitpunkt seine eine Taste drücken. Das sieht dann so aus:


    [Blockierte Grafik: http://img194.imageshack.us/img194/8674/babelzapper.jpg]


    Was ihr da seht ist das Plug-In von Gutemine mit dem Namen Babelzapper. Das habe ich bis jetzt immer verwendet. Einfach und klein, aber sehr fein! :smiling_face:


    Leider musste ich jetzt erfahren, dass DMM sich dazu entschlossen hat die Fernbedienungsevents im CVS exklusiv an Enigma zu koppeln. Ich möchte in diese Designentscheidung gar nicht hinein diskutieren, aber für mich und viele andere Betroffene hat das gravierende Folgen: Der Babelzapper funktioniert nicht mehr mit den neuesten CVS-Images! Das ist für uns sehr tragisch, da wir dann die Dreambox nicht mehr selbst bedienen können. Wenn man sich mal vorstellt, was es beudeutet für jeden Senderwechsel auf fremde Hilfe angewiesen zu sein, ist das denke ich leicht nachzuvollziehen, wie schrecklich diese Situation ist!


    Soweit ich Gutemine verstanden habe bedeutet diese Designentscheidung von DMM eine komplette und sehr aufwendige Neuentwicklung des Babelzappers. Ich kann gut verstehen, dass er dafür nicht so einfach Zeit findet! Wenn es denn überhaupt noch so geht, wie es vorher auch gegangen ist.


    Als Lösung möchte ich DMM darum bitten, wenn man diese Designentscheidung schon nicht zurücknehmen möchte, zumindest die Möglichkeit in das CVS einzuspeisen die Fernbedienungsevents irgendwo abgreifbar zu machen. Das würde die Entwicklung sehr viel vereinfachen und vielen Leuten, die es wirklich manchmal nicht einfach haben, eine große Hilfe sein!


    Es wäre schön, wenn sich jemand von DMM diesbezüglich äußern könnte.


    Edit: Sorry, die Bilder und die URL werden nicht angezeigt, habe wahrscheinlich noch nicht genug Beiträge, vielleicht kann das ja ein Mod freischalten.

    2 Mal editiert, zuletzt von garbage ()

  • Es wäre nett wenn sich jemand von der Entwicklung dazu äußern könnte ob man das FB Event Interface entsprechend anpassen könnte.


    Wenn enigma2 unbedingt die FB Events exklusiv haben will/muss (wobei ich mir nur schwer vorstellen kann das es dafür wirklich zwingende Gründe gibt) würde es auch reichen wenn man diese z.B. in einem /proc interface auch noch parallel auslesen könnte (das sind dann wahrscheinlich nur wenige codezeilen in den FB Treibern).


    LG


    gutemine

    • Offizieller Beitrag

    Hi,


    hmm ja.. also der Grund für das Exclussive war nicht, weil wir irgendwen ausschliessen wollen.. oder irgendwie verhindern wollte, dass jemand das event device parallel zu e2 lesen kann.
    Sondern eher, dass wir im kernel 2.6.12 einen hack drinn hatten, der verhindert, dass jeder Tastendruck auf der Fernbedienung innerhalb des Kernels zusätzlich an die "console" weitergeleitet wird.


    E2 öffnet und überwacht ja u.a. fürs Keyboard zusätzlich noch die console (/dev/vc/0 bzw. /dev/tty0) und liest dort.


    Darüber werden die normalen Ascii Tasten gehandled... u.a. damit auch das keymapping stimmt.. also yz äöü usw..


    Der Nachteil and der Sache war nun, dass der kernel unsere normalen Fernbedienungen ebenfalls als keyboard ansieht.. und damit die inputdevice codes die von der Fernbedienung kommen ebenfalls innerhalb des Kernels auch an die Console weiterleitet.


    Das Problem ist aber, dass die codes der Fernbedienung teilweise im Ascii bereich liegen. Und damit in Texteingabefeldern oder z.b. beim springen in der Kanalliste über die Zahlentasten jede Taste dann doppelt in e2 ankam.


    Einmal übers event device... und einmal übers console device.


    Diesen oben angesprochenen Kernel hack wollten wir im neuen kernel nicht mehr benutzen, weil man halt ähnliches.. bzw. dasselbe mit dem EVIOCGRAB ioctl erreicht.
    Wenn man das setzt leitet der Kernel halt zusätzlich die EIngaben auch nicht mehr an die Console weiter.


    Naja der Nebeneffekt ist nun, dass niemand mehr parallel das eventdevice lesen kann... schreiben geht ja.


    Die Frage ist nun, wie wir das lösen können ohne wieder im Kernel rumzupatchen.


    cya

  • ich muß mich garbage anschließen und würde es begrüßen, wenn es wieder eine möglichkeit geben würde.
    ich bin in (fast) der gleichen situation wie garbage und finde es äußerst hilfsbereit, das es personen mit dem know how gibt, die es uns ermöglichen die dreambox mit ihrem enormen potenzial auch zu nutzen. insofern wäre es schade, wenn wir ab jetzt keine neueren images mehr nutzen können, da uns dann einfach die möglichkeit fehlt sie ohne "fremde" hilfe zu bedienen.
    wenn man schon körperlich stark eingeschränkt ist, ist es eine enorme steigerung der selbstständigkeit, zumindest selbstbestimmt fernsehen zu können und die dreambox auch sonnst voll auszunutzen!
    lg friday

  • Wie schon oben angedeutet, wäre es möglich das der device Treiber z.B. auch ein /proc/events befüllt wo man nur mitlesen kann, dann wären wieder alle glücklich ?


    Es im enigma2 im python rauszuschreiben könnte ich ja auch selber implementieren, aber nachdem man es auch benutzen können sollte wenn enigma2 hängt um z.B. die Box ohne Netzschalter (mit allen negativen Konsequenzen für Timer, Filesystem,...) zu restarten wäre eine Lösung im Treiber oder im kernel die universellere.


    Für garbage kann ich so wie es aussieht das ganze auch in python implementieren, aber es gibt eben auch andere Anwendungsfälle wo das nicht funktioniert.


    Aber danke das Ihr darüber nachdenkt, vieleicht hat ja noch jemand eine bessere Idee als in Treiber/kernel herumzufuhrwerken.


    Wenn es nur darum ginge zu sehen ob FB events kommen (also 'Notaus' wenn jemand sekundenlang power drückt (weil er behindert ist und sonst die box nicht selber resetten kann) oder für einen screensaver das lange zeit keine FB events kommen, bzw. wenn doch damit der screensaver sich wieder beendet) könnte ich das ja zur Not noch irgendwie aus den Interrupts rauskitzeln (wenn Ihr mir Tipp gebt welche das im neuen kernel sind), aber lieber wäre mir eine ordentliche Lösung die auch andere für Plugins, daemons,... etc verwenden könnten.


    Bitte, Bitte :smiling_face:


    LG
    gutemine

  • PS: Falls wer ausprobieren will wie man die Dreambox mit nur 1 Taste bedienen kann im Anhang die aktuelle Entwicklungsversion des Babelzappers die auch ohne die FB events funktioniert indem sie den mutVolume Handler umbiegt.


    Nur wie schon weiter oben geschrieben es gibt Fälle wo das nicht so einfach funktioniert und die alte Variante gescheiter wäre.


    LG


    gutemine