tty — Функции управления терминалом
Исходный код: Lib/tty.py
Модуль tty определяет функции для перевода tty в режимы cbreak и raw.
Доступность: Unix.
Поскольку модулю termios требуется, он работает только в Unix.
Модуль tty определяет следующие функции:
-
tty.cfmakeraw(mode) -
Преобразует список атрибутов tty mode — список, подобный возвращаемому функцией
termios.tcgetattr(), — в список атрибутов tty в режиме raw.Добавлено в версии 3.12.
-
tty.cfmakecbreak(mode) -
Преобразует список атрибутов tty mode — список, подобный возвращаемому функцией
termios.tcgetattr(), — в список атрибутов tty в режиме cbreak.Это сбрасывает флаги локального режима
ECHOиICANONв mode, а также устанавливает минимальный размер ввода, равный 1 байту, без задержки.Добавлено в версии 3.12.
Изменено в версии 3.12.2: Флаг
ICRNLбольше не сбрасывается. Это соответствует поведению Linux и macOSstty cbreak, а также прежнему поведению функцииsetcbreak().
-
tty.setraw(fd, when=termios.TCSAFLUSH) -
Изменяет режим файлового дескриптора fd на raw. Если параметр when не указан, по умолчанию используется
termios.TCSAFLUSH, который передаётся вtermios.tcsetattr(). Возвращаемое значениеtermios.tcgetattr()сохраняется перед переводом fd в режим raw; это значение и возвращается.Изменено в версии 3.12: Теперь возвращаются исходные атрибуты tty вместо
None.
-
tty.setcbreak(fd, when=termios.TCSAFLUSH) -
Изменяет режим файлового дескриптора fd на cbreak. Если параметр when не указан, по умолчанию используется
termios.TCSAFLUSH, который передаётся вtermios.tcsetattr(). Возвращаемое значениеtermios.tcgetattr()сохраняется перед переводом fd в режим cbreak; это значение и возвращается.Это сбрасывает флаги локального режима
ECHOиICANON, а также устанавливает минимальный размер ввода, равный 1 байту, без задержки.Изменено в версии 3.12: Теперь возвращаются исходные атрибуты tty вместо
None.Изменено в версии 3.12.2: Флаг
ICRNLбольше не сбрасывается. Это восстанавливает поведение Python 3.11 и более ранних версий, а также соответствует описаниям режима cbreak в справочных страницахstty(1)для Linux, macOS и BSD.
См. также
-
Moduletermios -
Низкоуровневый интерфейс управления терминалом.
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/tty.html