Samuel fiedler: Perl Maus Events über ANSI-Escapesequenzen auslesen

Beitrag lesen

Hallo Rolf B!

Vielen Dank für die Idee, dass man die Modi erstmal umschalten müsste.
Sogleich habe ich dafür auch eine ANSI-Escapesequenz gefunden [1].

Nun arbeite ich weiter. Bisher läuft alles gut.

Ich wollte eine Eingabe machen, die genau 6 Zeichen lang ist, weil das Terminal die Maus-Events mit einer Länge von 6 Zeichen absendet. Die 6 Zeichen bedeuten:

  1. Das Escapezeichen (^[)
  2. Das Zeichen danach, was irgendeine Funktion aufruft ([)
  3. Ein Zeichen, um die Funktion zu definieren (in diesem Fall, sonst ist dieses Zeichen ja immer nach den Parametern) (M)
  4. Ein Zeichen, was die Maustaste bestimmt (das Zeichen muss im ASCII-Standard minus 32 gerechnet werden, beispielsweise = 32 - 32 = 0). Für den Fall, dass die Maustaste nicht 0 entspricht, wird alles übersprungen. Damit habe ich den Fehler behoben, dass ich bei einem Klick auf eine Zahl die Zahl zweimal verwendet wird (MouseUp & MouseDown).
  5. Ein Zeichen, was die X-Koordinate bestimmt (für weitere Informationen über den ASCII-Zeichensatz siehe Punkt 4). Dort wäre dann " eine 2. (" = 34 - 32 = 2)
  6. Ein Zeichen, was die Y-Koordinate bestimmt (für weitere Informationen über den ASCII-Zeichensatz siehe Punkt 4). Dort wäre dann ( eine 8. (" = 34 - 32 = 2)

Die Kombination aus einer 2 und einer 8 wäre der Button 1 bei folgendem Display:

TASCHENRECHNER
==============

+---------------+
|               |
|               |
+---+---+---+---+
| 1 | 2 | 3 | + |
+---+---+---+---+
| 4 | 5 | 6 | - |
+---+---+---+---+
| 7 | 8 | 9 | * |
+---+---+---+---+
| . | 0 | = | / |
+---+---+---+---+
|    BEENDEN    |
+---------------+

2022 von Samuel Fiedler

Au revoir,
Samuel Fiedler


  1. Irgendwie finde ich ANSI-Escapesequenzen toll. ↩︎