Go
- 1 ответ
- 0 вопросов
1
Вклад в тег
package main
import (
"fmt"
"os"
"github.com/eiannone/keyboard"
)
func main() {
// Инициализация пакета клавиатуры
if err := keyboard.Open(); err != nil {
panic(err)
}
defer func() {
_ = keyboard.Close()
}()
fmt.Println("Нажмите стрелку влево, стрелку вправо или Esc для выхода...")
for {
char, key, err := keyboard.GetKey()
if err != nil {
panic(err)
}
if key == keyboard.KeyArrowLeft {
fmt.Println("Стрелка влево нажата")
} else if key == keyboard.KeyArrowRight {
fmt.Println("Стрелка вправо нажата")
} else if key == keyboard.KeyEsc {
fmt.Println("Выход")
break
}
if char == 'q' || char == 'Q' {
fmt.Println("Выход")
break
}
}
}
package main
import (
"fmt"
"log"
"os"
"github.com/nsf/termbox-go"
)
func main() {
err := termbox.Init()
if err != nil {
log.Fatal(err)
}
defer termbox.Close()
fmt.Println("Нажмите стрелку влево, стрелку вправо или Esc для выхода...")
for {
switch ev := termbox.PollEvent(); ev.Type {
case termbox.EventKey:
switch ev.Key {
case termbox.KeyArrowLeft:
fmt.Println("Стрелка влево нажата")
case termbox.KeyArrowRight:
fmt.Println("Стрелка вправо нажата")
case termbox.KeyEsc:
fmt.Println("Выход")
os.Exit(0)
}
}
}
}