コード例 #1
0
ファイル: term_posix.go プロジェクト: kildevaeld/projects
// RawMode places the terminal into raw mode.
func RawMode(t *Term) error {
	var a attr
	if err := termios.Tcgetattr(uintptr(t.fd), (*syscall.Termios)(&a)); err != nil {
		return err
	}
	termios.Cfmakeraw((*syscall.Termios)(&a))
	return termios.Tcsetattr(uintptr(t.fd), termios.TCSANOW, (*syscall.Termios)(&a))
}
コード例 #2
0
ファイル: raw.go プロジェクト: pcfdev-forks/houdini
func SetRaw(tty *os.File) error {
	var attr syscall.Termios

	err := termios.Tcgetattr(uintptr(tty.Fd()), (*syscall.Termios)(&attr))
	if err != nil {
		return err
	}

	termios.Cfmakeraw((*syscall.Termios)(&attr))

	return termios.Tcsetattr(uintptr(tty.Fd()), termios.TCSANOW, (*syscall.Termios)(&attr))
}
コード例 #3
0
ファイル: demo.go プロジェクト: jaguilar/vt100
func makeRaw(fd uintptr) (syscall.Termios, error) {
	orig, err := tcgetattr(fd)
	if err != nil {
		return orig, err
	}

	t := orig
	termios.Cfmakeraw(&t)
	if err := tcsetattr(fd, t); err != nil {
		return orig, err
	}
	return orig, nil
}