# `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.

  New 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.

  New in version 3.12.

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 to `termios.tcsetattr()`. The return value of `termios.tcgetattr()` is saved before setting fd to raw mode; this value is returned.

  Changed in version 3.12: 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 to `termios.tcsetattr()`. The return value of `termios.tcgetattr()` is saved before setting fd to cbreak mode; this value is returned.

  Changed in version 3.12: The return value is now the original tty attributes, instead of None.

See also

Module `termios`

  Low-level terminal control interface.