class_docstr: ::
  
      with raw_mode(stdin):
          ''' the pseudo-terminal stdin is now used in raw mode '''
  
  We ignore errors when executing `tcgetattr` fails.
code: def __init__(self, fileno: int) -> None:
      self.fileno = fileno
      self.attrs_before: list[int | list[bytes | int]] | None
      try:
          self.attrs_before = termios.tcgetattr(fileno)
      except termios.error:
          # Ignore attribute errors.
          self.attrs_before = None
  
imports: from __future__ import annotations
  import sys
  import contextlib
  import io
  import termios
  import tty
  from asyncio import AbstractEventLoop, get_running_loop
  from typing import Callable, ContextManager, Generator, TextIO
  from ..key_binding import KeyPress
  from .base import Input
  from .posix_utils import PosixStdinReader
  from .vt100_parser import Vt100Parser
label_desc: Use image node_id 1 to create a new raw_mode object  with example: obj = raw_mode(fileno)