Me gustaría enviar las pulsaciones del teclado del usuario a un canal directamente después de cada pulsación de tecla individual en stdin.Enviar pulsaciones de teclas estándar al canal sin nueva línea requerida
He intentado el siguiente código, pero esto no da el resultado deseado porque el método reader.ReadByte()
bloquea hasta que se ingrese nueva línea.
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
}
Gracias por cualquier consejo sobre cómo podría yo obtener cada carácter de entrada de usuario para ir inmediatamente al canal sin la necesidad de tener un carácter de nueva línea.
Gracias por la información. Me alegro de haber hecho mi pregunta, o me habría equivocado inútilmente tratando de hacer que esto funcione por más tiempo. En cualquier caso, me gustan las sugerencias de termbox/ncurses que mencionaron usted y Rami. Nunca había considerado este enfoque, pero termbox en particular parece muy accesible y debería hacer exactamente lo que quiero de todos modos. – Kim