elisp: Input Modes

 
 38.13.1 Input Modes
 -------------------
 
  -- Function: set-input-mode interrupt flow meta &optional quit-char
      This function sets the mode for reading keyboard input.  If
      INTERRUPT is non-‘nil’, then Emacs uses input interrupts.  If it is
      ‘nil’, then it uses CBREAK mode.  The default setting is
      system-dependent.  Some systems always use CBREAK mode regardless
      of what is specified.
 
      When Emacs communicates directly with X, it ignores this argument
      and uses interrupts if that is the way it knows how to communicate.
 
      If FLOW is non-‘nil’, then Emacs uses XON/XOFF (‘C-q’, ‘C-s’) flow
      control for output to the terminal.  This has no effect except in
      CBREAK mode.
 
      The argument META controls support for input character codes above
      127.  If META is ‘t’, Emacs converts characters with the 8th bit
      set into Meta characters.  If META is ‘nil’, Emacs disregards the
      8th bit; this is necessary when the terminal uses it as a parity
      bit.  If META is neither ‘t’ nor ‘nil’, Emacs uses all 8 bits of
      input unchanged.  This is good for terminals that use 8-bit
      character sets.
 
      If QUIT-CHAR is non-‘nil’, it specifies the character to use for
      quitting.  Normally this character is ‘C-g’.  SeeQuitting.
 
    The ‘current-input-mode’ function returns the input mode settings
 Emacs is currently using.
 
  -- Function: current-input-mode
      This function returns the current mode for reading keyboard input.
      It returns a list, corresponding to the arguments of
      ‘set-input-mode’, of the form ‘(INTERRUPT FLOW META QUIT)’ in
      which:
      INTERRUPT
           is non-‘nil’ when Emacs is using interrupt-driven input.  If
           ‘nil’, Emacs is using CBREAK mode.
      FLOW
           is non-‘nil’ if Emacs uses XON/XOFF (‘C-q’, ‘C-s’) flow
           control for output to the terminal.  This value is meaningful
           only when INTERRUPT is ‘nil’.
      META
           is ‘t’ if Emacs treats the eighth bit of input characters as
           the meta bit; ‘nil’ means Emacs clears the eighth bit of every
           input character; any other value means Emacs uses all eight
           bits as the basic character code.
      QUIT
           is the character Emacs currently uses for quitting, usually
           ‘C-g’.