tty — Funções de controle de terminal

Código-fonte: Lib/tty.py


O módulo tty define funções para colocar o tty nos modos de cbreak e não tratados (raw).

Por requerer o módulo termios, ele funcionará apenas no Unix.

O módulo tty define as seguintes funções:

tty.cfmakeraw(mode)

Converte a lista de atributos de tty mode, que é uma lista como a retornada por termios.tcgetattr(), para a de um tty em modo raw.

Novo na versão 3.12.

tty.cfmakecbreak(mode)

Converte a lista de atributos de tty mode, que é uma lista como a retornada por termios.tcgetattr(), para a de um tty em modo cbreak.

Isto limpa os sinalizadores de modo local ECHO e ICANON em mode bem como configura a entrada mínima para 1 byte sem atraso.

Novo na versão 3.12.

Alterado na versão 3.12.2: O sinalizador ICRNL não está mais limpo. Isso corresponde ao comportamento stty cbreak do Linux e macOS e ao que setcbreak() historicamente fez.

tty.setraw(fd, when=termios.TCSAFLUSH)

Altera o modo do descritor de arquivo fd para raw. Se when for omitido, o padrão é termios.TCSAFLUSH, e é passado para termios.tcsetattr(). O retorna valor de termios.tcgetattr() é salvo antes de definir fd para o modo raw; esse valor é retornado.

Alterado na versão 3.12: O valor de retorno agora é o atributos originais do tty, em vez de None.

tty.setcbreak(fd, when=termios.TCSAFLUSH)

Altera o modo de descritor de arquivo fd para cbreak. Se when for omitido, o padrão é termios.TCSAFLUSH, e é passado para termios.tcsetattr(). O retorna valor de termios.tcgetattr() é salvo antes de definir fd para o modo cbreak; esse valor é retornado.

Isto limpa os sinalizadores de modo local ECHO e ICANON bem como configura a entrada mínima para 1 byte sem atraso.

Alterado na versão 3.12: O valor de retorno agora é o atributos originais do tty, em vez de None.

Alterado na versão 3.12.2: O sinalizador ICRNL não está mais limpo. Isso restaura o comportamento do Python 3.11 e anteriores, além de corresponder ao que Linux, macOS e BSDs descrevem em suas páginas de manual stty(1) em relação ao modo cbreak.

Ver também

Módulo termios

Interface baixo nível para controle de terminal.