Ich möchte die Tastenanschläge des Benutzers direkt nach jedem einzelnen Tastendruck an die Standardeingabe senden.Senden von stdin-Tastenanschlägen an den Kanal ohne Zeilenumschaltung erforderlich
Ich habe versucht, den folgenden Code, aber das gibt nicht das gewünschte Ergebnis, weil die reader.ReadByte()
-Methode blockiert, bis Newline eingegeben wird.
func chars() <-chan byte {
ch := make(chan byte)
reader := bufio.NewReader(os.Stdin)
go func() {
for {
char, err := reader.ReadByte()
if err != nil {
log.Fatal(err)
}
ch <- char
}
}()
return ch
}
Vielen Dank für jede Beratung, wie könnte ich jeden Benutzer Eingabezeichen bekommen, ohne die Notwendigkeit für eine neue Zeile Zeichen unmittelbar an den Kanal zu gehen.
Danke für die Info. Ich bin froh, dass ich meine Frage gestellt habe, oder ich hätte erfolglos herumgespuckt und versucht, es noch länger zur Arbeit zu bringen. Auf jeden Fall mag ich die von dir und Rami erwähnten termbox/ncurses-Vorschläge. Ich habe diesen Ansatz nie in Betracht gezogen, aber Termbox scheint besonders zugänglich zu sein und sollte genau das tun, was ich will. – Kim