Вопрос

I'm trying to scan for the up and down arrow key codes in Go, but it doesn't seem to be working. So far I've tried this:

in = bufio.NewReader(os.Stdin)
b, err := in.ReadByte()
fmt.Println("Key code:", b, err)

But when I press the up or down key, it never stops reading (it never run the Println statement) and just displays "^[[A" and "^[[B" directly in the terminal. Any idea?

Это было полезно?

Решение

I'm fairly certain you can't get raw mode input easily without os syscalls. Have a look at the answers to Read a character from standard input in Go (without pressing Enter) .

It seems that the generally accepted solution is to use termbox-go which apparently has fairly good cross platform capability.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top