tty — Terminalens kontrollfunktioner

Källkod: Lib/tty.py


Modulen tty definierar funktioner för att sätta tty i cbreak- och raw-läge.

Eftersom den kräver modulen termios fungerar den endast på Unix.

Modulen tty definierar följande funktioner:

tty.cfmakeraw(mode)

Konverterar tty-attributlistan mode, som är en lista liknande den som returneras av termios.tcgetattr(), till en tty i raw-läge.

Tillagd i version 3.12.

tty.cfmakecbreak(mode)

Konverterar tty-attributlistan mode, som är en lista liknande den som returneras av termios.tcgetattr(), till en tty i cbreak-läge.

Detta rensar de lokala lägesflaggorna ECHO och ICANON i mode samt ställer in minsta inmatning till 1 byte utan fördröjning.

Tillagd i version 3.12.

Ändrad i version 3.12.2: Flaggan ICRNL rensas inte längre. Detta matchar Linux och macOS stty cbreak beteende och vad setcbreak() historiskt gjorde.

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

Ändrar läget för filbeskrivaren fd till raw. Om when utelämnas, är standardvärdet termios.TCSAFLUSH, och skickas till termios.tcsetattr(). Returvärdet för termios.tcgetattr() sparas innan fd sätts till raw-läge; detta värde returneras.

Ändrad i version 3.12: Returvärdet är nu de ursprungliga tty-attributen, istället för None.

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

Ändrar läget för filbeskrivaren fd till cbreak. Om when utelämnas, är standardvärdet termios.TCSAFLUSH, och skickas till termios.tcsetattr(). Returvärdet för termios.tcgetattr() sparas innan fd sätts till cbreak-läge; detta värde returneras.

Detta rensar flaggorna för lokalt läge ECHO och ICANON samt ställer in minsta inmatning till 1 byte utan fördröjning.

Ändrad i version 3.12: Returvärdet är nu de ursprungliga tty-attributen, istället för None.

Ändrad i version 3.12.2: Flaggan ICRNL rensas inte längre. Detta återställer beteendet i Python 3.11 och tidigare samt matchar vad Linux, macOS och BSD beskriver i sina stty(1) man pages angående cbreak-läge.

Se även

Modul termios

Gränssnitt för terminalstyrning på låg nivå.