Fügen Sie Text hinzu, während der Benutzer bearbeitet, ohne die Benutzerinteraktion zu stören

In Windows-Formularen und HTML-Textfeldern ist es nicht möglich, Text anzuhängen, ohne die aktuelle Benutzeraktion auf demselben Textfeld zu beeinflussen.

Mein Anwendungsfall ist, dass ich ständig neuen Text (von der Sprach- bis zur Text-App) bekomme und die letzten 3 Zeilen auf einem öffentlichen Bildschirm präsentieren muss. Diese letzten 3 Zeilen können von einem menschlichen Live-Editor geändert werden. Alle Aktionen, die der menschliche Redakteur ausführt, sind für die öffentlichen Zuschauer sichtbar.

Mein aktueller Ansatz besteht darin, 2 Anwendungen zu entwickeln, eine Sender- und eine Editor-App. Die Sender-App empfängt die Eingaben von der Sprache-zu-Text-Anwendung, die Satz für Satz einfügt. Die empfangende Anwendung empfängt jeden Buchstaben/Satz und fügt ihn dem Textfeld des Editors hinzu.

Ich kann mir nicht vorstellen, dass es funktioniert, nur die Carret-Position des Textfelds des Editors zu speichern und wiederherzustellen, wenn neuer Text an das Textfeld des Editors angehängt wird.

Haben Sie eine Idee, wie das funktioniert: Wenden Sie ständig neuen Text auf ein Textfeld an, das gerade von einem Menschen bearbeitet wird?

Mein aktueller Ansatz besteht darin, eine „Sender“- und eine „Empfänger“-Anwendung zu entwickeln. Der Sender nimmt den neuen Inhalt und sendet ihn an den Empfänger. Aber wie fügt man den neuen Text auf der Empfängerseite ein, ohne die aktuelle Benutzerinteraktion zu beeinflussen?

Grundsätzlich kann Google Docs dies tun, aber in meinem Fall sollte die Latenz zwischen Sender- und Empfänger-Textfeld unter 10 ms oder am besten ohne Latenz liegen.

"Ich kann mir nicht vorstellen, dass es funktioniert, einfach die Carret-Position des Textfelds des Editors zu speichern und wiederherzustellen, wenn neuer Text an das Textfeld des Editors angehängt wird" - haben Sie es versucht? denn das scheint mir die lösung zu sein
Nun, es funktioniert definitiv nicht, die Caret-Position festzulegen, da ich weder die Zeit kontrollieren kann, zu der Benutzer etwas schreiben, noch kann ich Benutzerinteraktionen blockieren. Mein aktueller Ansatz ist es, meine eigenen Google-Dokumente zu implementieren ...

Antworten (1)

Erlauben Sie nicht 2 Eingaben gleichzeitig: vom Empfänger, von der Benutzertastatur. Nur über die Tastatur zulassen. Und der andere Weg muss zum zweiten Textfeld gehen. Wenn der Benutzer die Tastaturbenutzung beendet (z. B. 10 Sekunden Pause), kann die App das zweite Feld mit dem Hauptfeld zusammenführen. Dann beginnt der Benutzer mit der Tastatur und die App erhält wieder Text vom Empfänger in das zweite Feld.

Entschuldigung, ich kann zu keinem Zeitpunkt Benutzer blockieren :-(