WebFront mit Tastatur steuern

Hi,

ich hab für mein IPS ein angepasstes WebFront in Arbeit, was auch mit der Tastatur zu steuern ist (Cursor-tasten und Eingabe).

Jetzt hab ich aber gesehen, dass im WebFront-Code selbst auch schon „kleine“ Ansätze dafür zu sehen sind:



// in webfront.applications.basic.Basic::initVars
    this.focusedElement = null;
    this.config.enableFocusation = false;

// oder diese Methoden
    makeFocusable: function (_b) {
        if (this.config.enableFocusation) {
            _b.setAttribute("tabindex", 10);
            dojo.connect(_b, "onfocus", this, "setFocus");
        }
    },
    setFocus: function (_c) {
        this.focusedElement = _c.target;
    },


Ist das was geplant? Kann ich mir die Arbeit sparen?

Mein Problem ist nämlich, dass die Erweiterungen ja potentiell immer in Konflikt geraten mit Updates am WebFront.

Gruß Steve

Ich habe damit einst experimentiert, fand es aber für den geplanten Einsatz (Steuerung per Fernbedienung) viel zu lästig, da man eben sehr viele Tastendrücke brauchte. Dabei ist mir dann auch die Erleuchtung gekommen, dass ich doch viel lieber dem wahren Sinn von IPS nachkommen will und automatisieren und nicht manuell steuern möchte, und habe http://www.ip-symcon.de/forum/f53/xbmc-status-steuerungsskript-inklusive-filmauswahl-9834/ entwickelt, um meine Beleuchtung zu steuern.

Hi,

bei mir ist es eher umgekehrt. Ich hab drei MediaPortal basierende HTPC Lösungen im Haus und einen festen Touch-Screen für IPS an der Wand. Jetzt möchte ich eben IPS mal eben schnell ins MediaPortal „einblenden“.

Ich hab dafür jetzt zwei Ansätze am Start:

einmal gibt es von mir ein natives MediaPortal-Plugin für IPS. Der erste Entwurf litt und leidet allerdings unter ein paar Problemen die MP-Plugins für diesen UseCase haben. Auch mein erster Ansatz alles über SOAP zu machen ist extrem aufwendig, wenn man z.B. alle Modultypen unterstützen will. Ein zweiter Entwurf, der etwas anders laufen soll (Client - Server eher wie WebFront) liegt in der Schublade …

Der zweite ist einfach das WebFront mit der Tastatur steuerbar zu machen und dann im MediaPortal mit einem BrowserPlugin einzubetten. Der Ansatz funktioniert auch schon erfordert allerdings einige Eingriffe ins WebFront, da die Focussierbarkeit und der Key-Navigate „übergestülpt“ werden.

Aktuell nutze ich ein keynav plugin zu jQuery und selektiere mit jQuery jeweils ganze classes (dom), die „navigierbar“ sein sollen. Das keynav plugin berechnet anhand der Position automatisch wohin bei „rechts“ oder „links“ navigiert werden soll. Der Druck auf Return feuert dann ein onclick oder onmousedown je nach dem was der Node (oder dessen Parent) registiert haben. Wenn man mag gibts noch einen Hover, der alle navigierbaren Element aufleuchten läßt, wenn man mit der Maus darüber fährt.

Das Browser Plugin Browse The Web für MediaPortal nutzt die GeckoEngine eines installierten Firefox. Und wenn man dem Plugin jetzt noch beibringt, dass die Cursortasten nicht den Ausschnitt verschieben sollen, sondern zur BrowserEngine durchgereicht werden, dann klappt’s ;-))

Gruß Steve

Wow, mein persönlicher Längenrekord im Beitrag schreiben …