2013-07-30 2 views
1

J'essaie de rechercher les codes de touches fléchées vers le haut et vers le bas dans Go, mais cela ne semble pas fonctionner. Jusqu'à présent, je l'ai essayé ceci:Recherche de flèches haut et bas dans Go?

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

Mais quand je presse la touche haut ou bas, il ne cesse de lire (il n'a jamais exécuté l'instruction Println) et juste affiche «^[[A » et «^[ [B "directement dans le terminal. Une idée?

Répondre

2

Je suis à peu près certain que vous ne pouvez pas obtenir une entrée en mode brut sans les appels système. Jetez un oeil aux réponses à Read a character from standard input in Go (without pressing Enter).

Il semble que la solution généralement acceptée consiste à utiliser termbox-go qui a apparemment une bonne capacité de multiplateforme.

+0

En outre, vous pouvez également comparer termbox-go avec tcell, qui prend une approche de conception différente dans certaines zones. https://github.com/gdamore/tcell Il pourrait être meilleur ou pire, selon vos besoins. – 425nesp

Questions connexes