Hi,
um meine tägliche Arbeit etwas zu beschleunigen, habe ich mir ein Shell-Script mit PHP geschrieben. Dieses Shell-Script ist interaktiv und verarbeitet die Eingabe bei jedem Tastendruck. Gelöst ist das so:
Einzelne Tastatureingaben kriege ich damit, nur halt Escape-Sequenzen nicht. Ich kann zwar nach [ESC] dann das "[" auslesen und weiß dann, dass danach die eigentliche Anweisung kommt, allerdings können die Escape-Sequenzen ja unterschiedliche Längen haben. Und somit weiß ich dann nicht, wie weit ich lesen muss. 
Gibt es eine Möglichkeit, die Sequenz auszulesen, ohne dass ich alle bekannten Sequenzen zum Abgleich irgendwo hinterlegen muss?
Danke und Gruß,
Christoph
um meine tägliche Arbeit etwas zu beschleunigen, habe ich mir ein Shell-Script mit PHP geschrieben. Dieses Shell-Script ist interaktiv und verarbeitet die Eingabe bei jedem Tastendruck. Gelöst ist das so:
PHP-Code:
// set terminal to return single chars
`stty -icanon`;
// set terminal to hide input
`stty -echo`;
// main loop
while ($c = fread(STDIN, 1)) {
... mache irgendetwas
}
Gibt es eine Möglichkeit, die Sequenz auszulesen, ohne dass ich alle bekannten Sequenzen zum Abgleich irgendwo hinterlegen muss?
Danke und Gruß,
Christoph

Kommentar