tty.py revision b90f89a496676ec714e111a747344600f3988496
1"""Terminal utilities.""" 2 3# Author: Steen Lumholt. 4 5from TERMIOS import * 6from termios import * 7 8# Indexes for termios list. 9IFLAG = 0 10OFLAG = 1 11CFLAG = 2 12LFLAG = 3 13ISPEED = 4 14OSPEED = 5 15CC = 6 16 17def setraw(fd, when=TCSAFLUSH): 18 """Put terminal into a raw mode.""" 19 mode = tcgetattr(fd) 20 mode[IFLAG] = mode[IFLAG] & ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON) 21 mode[OFLAG] = mode[OFLAG] & ~(OPOST) 22 mode[CFLAG] = mode[CFLAG] & ~(CSIZE | PARENB) 23 mode[CFLAG] = mode[CFLAG] | CS8 24 mode[LFLAG] = mode[LFLAG] & ~(ECHO | ICANON | IEXTEN | ISIG) 25 mode[CC][VMIN] = 1 26 mode[CC][VTIME] = 0 27 tcsetattr(fd, when, mode) 28 29def setcbreak(fd, when=TCSAFLUSH): 30 """Put terminal into a cbreak mode.""" 31 mode = tcgetattr(fd) 32 mode[LFLAG] = mode[LFLAG] & ~(ECHO | ICANON) 33 mode[CC][VMIN] = 1 34 mode[CC][VTIME] = 0 35 tcsetattr(fd, when, mode) 36