Tastatureingaben und deren Interpretation

Wie kann ich in einem Script Tastatureingaben abgreifen? Hintergrund ist folgender:

Um Tasten zu sparen, sollen einige der Tasten auf der Fernsteuerung je nach Einsatz unterschiedliche Funktionen ausführen. Beispiel: Die „Pfeil-nach-oben“-Taste soll im Normalfall die Funktion [tt]CURSOR UP[/tt] haben. Wenn ich vorher jedoch die Taste „Move“ gedrückt habe (mich also in einem anderen Modus befinde, das könnte auch irgendwie angezeigt werden), soll sie als [tt]MOVE UP[/tt] wirken, bis ich Mode wieder drücke und damit diesen Modus verlasse.

Ich stelle mir das so vor, daß eine Modus-Variable gesetzt wird, also entweder so etwas wie [tt]ModeMove=true[/tt] (pro Modus – Move, Cue, PFL usw. – je eine Variable) oder auch [tt]ModeType=3[/tt] (unterschiedliche Werte pro Modus für eine einzige Variable), und davon abhängig werden die weiteren Tastatureingaben entsprechend interpretiert.

Aber wie packe ich das konkret an?

Ausgewählte Grüße

TSD

Das passt zu der Frage, die ich gestern gestellt habe:

Der empfohlene Weg, um globale Variablen skriptübergreifend zu halten? https://forum.mairlist.com/index.php/topic,10194.0.html

Du kannst hinter der Taste “Mode” ein Skript haben, dass einen globalen Wert “MoveMode” mit einem Wert setzt / ändert und dann
im Skript hinter der „Pfeil-nach-oben“-Taste diesen Wert auslesen und je nach Fall anders handeln.

Grundsätzlich kann man sich jederzeit eigene Befehle ausdenken und diese in einem Hintergrund-Script nach Belieben verarbeiten:

procedure OnExecuteCommand(Command: string);
begin
end;

Da kannst du nun deine ganze Logik reinpacken. Auch wieder neue Befehle absetzen:

ExecuteCommand('CURSOR UP');

Für zu merkende Zustände einfach globale Variablen innerhalb des Scripts verwenden:

var
  irgendeinevariable: boolean:

procedure OnExecuteCommand(Command: string);
begin
end;

Scriptübegreifende Daten (RuntimeData) müssen nicht verwendet werden, solange sich alles innerhalb eines Scripts abspielt.

Hallo Torben,

das ist ziemlich g**l! Vielen Dank. Jetzt kann ich beginnen, die Sache beliebig zu verkomplizieren.

Funktionierende Grüße

TSD