gh-85984: New additions and improvements to the tty library. (#101832)

New additions to the tty library. Functions added: cfmakeraw(), and cfmakecbreak(). The
functions setcbreak() and setraw() now return original termios to save an extra tcgetattr() call.

---------

Signed-off-by: Soumendra Ganguly <soumendraganguly@gmail.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
This commit is contained in:
Soumendra Ganguly 2023-05-19 13:13:30 -05:00 committed by GitHub
parent 3ac856e697
commit 486bc8e030
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 77 additions and 18 deletions

View file

@ -20,18 +20,36 @@ Because it requires the :mod:`termios` module, it will work only on Unix.
The :mod:`tty` module defines the following functions:
.. function:: cfmakeraw(mode)
Convert the tty attribute list *mode*, which is a list like the one returned
by :func:`termios.tcgetattr`, to that of a tty in raw mode.
.. versionadded:: 3.12
.. function:: cfmakecbreak(mode)
Convert the tty attribute list *mode*, which is a list like the one returned
by :func:`termios.tcgetattr`, to that of a tty in cbreak mode.
.. versionadded:: 3.12
.. function:: setraw(fd, when=termios.TCSAFLUSH)
Change the mode of the file descriptor *fd* to raw. If *when* is omitted, it
defaults to :const:`termios.TCSAFLUSH`, and is passed to
:func:`termios.tcsetattr`.
:func:`termios.tcsetattr`. The return value of :func:`termios.tcgetattr`
is saved before setting *fd* to raw mode; this value is returned.
.. function:: setcbreak(fd, when=termios.TCSAFLUSH)
Change the mode of file descriptor *fd* to cbreak. If *when* is omitted, it
defaults to :const:`termios.TCSAFLUSH`, and is passed to
:func:`termios.tcsetattr`.
:func:`termios.tcsetattr`. The return value of :func:`termios.tcgetattr`
is saved before setting *fd* to cbreak mode; this value is returned.
.. seealso::