tty — Terminal-Steuerfunktionen¶
Quellcode: Lib/tty.py
Das Modul tty definiert Funktionen, um das TTY in den cbreak- und raw-Modus zu versetzen.
Verfügbarkeit: Unix.
Da es das Modul termios benötigt, funktioniert es nur unter Unix.
Das Modul tty definiert die folgenden Funktionen
- tty.cfmakeraw(mode)¶
Konvertiert die TTY-Attributliste mode, die eine Liste ist, wie sie von
termios.tcgetattr()zurückgegeben wird, in die eines TTY im Raw-Modus.Hinzugefügt in Version 3.12.
- tty.cfmakecbreak(mode)¶
Konvertiert die TTY-Attributliste mode, die eine Liste ist, wie sie von
termios.tcgetattr()zurückgegeben wird, in die eines TTY im Cbreak-Modus.Dadurch werden die lokalen Modus-Flags
ECHOundICANONin mode gelöscht und die minimale Eingabe auf 1 Byte ohne Verzögerung gesetzt.Hinzugefügt in Version 3.12.
Geändert in Version 3.12.2: Das Flag
ICRNLwird nicht mehr gelöscht. Dies entspricht dem Verhalten vonstty cbreakunter Linux und macOS und dem, wassetcbreak()historisch getan hat.
- tty.setraw(fd, when=termios.TCSAFLUSH)¶
Ändert den Modus des Dateideskriptors fd auf Raw. Wenn when weggelassen wird, ist der Standardwert
termios.TCSAFLUSHund wird antermios.tcsetattr()übergeben. Der Rückgabewert vontermios.tcgetattr()wird gespeichert, bevor fd in den Raw-Modus versetzt wird; dieser Wert wird zurückgegeben.Geändert in Version 3.12: Der Rückgabewert sind nun die ursprünglichen TTY-Attribute anstelle von
None.
- tty.setcbreak(fd, when=termios.TCSAFLUSH)¶
Ändert den Modus des Dateideskriptors fd auf Cbreak. Wenn when weggelassen wird, ist der Standardwert
termios.TCSAFLUSHund wird antermios.tcsetattr()übergeben. Der Rückgabewert vontermios.tcgetattr()wird gespeichert, bevor fd in den Cbreak-Modus versetzt wird; dieser Wert wird zurückgegeben.Dadurch werden die lokalen Modus-Flags
ECHOundICANONgelöscht und die minimale Eingabe auf 1 Byte ohne Verzögerung gesetzt.Geändert in Version 3.12: Der Rückgabewert sind nun die ursprünglichen TTY-Attribute anstelle von
None.Geändert in Version 3.12.2: Das Flag
ICRNLwird nicht mehr gelöscht. Dies stellt das Verhalten von Python 3.11 und früher wieder her und entspricht dem, was Linux, macOS & BSDs in ihrenstty(1)-Manpages bezüglich des Cbreak-Modus beschreiben.
Siehe auch
- Modul
termios Low-Level-Schnittstelle zur Terminalsteuerung.