J'écris une interface de texte dans golang, et si vous tapez pendant qu'il imprime, il va interférer avec le texte présenté. Je sais que « stty -echo » arrêtera l'écho de sortie et « stty echo » du clavier Réactive, mais quand j'écris des fonctions comme:comment désactiver le clavier lors de l'impression dans le terminal dans golang
func disableKeyboard() {
c := exec.Command("stty -echo")
c.Stdout = os.Stdout
c.Run()
}
func enableKeyboard() {
c := exec.Command("stty echo")
c.Stdout = os.Stdout
c.Run()
}
ceux-ci ont aucun impact sur ma production de programmes. Est-ce qu'il y a quelque chose qui ne va pas dans la façon dont j'expédie ces commandes?
Quelque chose comme:
disableKeyboard()
time.Sleep(time.Second)
enableKeyboard()
ne fonctionne pas. J'utilise un mac actuellement.
Lorsque vous utilisez 'exec.Command', vous passez à un nouveau processus d'arrière-plan. Cela n'affectera pas le TTY utilisé par l'utilisateur pour interagir avec votre application. – Adrian
c'est ce que je pensais, y a-t-il un moyen de contourner cela afin que je puisse désactiver temporairement le clavier dans le processus en cours? – Rob
aussi, pourquoi le downvote? – Rob