GNU Emacs Lisp Reference Manual
The editor command loop reads keyboard input using the function
read-key-sequence, which uses read-event. These and other
functions for keyboard input are also available for use in Lisp
programs. See also momentary-string-display in Temporary Displays, and sit-for in Waiting. See Terminal Input,
for functions and variables for controlling terminal input modes and
debugging terminal input.
For higher-level input facilities, see Minibuffers.