mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	 8f31af68d0
			
		
	
	
		8f31af68d0
		
			
		
	
	
	
	
		
			
			(cherry picked from commit 05c2fe1acd)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
		
	
			
		
			
				
	
	
		
			82 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| :mod:`!tty` --- Terminal control functions
 | |
| ==========================================
 | |
| 
 | |
| .. module:: tty
 | |
|    :platform: Unix
 | |
|    :synopsis: Utility functions that perform common terminal control operations.
 | |
| 
 | |
| .. moduleauthor:: Steen Lumholt
 | |
| .. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
 | |
| 
 | |
| **Source code:** :source:`Lib/tty.py`
 | |
| 
 | |
| --------------
 | |
| 
 | |
| The :mod:`tty` module defines functions for putting the tty into cbreak and raw
 | |
| modes.
 | |
| 
 | |
| .. availability:: Unix.
 | |
| 
 | |
| 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.
 | |
| 
 | |
|    This clears the ``ECHO`` and ``ICANON`` local mode flags in *mode* as well
 | |
|    as setting the minimum input to 1 byte with no delay.
 | |
| 
 | |
|    .. versionadded:: 3.12
 | |
| 
 | |
|    .. versionchanged:: 3.12.2
 | |
|       The ``ICRNL`` flag is no longer cleared. This matches Linux and macOS
 | |
|       ``stty cbreak`` behavior and what :func:`setcbreak` historically did.
 | |
| 
 | |
| 
 | |
| .. 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`. The return value of :func:`termios.tcgetattr`
 | |
|    is saved before setting *fd* to raw mode; this value is returned.
 | |
| 
 | |
|    .. versionchanged:: 3.12
 | |
|       The return value is now the original tty attributes, instead of ``None``.
 | |
| 
 | |
| 
 | |
| .. 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`. The return value of :func:`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.
 | |
| 
 | |
|    .. versionchanged:: 3.12
 | |
|       The return value is now the original tty attributes, instead of ``None``.
 | |
| 
 | |
|    .. versionchanged:: 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.
 | |
| 
 | |
| 
 | |
| .. seealso::
 | |
| 
 | |
|    Module :mod:`termios`
 | |
|       Low-level terminal control interface.
 | |
| 
 |