tty — Terminal control functions¶
Source code: Lib/tty.py
The tty module defines functions for putting the tty into cbreak and raw
modes.
Availability: Unix.
Because it requires the termios module, it will work only on Unix.
The tty module defines the following functions:
- tty.cfmakeraw(mode)¶
Convert the tty attribute list mode, which is a list like the one returned by
termios.tcgetattr(), to that of a tty in raw mode.Added in version 3.12.
- tty.cfmakecbreak(mode)¶
Convert the tty attribute list mode, which is a list like the one returned by
termios.tcgetattr(), to that of a tty in cbreak mode.This clears the
ECHOandICANONlocal mode flags in mode as well as setting the minimum input to 1 byte with no delay.Added in version 3.12.
3.12.2 sürümünde değişti: The
ICRNLflag is no longer cleared. This matches Linux and macOSstty cbreakbehavior and whatsetcbreak()historically did.
- tty.setraw(fd, when=termios.TCSAFLUSH)¶
Change the mode of the file descriptor fd to raw. If when is omitted, it defaults to
termios.TCSAFLUSH, and is passed totermios.tcsetattr(). The return value oftermios.tcgetattr()is saved before setting fd to raw mode; this value is returned.3.12 sürümünde değişti: The return value is now the original tty attributes, instead of
None.
- tty.setcbreak(fd, when=termios.TCSAFLUSH)¶
Change the mode of file descriptor fd to cbreak. If when is omitted, it defaults to
termios.TCSAFLUSH, and is passed totermios.tcsetattr(). The return value oftermios.tcgetattr()is saved before setting fd to cbreak mode; this value is returned.This clears the
ECHOandICANONlocal mode flags as well as setting the minimum input to 1 byte with no delay.3.12 sürümünde değişti: The return value is now the original tty attributes, instead of
None.3.12.2 sürümünde değişti: The
ICRNLflag is no longer cleared. This restores the behavior of Python 3.11 and earlier as well as matching what Linux, macOS, & BSDs describe in theirstty(1)man pages regarding cbreak mode.
Ayrıca bakınız
- Module
termios Low-level terminal control interface.