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 __exit__(self, *a: object) -> None:
      if self.attrs_before is not None:
          try:
              termios.tcsetattr(
                  self.fileno, termios.TCSANOW, self.attrs_before
              )
          except termios.error:
              pass
  
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 5 for calling the raw_mode obj's underlying member method code with example usage: obj.__exit__() without return types