gilo/key/key.go

37 lines
643 B
Go
Raw Normal View History

2021-04-01 16:17:13 -04:00
package key
// ----------------------------------------------------------------------------
// !Terminal Input Escape Code Sequences
// ----------------------------------------------------------------------------
const (
2021-04-01 18:51:52 -04:00
Backspace = 0x7f
Esc = 0x1b
Enter = '\r'
2021-04-01 16:17:13 -04:00
)
// Is this an ASCII character?
func isAscii(char rune) bool {
return char < 0x80
}
// Is this an ASCII ctrl character?
func IsCtrl(char rune) bool {
if !isAscii(char) {
return false
}
return char == 0x7f || char < 0x20
}
// Return the input code of a Ctrl-key chord.
func Ctrl(char rune) rune {
if !isAscii(char) {
return 0
}
ch := char & 0x1f
return ch
}