"""Terminal utilities."""
__all__
= ["setraw", "setcbreak"]
# Indexes for termios list.
def setraw(fd
, when
=TCSAFLUSH
):
"""Put terminal into a raw mode."""
mode
[IFLAG
] = mode
[IFLAG
] & ~
(BRKINT | ICRNL | INPCK | ISTRIP | IXON
)
mode
[OFLAG
] = mode
[OFLAG
] & ~
(OPOST
)
mode
[CFLAG
] = mode
[CFLAG
] & ~
(CSIZE | PARENB
)
mode
[CFLAG
] = mode
[CFLAG
] | CS8
mode
[LFLAG
] = mode
[LFLAG
] & ~
(ECHO | ICANON | IEXTEN | ISIG
)
tcsetattr(fd
, when
, mode
)
def setcbreak(fd
, when
=TCSAFLUSH
):
"""Put terminal into a cbreak mode."""
mode
[LFLAG
] = mode
[LFLAG
] & ~
(ECHO | ICANON
)
tcsetattr(fd
, when
, mode
)