Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
tty.py
Go to the documentation of this file.
1 """Terminal utilities."""
2 
3 # Author: Steen Lumholt.
4 
5 from termios import *
6 
7 __all__ = ["setraw", "setcbreak"]
8 
9 # Indexes for termios list.
10 IFLAG = 0
11 OFLAG = 1
12 CFLAG = 2
13 LFLAG = 3
14 ISPEED = 4
15 OSPEED = 5
16 CC = 6
17 
18 def setraw(fd, when=TCSAFLUSH):
19  """Put terminal into a raw mode."""
20  mode = tcgetattr(fd)
21  mode[IFLAG] = mode[IFLAG] & ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
22  mode[OFLAG] = mode[OFLAG] & ~(OPOST)
23  mode[CFLAG] = mode[CFLAG] & ~(CSIZE | PARENB)
24  mode[CFLAG] = mode[CFLAG] | CS8
25  mode[LFLAG] = mode[LFLAG] & ~(ECHO | ICANON | IEXTEN | ISIG)
26  mode[CC][VMIN] = 1
27  mode[CC][VTIME] = 0
28  tcsetattr(fd, when, mode)
29 
30 def setcbreak(fd, when=TCSAFLUSH):
31  """Put terminal into a cbreak mode."""
32  mode = tcgetattr(fd)
33  mode[LFLAG] = mode[LFLAG] & ~(ECHO | ICANON)
34  mode[CC][VMIN] = 1
35  mode[CC][VTIME] = 0
36  tcsetattr(fd, when, mode)