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’. Quitting.
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’.