문제

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