Shell Plugin Version 3.0 mit keymap.xml Verwaltung

  • ....und nun hier das erste Ergebnis.


    Hab mir ne USB-Funktastatur von Lidl zugelegt. (Silvercrest 12023, 19,99€)


    (Falls sich jemand fragen sollte: "und was soll das?" soll er einfach mal ausprobieren, wie schnell die Box mit Tastatur alleine nur beim Zappen oder in den Menüs wird. Obergeil - det is ne rakete)


    Hab im Vorwege die Multimedia-Tasten rausgesucht (s.diesen Thread), anschliessend die keymap.xml gepatcht (wird leider sogar beim Online-Update wieder überschrieben). Im Anhang das erste Ergebnis. Die Folgen kommen in den Thread, den ich unter "Dreambox Hardware Allgemein" aufgemacht hatte, Thema: USB Keyboard.


    Wer's mag: der Anhang enthält die erste alpha der gepatchten keymap.xml + kleine Tabelle der Sondertasten.


    Weitere Belegungen:


    Lautstärkerad = Lautstärke
    Return = OK
    Esc = Exit
    Cursor-Tasten unverändert
    Power=Aus (weckt nicht aus Deep-Standby auf, wie auch)


    Wen's interessiert: Die Namen, die in den Sektionen der keymap.xml verwendet werden stehen in der keyids.py


    Wer's ausprobieren will: Die Datei keymap.xml gehört in der Ordner /usr/share/enigma2


    SICHERT DIE ORIGINALE KEYMAP.XML WENN DAMIT WAS NICHT STIMMT GEHT ENIGMA2 IN NE STARTSCHLEIFE! (Zugang per FTP aber zur Reparatur noch möglich)


    Greets und Dank an alle Beteiligten

  • Danke für Eure Inputs.


    Ich werde mir das am Wochenende mal anschauen, wobei ich aber ohne USB tastatur da (noch) nicht viel Testen kann.


    Ich denke wenn man wirklich die keymaps.xml austauschen und enigma dabei restarten muss ist es wohl das gescheiterste 2 menupunkte in das shell plugin reinzumachen mit USB Keymap enable und USK Keymap disable (womit die keymap jeweil getauscht, bzw. die originale restored wird)


    Die Frage ist aber, ob die Fernbedienung bei getauschter Keymap noch ordentlich funktioniert :winking_face:


    Dann sollte ich aber auf jeden Fall den Schnelleingabemodus implementieren wo man solange befehlte (ohne bestätigung wollen sie wirklich ausführen) eingeben kann bis man exit/logout eingibt.


    Mal sehen wie weit ich am Wochenende damit komme, weil eigentlich wollte ich zuerst die Standardbefehle als menupunkte dazugeben (das ist immer noch schneller asl tippen), ausserdem muss ich noch im shellscript die befehle abfangen die nicht zurückkommen (vi, top, more,..). - dabei sollte unsupoortet command for shell plugin ausgegeben werden - welche Befehle fallen Euch noch ein die auf die blacklist müssen ?


    Gruss
    thowi

  • hi thowi,


    wie ich mit meinen geringfügigen sourcing-kenntnissen im zuge des keyboard-mapping rausgefunden habe, hat das object inputbox über numerictextinput eine komplett eigene routine zur behandlung von eingabe-events. d.h., das keyboard funktioniert in deinem plugin parallel zur FB, aber halt nur die numerischen tasten + ok + esc + cursor + del (mute). was imho passieren müsste wäre eine inputbox mit einer eigenen tastatur-routine zu schreiben.


    dann behaupte ich einfach mal, brauch man sich um die keymap.xml nich zu kümmern (nur return + esc einpflegen), solange man keine weiteren funktionen nutzen will. ich blöd will ja dann noch zusätzlich genau in dem moment, wenn ich dein plugin nutze, timeshift starten können sowie im bp die hd-temp ablesen.


    würd gern mehr input bringen, nur um mich mit python zu beschäftigen fehlt im moment die zeit. aber wartet nur ab - irgendwann bin ich auch dabei.


    greets

  • Nachdem keiner (!) geantwortet hat was Ihr für nützliche Kommandos im shell plugin fertig haben wollt, habe ich einfach gemacht was ich so haben wollte.


    Wie heißt es so schön - alle denken nur an sich, und nur ich ich denk an mich !


    Bitte schaut Euch version 1.2 des Shell Plugins an und gebt Feedback was noch fehlt, etc.


    Der Schnelleingabemodus fürs USB Keyboard sowie das Laden der keymap für die USB Tastatir fehlt auch noch, das dauert halt noch bis zum nächsten Wochenende, sorry :winking_face:


    gruss
    thowi

    Einmal editiert, zuletzt von thowi ()

  • He, thowi,


    keiner stimmt aber nich ganz, schau mal eine Seite zurück. Hab den Vorschlag gemacht, ne kleine Handvoll User-Script vorzubelegen, dann kann jeder tun was ihm beliebt.


    Gruss Einsteini

  • Zitat

    Original von Einsteini
    He, thowi,


    keiner stimmt aber nich ganz, schau mal eine Seite zurück. Hab den Vorschlag gemacht, ne kleine Handvoll User-Script vorzubelegen, dann kann jeder tun was ihm beliebt.


    Gruss Einsteini


    In der nächsten release wird es ein file mycommands oder so ähnlich geben wo man dann ca. 10-20 Befehle, oder scripts eintragen kann die dann ausgelesen und im Menu zur Verfügung gestellt werden, so wie die Untermenus die es jetzt gibt, nur eben selber anpassbar.


    Dann kommt auch dein Keyboard modus mit schnelleingabe :winking_face:


    gruss
    thowi

  • hi thowi,


    auf jeden fall funktioniert das teil super gut. DANKE.


    bin fleissig am testen und hab dabei gemerkt, dass mit meinem dns-server was nich stimmt (netstat braucht ca 5 minuten, um aufzulösen - geduld ist angesagt ;-))


    die vorbesetzung ist so ganz gut, wenn noch die user-scripts (oder was auch immer du da definierst) dazukommen ist das teil rund.


    ich meine bezgl. keyboard sollte sich DMM was einfallen lassen, fehlt die texteingabe doch an allen stellen. wie wirds denn, wenn mal tatsächlich e-mail a la tuxmail und browser kommen? dann reden wir nich mehr vom tennisarm, sondern vom flitsch-daumen.


    gruss Einsteini

  • Wenn es noch wünsche für eine Version 2.X gibt oder bugs in Version 2.0 gefunden werden (oder wer unbedingt seine tolle commands.lst teilen will) bitte hier als reply posten.


    PS: Und wenn Ihr die commands.lst editiert diese nicht versehentlich löschen, dann crashed das Plugin wenn man user commands aufruft (war zu faul einen check reinzutun ob das file exisitiert nachdem ich im kit eh ein beispiel mit ausliefere wo ich auch die bösen k e y directory commands ausgelagert habe)


    gruss
    thowi

    3 Mal editiert, zuletzt von thowi ()

  • hi thowi,


    ist ein tolle teil geworden, wie so oft: DANKE


    hab mit dem letzten cvs-images von SadButTrue das problem dass ich bei meiner handgestrickten version mit evocamd+newcs die teile manuell starten muss. stoppen klappt mit shell 2.0 (user-script), aber beim start der teile bleibt das fenster auf der letzten zeile stehen und wartet auf irgendwas in der meldungskette von evocamd.


    falls du mal wieder zeit für die shell findest, kannste mal gucken? unterbrich deshalb aber um himmels willen nich multiboot. (nfi-test trau ich mich allerdings nich)


    gruss Einsteini

  • probier mal das script mit & am schluss, ich habe nie probiert ob man im shell plugin scripts auch in den hintegrund schicken kann.


    PS: Multiboot 4.0 ist eh fast fertig, solange du N bei copy nicht verwendest kann aber eh nichts passieren, du bist also auch als tester willkommen (hoffentlich habe ich nicht wieder zu viele neue bugs produziert, weil nachdem 4.0 auf dem Gold beta 3.6 basiert das ich nie ausgeliefert habe war ich zu faul nochmals 3h alles durchzustesten - dann gibt es halt bald 4.0X versionen)!


    Gruss
    thowi

  • Es gibt jetzt schon ein addon zum Shell addon :winking_face:


    Neutrino Zapping für die Fernbedienung von InsideTV und theflashor23:


    zweimal rechts oder zweimal links = optionskanäle
    dann rechts und links optionskanäle =
    rechts links = bouquet durchblättern
    oben unten = zappen


    Nur für Gemini 1.5 :winking_face:


    Wenn man das keymap.xml bei installierem Shell Plugin auf /usr/lib/enigma2/python/Plugins/Extensions/Shell kopiert kann man mit dem keymap enable/disable menupunkt im shell auch diese Keymap einfach ausprobieren und auch wieder rückgängig machen
    (ist wahrscheinlich sogar sinvoller als die keymap fürs USB Keyboard ide dabei ist, so viele haben wohl kein USB Keyboard, neutrino Fernbedienung vermissen die Leute aber schon).


    Im Anhang habe ich daher das keymap als addon gepackt.


    Nachdem das shell plugin im Gemini installiert wurde einfach das neutrinokeymap.tar.bz2 file auf /var/tmp FTPen und mit Manual Install aus dem Blupannel Installieren.


    Dann den menupunkt zum USB keymap enablen im Shell Plugin (ist bei Spiele Erweiterungen zu finden) auswählen, dann sollte die neue Keymap aktiv sein.


    Wenn wer wieder dei USB Keymap zurückhaben will einfach Shell plugin nochmals installieren.


    PS: ein addon zum addon sozusagen :winking_face:


    PPS: Testet mal ein bischen und wenn es gut funktioniert baue ich es in die nächste Shell zur Auswahl ein.
    Gruss
    thowi

  • nachdem ich jetzt noch einen andere nützliche Keymap gefunden haben (von DonHora die die Fernbedienung auf der USB Tastatur emuliert), habe ich entschieden in der Version 2.1 des shell plugins ein file keymap.lst zu implementieren wo man ähnlich wie bei den Usercommandos bis zu 14 keymaps eintragen kann die dann nach bedarf geladen werden können, dort kommt dann Einsteinis, DonHoras und das Neutrino Zapping keymap.xml rein.


    Damit können sich dann die Leute selber austoben und keymap.xml files hier posten die sich die User in die kemap.lst selber zur auswahl eintragen können.


    Oder soll ich es so implementieren das alle keymaps in ein subdirectory keymap des Plugins kommen mit de Namen keymap_'keymapnamen oder Ersteller'.xml und dann einfach vom plugin zur Auswahl angeboten werden - dann bräuchte man nur mit dem richtigen Namen ein File dort hinkopieren und fertig wäre man ?


    Bitte um Feedback, weil ich komme eh erst in 1-2 wochen(enden) dazu es zu implementieren (mutliboot 4.1 macht derzeit mehr spass)


    Gruss
    thowi


    PS: Bis es soweit ist wie im vorherigen Thread gepostet einfach die keymap.xml über die mit dem shell plugin ausgelieferte im Plugindirectory drüberkopieren, und wenn man dann enable des USB Keyboard mappings im menu auswählt wierd diese geladen, bzw bei disable wieder dei standard keymap.xml.


    PPS: und wenn Ihr noch weitere keymaps findet/erstellt die als Beispiele mitgeliefert werden sollen hier als reply posten (bei 14 geplanten zur Auswahl ist wohl platz genug im moment) Im idealfall so wie das neutrinokeymap bereits aus dem Plugindirectory mit tar und bz2 eingepackt, damit die Leute in der Zwischenzeit es als addon zum 2.0 installieren können.


    PPS: Und falls wer fragt warum immer 14 - na ja das sind Nummerntasten 0-9 sowie rot/grün/gelb/blau zur schnellauswahl im Menu, logisch oder ?

    3 Mal editiert, zuletzt von thowi ()

  • hi thowi,
    also die idee mit den in subdirectory keymap mit verschiedenen namen abgelegten maps finde ich am besten und für die bedienung am einfachsten.


    hatte schon begonnen deinem vorschlag folgend die von mir modifizierten teile der keymap mit eigenen tags zu versehen. aber da auch meine keymap die fb parallel abbildet könnte es a. zukünftig zu kollisionen kommen und b. würde die versionsvielfalt ne pflege irgendwann mal unmöglich machen.


    fehlt dann nur noch in shell ein voreingestellter script zum backup des verzeichnisses, den poste ich dir heute abend, ok?


    machs und alle sind zufrieden, wette?


    gruss einsteini

  • das mit den Tags wäre trotzdem nützlich - z.B ein tag wo supported images drinne nsteht, dann kann man leicht mit Grep und dem current imagenamen checken ob man überhaupt die keymap laden soll.


    Andererseits solange man über telnet das script mit keydisable wieder die originalkeymap laden kann (elche ja schon jetzt mit keymap_standard.xml vor dem Überschreiben gesichert wird) ist es nicht so wichtig das wirklich alle keymap compatibilitäten geprüft werden - die sauberste variante wäre sowieso das über ipkg pakete zu machen, dort gibt es die ganze logik um abhängigkeiten von versionen etc zu prüfen ja schon daher mag ich sie nicht wirklich neu erfinden.


    Ich denke also ich würden nur einfach vor dem laden den Beschreibungstext der als tag in der keymap sen sollte ausgeben und der user muss dann selbst wissen was er tut !


    Gruss
    thowi


    PS: bezüglich Implementierung - mal sehen wie viel Zeit ich habe -
    eigentlich ist da eh nicht viel unterschied ob man die keymap.lst selber erstellt oder schnell mit ls -1 keymap*.xml vom Plugin erstellt wird :winking_face:

    2 Mal editiert, zuletzt von thowi ()

  • so die versprochene keymap Verwaltung ist jetzt in Version 3.0 drinnen sowie 3 keymaps zum testen.


    Bitte on Feedback ob es so bleiben kann
    (ich selber habe die keymaps nicht getestet mangels USB keyboard)


    gruss
    thowi


    PS: Eigentlich könnte man die Art die wie Keymap verwaltung jetzt implementiert ist auch für die Skins oder beliebigie andere Files die man austauschen kann verwenden (satellites,xml,..) , aber ich will nicht den 23. skinswitcher entwickeln, also bitte nicht danach fragen (ausserdem verwende ich keine alternativen skinns, bin also bei den skins nicht motiviert zum testen)

  • hi thowi,


    bin am testen der gemini 1.60. 1.60 enthält eine modfizierte keymap. damit die original-funktionen der fb erhalten bleiben habe ich die keymap von 1.60 um das mapping für multimedia-usb-keyboard erweitert. möchte gern als .tar.bz2 posten, finde aber kein bz2 auf dem image? getart hab ich schon. kannste helfen?


    die verwaltung selber ist gut, hab allerdings die voreingestellten maps aus zeitmangel nich getestet. kommt noch.


    die idee mit den tags find ich gut, ich werd mal grübeln....hintergrund dabei ist, dass mit gemini 1.60 eine modifizierte keymap mitkommt, die endlich die alpha-tasten berücksichtigt (scheint für die dream-tastatur zu sein).

  • in meinen vollen kits (die als ZIP gepackt sind) ist immer das bzip2 zum installieren auch dabei, einfach mal makekit.sh mit versionsnummer als paramaeter ausführen und es wird installiert um den kit zu packen.


    oder eben aufs plugindirectory gehen wo das bzip*.ipk ausgepackt wird
    und ipkg install bzip* eingeben, dann hast du bzip zum packen auf der Dreambox.


    Wobei so wie ich es jetzt implementiert habe reicht es die neue kymap auf das keymaps subdirectory des plugindir zu kopieren (entweder über die alte von dir drüber, oder mit anderen keymap_*.xml namen).


    Beim nächstenmal enable alternate keymap auswählen hast du sie dann auch zur auswahl.


    Ob Du deine keymap jetzt als addon baus >(das dierekt ins keymap directory extrahiert wird -(einfach beim tar-cvf /...Plugindir.../keymaps/keymap_einsteinisnewone.xml /var/tmp/einsteinikeymap.tar angeben :winking_face: oder hier als reply und ich mach halt ein 301 kit daraus ist doch egal, wie du möchtest.


    Aufpassen der pfad wird dann beim tar schon rechtl lang, und da gibt es eine Grenze, also kurzen namen für die keymap nehmen !


    gruss
    thowi


    PS: jetzt muss halt jeder selbst wissen was er tut wenn er andere keymap lädt (z.B. die neutrinozap keymap belegt die blaue taste und dann geht dort im BP nur mehr PIP und kein BP mehr, übers menu interface kann man es im gemini 1.6 aber eh noch erreichen) Und schmlimmstenfalls wenn einigma crashed und nicht mehr hochkommt im telnet shell.sh standardkeys and you have the standardkeymap back

    3 Mal editiert, zuletzt von thowi ()

  • hi thowi,
    ich meine, mit der möglichkeit zum einbinden von 14(!) verschiedenen keymaps isses eigentlich genug. haste fein gemacht. die frage nach ner organisierten versionsverfolgung is ja auch nich gerade auf echo hier gestossen.


    ich hänge einfach mal meine keymap für gemini 1.60 an. fernbedienung und usb-multimedia-tastatur laufen parallel, allphanumerische iengabe in shell funktioniert mit einschränkungen (wie schon vermutet habe muss im cvs diesbezüglich was passieren), ich bin voll begeistert (wenn auch us-layout). doku zu den belegten tasten um die fb über keyboard abzubilden kann ich nachliefern (zur letzten version sind ffwd, frwd, oause und stop dazugekommen).


    komme heute zu nix anderem mehr, zuviel multiboots 4.x, shells 3.x. geminis 1.6x, fussball, formel1 und kranker hund - es geht eben nicht immer alles auf einmal, deshalb die xml als posting.


    greets Einsteini

  • Danke, ich baue es in die nächste Version dann ein, komme aber erst am nächsten Wochenende dazu.


    Ausserdem bin ich grade am Überlegen ob ich das Shell Plugin mit dem Cronmanager Plugin nicht in einer Version 4.0 mergen soll, da beide ja ähnliche Dinge tun (Commands/skripte ausführen - nur eines eben live, das andere Zeitverzögert)


    Braucht dann weniger Platz im Spiele Erweiterungs menu, und viel ist bei den beiden Plugins eh nicht mehr zu machen, oder fällt Euch noch was ein was Ihr gerne hättet ?


    Das moviemanager Plugin soll ja dann mal für die Moviefunktionen einen ähnlichen Sammelzweck erfüllen.


    PS: Und wir glaubst Du bin ich beschäftigt, ich muss das Ganze für Euch ja zum Testen erst machen, da ist jeder willkommen der was beiträgt :winking_face:


    Gruss
    thowi

    Einmal editiert, zuletzt von thowi ()

  • ich weiss sowieso nich wie du das alles machst. hut ab - hatte ich letztens ja schon mal ausgeführt.


    zum stand deiner entwicklungen: von mir aus wunschlos glücklich - echt.


    die idee die beiden plugins zu vereinen: bietet sich an, haste recht. wennste dir die arbeit machen willst, meinen applaus haste sicher. shell is übrigens weitaus besser geworden als ich mir hätte wünschen können. ne echte shell - war ja "damals" meine frage - kann deinen komfort nich bieten.


    auch noch danke schön für die gedanken, die du dir zur vorbesetzung der shell gemacht hast. bleibt eigentlich kein wunsch mehr offen.


    hochachtungsvoll, Einsteini