Anonymous user
Keyboard input/Keypress check: Difference between revisions
→{{header|Go}}
Line 720:
time.Sleep(500 * time.Millisecond)
}</lang>
s.Println()▼
gc.Echo(false)▼
// task requirement next two lines▼
s.Timeout(0)▼
k := s.GetChar()▼
if k == 0 {▼
s.Println("No key pressed")▼
} else {▼
s.Println("You pressed", gc.KeyString(k))▼
}▼
s.Refresh()▼
s.Timeout(-1)▼
gc.FlushInput()▼
gc.Cursor(1)▼
s.GetChar()▼
You don't need external dependencies to achieve this. You can use a channel and set a timeout on it.
::<lang go>package main
Line 751 ⟶ 769:
fmt.Println("Time out!")
}
▲ s.Println()
▲ gc.Echo(false)
▲ // task requirement next two lines
▲ s.Timeout(0)
▲ k := s.GetChar()
▲ if k == 0 {
▲ s.Println("No key pressed")
▲ } else {
▲ s.Println("You pressed", gc.KeyString(k))
▲ }
▲ s.Refresh()
▲ s.Timeout(-1)
▲ gc.FlushInput()
▲ gc.Cursor(1)
▲ s.GetChar()
}</lang>
|