Keyboard input/Keypress check: Difference between revisions

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!")
}
}</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()
}</lang>
 
Anonymous user