Funktionstasten Console/Terminal plattformübergreifend

Code-Stücke können hier veröffentlicht werden.
Antworten
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Da es für die Nutzung der Pfeil- und Funktionstasten unter der Konsole anscheinend Bedarf gibt, hab ich mal folgendes Skript geschrieben. Es läuft derzeit unter Windows (Console und Powershell) und unter Linux an xterm-kompatiblen Terminals und der Linuxkonsole. An Abhängigkeiten braucht es nur Pythonbordmittel sowie die `getch()`, `kbhit()` und `cbreak_terminal()`-Implementation für ANSI-Terminals von hier --> http://www.python-forum.de/viewtopic.ph ... 32#p151032. curses etc. wird nicht gebraucht.
Nun ist das mit dem Terminals so eine Sache, da jedes sein eigenes Süppchen kocht. Gleichwohl sind unter Windows die Console/Powershell Standard und unter Posixsystemen haben sich in X die xterm-kompatiblen Emulatoren durchgesetzt, womit wohl 90% der mgl. Einsatzszenarios abgedeckt sind. Ich hatte keine Lust, das händische Auslesen der termcap/terminfo-Daten zu implementieren und habe daher die keycodes der gebräuchlichen Sondertasten für WINCONSOLE, XTERM und LINUX als Wörterbuch mitgeliefert. Mit der Funktion `create_codemapping()` kann man die Codes auch selbst erstellen oder zur Laufzeit erfragen.
Ein weiteres Problem ist das Parsing, da man hierfür eigentlich einen richtigen Escapecode-Parser braucht. Für die Unterscheidung zwischen Pfeiltaste und F1 sollte die Regex allerdings reichen.
Desweiteren kümmert sich das Skript nicht um den Terminaltypen. Plattform und Terminal müssen vom Anwender bestimmt werden.

Zum Code
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Ja danke für das Script, ist auf jeden Fall interessant.
Peter0
User
Beiträge: 1
Registriert: Mittwoch 18. Juli 2012, 11:01

Leider ist der Code-Server down.
Es wäre schön, das Zeugs hier nochmal mit "Boardmitteln" zu veröffentlichen.

Danke – Peter
Antworten