func (t *Termios) Raw() {
	t.Iflag &^= IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON
	t.Oflag &^= OPOST
	t.Lflag &^= ECHO | ECHONL | ICANON | ISIG | IEXTEN
	t.Cflag &^= CSIZE | PARENB
	t.Cflag |= CS8
	t.Cc[VMIN] = 1
	t.Cc[VTIME] = 0
}
Raw Sets terminal t to raw mode.
This gives that the terminal will do the absolut minimal of processing, pretty much send everything through.
This is normally what Shells and such want since they have their own readline and movement code.
package term
import (
	"errors"
	"os"
	"strconv"
	"strings"
	"syscall"
	"unsafe"
)
const (
	TCGETS     = 0x5401      
	TCSETS     = 0x5402      
	TIOCGWINSZ = 0x5413      
	TIOCSWINSZ = 0x5414      
	TIOCGPTN   = 0x80045430  
	TIOCSPTLCK = 0x40045431  
	CBAUD      = 0010017     
	CBAUDEX    = 0010000     
)
const (
	IGNBRK  = 0000001  
	BRKINT  = 0000002  
	IGNPAR  = 0000004  
	PARMRK  = 0000010  
	INPCK   = 0000020  
	ISTRIP  = 0000040  
	INLCR   = 0000100  
	IGNCR   = 0000200  
	ICRNL   = 0000400  
	IUCLC   = 0001000  
	IXON    = 0002000  
	IXANY   = 0004000  
	IXOFF   = 0010000  
	IMAXBEL = 0020000  
	IUTF8   = 0040000  
)
const (
	OPOST  = 0000001  
	OLCUC  = 0000002  
	ONLCR  = 0000004  
	OCRNL  = 0000010  
	ONOCR  = 0000020  
	ONLRET = 0000040  
	OFILL  = 0000100  
	OFDEL  = 0000200  
)
const (
	CSIZE  = 0000060  
	CS5    = 0000000  
	CS6    = 0000020  
	CS7    = 0000040  
	CS8    = 0000060  
	CSTOPB = 0000100  
	CREAD  = 0000200  
	PARENB = 0000400  
	PARODD = 0001000  
	HUPCL  = 0002000  
	CLOCAL = 0004000  
)
const (
	ISIG    = 0000001  
	ICANON  = 0000002  
	XCASE   = 0000004  
	ECHO    = 0000010  
	ECHOE   = 0000020  
	ECHOK   = 0000040  
	ECHONL  = 0000100  
	NOFLSH  = 0000200  
	TOSTOP  = 0000400  
	ECHOCTL = 0001000  
	ECHOPRT = 0002000  
	ECHOKE  = 0004000  
	IEXTEN  = 0100000  
)
const (
	VINTR    = 0   
	VQUIT    = 1   
	VERASE   = 2   
	VKILL    = 3   
	VEOF     = 4   
	VTIME    = 5   
	VMIN     = 6   
	VSWTC    = 7   
	VSTART   = 8   
	VSTOP    = 9   
	VSUSP    = 10  
	VEOL     = 11  
	VREPRINT = 12  
	VDISCARD = 13  
	VWERASE  = 14  
	VLNEXT   = 15  
	VEOL2    = 16  
	tNCCS    = 32  
)
type Termios struct {
	Iflag  uint32       
	Oflag  uint32       
	Cflag  uint32       
	Lflag  uint32       
	Line   byte         
	Cc     [tNCCS]byte  
	Ispeed uint32       
	Ospeed uint32       
	Wz     Winsize      
}
type Winsize struct {
	WsRow    uint16  
	WsCol    uint16  
	WsXpixel uint16  
	WsYpixel uint16  
}
type PTY struct {
	Master *os.File  
	Slave  *os.File  
}