# `tty` --- 端末制御用の関数群

ソースコード: Lib/tty.py

`tty` モジュールは端末を cbreak および raw モードにするための関数を定義しています。

Availability: Unix.

このモジュールは `termios` モジュールを必要とするため、 Unix でしか動作しません。

`tty` モジュールでは、以下の関数を定義しています:

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 `ECHO` and `ICANON` local 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 で変更: The `ICRNL` flag is no longer cleared. This matches Linux and macOS `stty cbreak` behavior and what `setcbreak()` 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 to `termios.tcsetattr()`. The return value of `termios.tcgetattr()` is saved before setting fd to raw mode; this value is returned.

  バージョン 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.

  This clears the `ECHO` and `ICANON` local mode flags as well as setting the minimum input to 1 byte with no delay.

  バージョン 3.12 で変更: The return value is now the original tty attributes, instead of `None`.

  バージョン 3.12.2 で変更: The `ICRNL` flag is no longer cleared. This restores the behavior of Python 3.11 and earlier as well as matching what Linux, macOS, & BSDs describe in their `stty(1)` man pages regarding cbreak mode.

参考

モジュール `termios`

  低水準端末制御インターフェース。